Oracle Cloud Infrastructureドキュメント

ネットワークおよびファンクション関連リソースへのアクセスを制御するポリシーの作成

ユーザーがOracle Functionsを使用してファンクションの作成およびデプロイを開始するには、テナンシ管理者として、ファンクション関連およびネットワーク・リソースへのアクセス権を付与するために、多数のOracle Cloud Infrastructureポリシーを作成する必要があります。 次のことを実行する必要があります:

ポリシーの詳細は、「ファンクションの詳細」を参照してください。

Oracle Functions用に作成するポリシーのサマリー

指定するポリシー: ポリシーを作成する場所: 文: 詳細および例:
ユーザーは、「Oracle Cloud Infrastructureレジストリ」のリポジトリにアクセス ルート・コンパートメント Allow group <group-name> to manage repos in tenancy
  • Oracle FunctionsユーザーにOracle Cloud Infrastructureレジストリ・リポジトリへのアクセス権を付与するためのポリシーの作成
  • ユーザーがファンクション関連のリソースにアクセス ファンクション関連のリソースを所有するコンパートメント Allow group <group-name> to manage functions-family in compartment <compartment-name>

    Allow group <group-name> to read metrics in compartment <compartment-name>

    Oracle Functionsユーザーにファンクション関連リソースへのアクセス権を付与するポリシーの作成

    ユーザーはネットワーク・リソースにアクセス ネットワーク・リソースを所有するコンパートメント Allow group <group-name> to use virtual-network-family in compartment <compartment-name>

    Oracle Functionsユーザーにネットワーク・リソースへのアクセス権を付与するためのポリシーの作成

    ネットワーク・リソースへのOracle Functionsサービス・アクセス

    ルート・コンパートメント

    Allow service FaaS to use virtual-network-family in compartment <compartment-name>

    ネットワーク・リソースへのOracle Functionsサービス・アクセスを提供するためのポリシーの作成

    「Oracle Cloud Infrastructureレジストリ」のリポジトリへのOracle Functionsサービス・アクセス

    ルート・コンパートメント

    Allow service FaaS to read repos in tenancy

    Oracle Cloud InfrastructureレジストリでリポジトリへのOracle Functionsサービス・アクセスを提供するポリシーの作成

    Oracle Functionsユーザーに「Oracle Cloud Infrastructureレジストリ」リポジトリへのアクセス権を付与するためのポリシーの作成

    Oracle Functionsユーザーがファンクションを使用する場合、「Oracle Cloud Infrastructureレジストリ」のリポジトリにアクセスする必要があります。 ユーザーは、自分が属するグループにアクセス権が付与されているリポジトリにのみアクセスできます。 ユーザーがリポジトリにアクセスできるようにするには、アイデンティティ・ポリシーを作成して、リポジトリへのグループのアクセス権を付与する必要があります。

    Oracle FunctionsユーザーにOracle Cloud Infrastructureレジストリのリポジトリへのアクセス権を付与するポリシーを作成するには:

    1. テナンシ管理者としてコンソールにログインし、ルート・コンパートメントに新規ポリシーを作成します:

      1. 「ナビゲーション・メニュー」を開きます。 ガバナンスと管理の下で、アイデンティティに行き、「ポリシー」をクリックします。

      2. 「ポリシーを作成するには」の指示に従って、ポリシー名を指定します(たとえば、acme-functions-developers-ocir-access)。
    2. Oracle Cloud Infrastructureレジストリのリポジトリへのアクセス権をグループに付与するためのポリシー文を指定します:

      Allow group <group-name> to manage repos in tenancy

      ここで、<group-name>は、Oracle Functionsを使用するユーザーが属するグループの名前です。

      例えば:

      Allow group acme-functions-developers to manage repos in tenancy

      前述のポリシー文は、テナンシのすべてのリポジトリを管理するためのグループ権限を付与します。 これが許可すぎると思われる場合は、manage repos文にwhere句を含めることで、グループがアクセス権を持つリポジトリを制限できます。 where句を含む場合は、ポリシーに2番目の文も含め、グループがテナンシ(コンソールを使用している場合)のすべてのリポジトリを検査できるようにする必要があります。

      たとえば、次のポリシー文は、'acme-web-app'という名前のリポジトリのみにアクセスするようにグループを制限しますが、グループがテナンシ内のすべてのリポジトリを検査できるようにします:

      Allow group acme-functions-developers to inspect repos in tenancy
      
      Allow group acme-functions-developers to manage repos in tenancy where all {target.repo.name=/acme-web-app*/ }
      						
    3. 「作成」をクリックします

    Oracle Functionsユーザーにファンクション関連リソースへのアクセス権を付与するポリシーの作成

    Oracle Functionsユーザーが関数およびアプリケーションを作成するとき、これらの関数関連リソース(Oracle Functionsが表示するメトリックを含む)のコンパートメントを指定する必要があります。 ユーザーは、自分が属するグループにアクセス権が付与されているコンパートメントのみ指定できます。 ユーザーがコンパートメントを指定できるようにするには、コンパートメントへのアクセス権をグループに付与するためのアイデンティティ・ポリシーを作成する必要があります。

    Oracle Functionsユーザーに、それらのリソースを所有するコンパートメント内のファンクション関連リソースへのアクセス権を付与するポリシーを作成するには:

    1. テナンシ管理者としてコンソールにログインし、Oracle Functionsリソースを所有するコンパートメントに新規ポリシーを作成します:
      1. 「ナビゲーション・メニュー」を開きます。 ガバナンスと管理の下で、アイデンティティに行き、「ポリシー」をクリックします。

      2. 「ポリシーを作成するには」の指示に従って、ポリシー名を指定します(たとえば、acme-functions-developers-manage-access)。
    2. グループにコンパートメント内のすべてのファンクション関連リソースへのアクセス権を付与するには、ポリシー文を指定します:

      Allow group <group-name> to manage functions-family in compartment <compartment-name>

      例えば:

      Allow group acme-functions-developers to manage functions-family in compartment acme-functions-compartment
    3. Oracle Functionsによって生成されるメトリックへのグループ・アクセス権を付与する2つ目のポリシー文を指定します:

      Allow group <group-name> to read metrics in compartment <compartment-name>

      例えば:

      Allow group acme-functions-developers to read metrics in compartment acme-functions-compartment
    4. 「作成」をクリックします

    Oracle Functionsユーザーにネットワーク・リソースへのアクセス権を付与するためのポリシーの作成

    Oracle Functionsユーザーがファンクションまたはアプリケーションを作成する場合は、VCNおよび作成するサブネットを指定する必要があります。 ユーザーは、自分が属するグループにアクセス権が付与されているコンパートメント内のVCNおよびサブネットのみ指定できます。 ユーザーがVCNとサブネットを指定できるようにするには、グループにコンパートメントへのアクセス権を付与するためのアイデンティティ・ポリシーを作成する必要があります。

    Oracle Functionsユーザーにネットワーク・リソースへのアクセス権を付与するポリシーを作成するには:

    1. テナンシ管理者としてコンソールにログインし、ネットワーク・リソースを所有するコンパートメントに新規ポリシーを作成します:
      1. 「ナビゲーション・メニュー」を開きます。 ガバナンスと管理の下で、アイデンティティに行き、「ポリシー」をクリックします。

      2. 「ポリシーを作成するには」の指示に従って、ポリシー名を指定します(たとえば、acme-functions-developers-manage-network-access)。
    2. コンパートメント内のネットワーク・リソースへのアクセス権をグループに付与するポリシー文を指定します:

      Allow group <group-name> to use virtual-network-family in compartment <compartment-name>

      例えば:

      Allow group acme-functions-developers to use virtual-network-family in compartment acme-network
    3. 「作成」をクリックします

    ネットワーク・リソースへのOracle Functionsサービス・アクセスを提供するためのポリシーの作成

    Oracle Functionsユーザーがファンクションまたはアプリケーションを作成する場合は、VCNおよび作成するサブネットを指定する必要があります。 指定されたVCNおよびサブネット内にファンクションまたはアプリケーションをOracle Functionsサービスが作成できるようにするには、ネットワーク・リソースが属するコンパートメントへのOracle Functionsサービス・アクセス権を付与するためのアイデンティティ・ポリシーを作成する必要があります。

    Oracle Functionsサービスにネットワーク・リソースへのアクセス権を付与するポリシーを作成するには:

    1. テナンシ管理者としてコンソールにログインします。
    2. ルート・コンパートメントに新規のポリシーを作成します:
      1. 「ナビゲーション・メニュー」を開きます。 ガバナンスと管理の下で、アイデンティティに行き、「ポリシー」をクリックします。

      2. 「ポリシーを作成するには」の指示に従って、ポリシー名を指定します(たとえば、functions-service-network-access)。
      3. コンパートメント内のネットワーク・リソースへのOracle Functionsサービス・アクセス権を付与するポリシー文を指定します:

        Allow service FaaS to use virtual-network-family in compartment <compartment-name>

        例えば:

        Allow service FaaS to use virtual-network-family in compartment acme-network
    3. 「作成」をクリックします

    「Oracle Cloud Infrastructureレジストリ」でリポジトリへのOracle Functionsサービス・アクセスを提供するポリシーの作成

    Oracle Functionsサービスは、「Oracle Cloud Infrastructureレジストリ」のリポジトリに格納されているファンクションに対するイメージの読取りアクセス権を持っている必要があります。 Oracle Functionsサービスで「Oracle Cloud Infrastructureレジストリ」のリポジトリにアクセスできるようにするには、アイデンティティ・ポリシーを作成する必要があります。

    Oracle Cloud InfrastructureレジストリのリポジトリへのOracle Functionsサービス・アクセス権を付与するポリシーを作成するには:

    1. テナンシ管理者としてコンソールにログインします。
    2. ルート・コンパートメントに新規のポリシーを作成します:
      1. 「ナビゲーション・メニュー」を開きます。 ガバナンスと管理の下で、アイデンティティに行き、「ポリシー」をクリックします。

      2. 「ポリシーを作成するには」の指示に従って、ポリシー名を指定します(たとえば、functions-service-repos-access)。
      3. ポリシー文を指定して、テナンシのすべてのリポジトリへのOracle Functionsサービス・アクセス権を付与します:

        Allow service FaaS to read repos in tenancy

        前述のポリシー文によって、テナンシのすべてのリポジトリに対するOracle Functionsサービス・アクセス権が付与されます。 これが許可すぎると思われる場合は、read repos文にwhere句を含めることによって、Oracle Functionsがアクセス権を持つリポジトリを制限できます。

        たとえば、次のポリシー文では、Oracle Functionsが、'acme-web-app'という名前のリポジトリのみにアクセスするように制限されます:

        Allow service FaaS to read repos in tenancy where all {target.repo.name=/acme-web-app*/ }
        						
    3. 「作成」をクリックします