ユーザー・グループおよびポリシーの設定について

Oracle NoSQL Database Cloud Serviceは、Oracle Cloud Infrastructureアイデンティティおよびアクセス管理(IAM)を使用して、Oracle Cloudへのセキュアなアクセスを提供します。Oracle Cloud Infrastructure IAMでは、ユーザー・アカウントを作成し、表の調査、読取り、使用または管理の権限をユーザーに付与できます。

Oracle NoSQL Database Cloud Serviceのユーザー、グループおよび動的グループの管理方法は、クラウド・アカウントまたはテナンシがOracle Cloud Infrastructure Identity and Access Management (IAM)アイデンティティ・ドメインを使用するように更新されているかどうかによって異なります。Identity and Access Management (IAM)アイデンティティ・ドメインを使用するようにOCIテナンシが更新されたタイミングを簡単に判断できます。

アイデンティティ・ドメインを持つテナンシのOCIコンソールを次に示します。

IAMアイデンティティ・ドメインを使用したOCIでのユーザーの作成

アイデンティティ・ドメインのないテナンシのOCIコンソールを次に示します。

IAMを使用したOCIでのユーザーの作成

詳細は、アイデンティティ・ドメインへのアクセス権がありますか。を参照してください

アイデンティティおよびアクセス管理を使用したユーザー、グループおよびポリシーの設定

Oracle NoSQL Database Cloud Serviceは、Oracle Cloudへのセキュアなアクセスを提供するために、Oracle Cloud Infrastructure Identity and Access Management (IAM)を使用します。Oracle Cloud Infrastructure IAMでは、ユーザー・アカウントを作成し、表の調査、読取り、使用または管理の権限をユーザーに付与できます。

(API署名キーを使用して)ユーザー・プリンシパルとして認証する場合は、ユーザー、グループおよびポリシーの設定を参照してください。または、Instance Principalまたはリソース・プリンシパルとして認証する場合は、動的グループおよびポリシーの設定を参照してください。

ユーザー、グループおよびポリシーの設定

  1. Cloud Account Administratorとしてクラウド・アカウントにサインインします。
  2. Oracle Cloud Infrastructure Consoleで、1人以上のユーザーを追加します。
    • テナンシに基づいて、次のいずれかを選択します(アイデンティティ・ドメインがあるか、アイデンティティ・ドメインがないか)。
      • アイデンティティ・ドメインのあるテナンシ:ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ドメイン」をクリックします。作業するアイデンティティ・ドメインを選択し、「ユーザー」をクリックします。
      • アイデンティティ・ドメインのないテナンシ:ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ユーザー」をクリックします。
    • 「ユーザーの作成」をクリックします。
    • ユーザーの詳細を入力し、「作成」をクリックします。
  3. Oracle Cloud Infrastructure Consoleで、OCIグループを作成します。
    • テナンシに基づいて、次のいずれかを選択します(アイデンティティ・ドメインがあるか、アイデンティティ・ドメインがないか)。
      • アイデンティティ・ドメインのあるテナンシ:ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ドメイン」をクリックします。作業するアイデンティティ・ドメインを選択し、「グループ」をクリックします。
      • アイデンティティ・ドメインのないテナンシ:ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「グループ」をクリックします。
    • 「グループの作成」をクリックします。
    • グループに関する詳細を入力します。たとえば、Oracle NoSQL Database Cloud Service表を完全に管理する権限をユーザーに付与するポリシーを作成する場合は、グループにnosql_service_admin (または同様)という名前を付け、Oracle Cloud InfrastructureOracle NoSQL Database Cloud Service表を設定および管理する権限を持つユーザー」などの短い説明(または同様)を含めます。
  4. OCIグループに属するユーザーに、Oracle NoSQL Database Cloud Service表またはコンパートメントに対する特定のアクセス権限を付与するポリシーを作成します。
  5. Oracle NoSQL Database Cloud Service SDKを介してNoSQL表を管理および使用するには、ユーザーがAPIキーを設定する必要があります。Oracle NoSQL Databaseに接続するための認証を参照してください。

    ノート:

    また、フェデレーテッド・ユーザーは、Oracle NoSQL Database Cloud Service表を管理および使用することもできます。This requires the service administrator to set up the federation in Oracle Cloud Infrastructure Identity and Access Management.アイデンティティ・プロバイダによるフェデレートを参照してください。

    ポリシー・ステートメントに記述されたグループに属するユーザーは、コンソールに次回サインインしたときに新しい権限を取得します。

動的グループとポリシーの設定

リソース・プリンシパルまたはインスタンス・プリンシパルのいずれかを使用してOracle Cloud Infrastructureリソースをコールする前に、Oracle Cloud Infrastructureテナント管理者は、リソース・プリンシパルまたはインスタンス・プリンシパルの権限を定義するOracle Cloud Infrastructureポリシー、動的グループおよびルールを作成する必要があります。
  • Cloud Account Administratorとしてクラウド・アカウントにサインインします。
  • Oracle Cloud Infrastructure Consoleで、動的グループを作成します。
    • テナンシに基づいて、次のいずれかを選択します(アイデンティティ・ドメインがあるか、アイデンティティ・ドメインがないか)。
      • アイデンティティ・ドメインのあるテナンシ:ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ドメイン」をクリックします。作業するアイデンティティ・ドメインを選択し、「動的グループ」をクリックします。
      • アイデンティティ・ドメインのないテナンシ:ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「動的グループ」をクリックします。
    • 「動的グループの作成」をクリックし、名前、説明およびルールを入力するか、Rule Builderを使用してルールを追加します。
    • 「作成」をクリックします。
      ルール基準を満たすリソースが動的グループのメンバーになります。動的グループのルールを定義する場合は、どのリソースに他のリソースへのアクセス権を付与するかを検討します。ルールの作成例を次に示します。
      1. 関数の照合ルール:
        ALL {resource.type = 'fnfunc',resource.compartment.id =
        'ocid1.compartment.oc1..aaaaaaaafml3tca3zcxyifmdff3aadp5uojimgx3cdnirgup6rhptxwnandq'} 
        このルールは、指定されたコンパートメント内のfnfuncというリソース・タイプ(前述のIDを持つ)が動的グループのメンバーであることを意味します。

        ノート:

        様々なリソース・タイプの詳細は、リソース・タイプを参照してください。
      2. Instance Principalsのインスタンスを追加する際のルール:
        ALL { instance.compartment.id =
              'ocid1.compartment.oc1..aaaaaaaa4mlehopmvdluv2wjcdp4tnh2ypjz3nhhpahb4ss7yvxaa3be3diq'}

        このルールは、上で指定したコンパートメントIDを持つインスタンスが動的グループのメンバーであることを意味します。

      3. APIゲートウェイを関数とともに使用する場合のルール:
        ALL {resource.type = 'ApiGateway',resource.compartment.id =
              'ocid1.compartment.oc1..aaaaaaaafml3tca3zcxyifmdff3aadp5uojimgx3cdnirgup6rhptxwnandq'}

        このルールは、指定されたコンパートメント内のApiGatewayというリソース・タイプ(前述のID)が動的グループのメンバーであることを意味します。

      4. コンテナ・インスタンスを使用する場合のルール:
        ALL {resource.type = 'computecontainerinstance', 
        resource.compartment.id = 
        'ocid1.compartment.oc1..aaaaaaaa4mlehopmvdluv2wjcdp4tnh2ypjz3nhhpahb4ss7yvxaa3be3diq'}

        このルールは、指定されたコンパートメント内のcomputecontainerinstanceというリソース・タイプ(前述のID)が動的グループのメンバーであることを意味します。

    ノート:

    継承は動的グループには適用されません。IAMアクセス・ポリシーの使用中に、親コンパートメントのポリシーはすべての子コンパートメントに自動的に適用されます。動的グループを使用する場合、このようなことはありません。コンパートメントが適格になるには、動的グループ内の各コンパートメントを個別にリストする必要があります。
    例:親子コンパートメントのファンクションの一致ルール:
    ALL {resource.type = 'fnfunc',
    ANY{resource.compartment.id = '<parent-compid>',  resource.compartment.id = '<child-compid1>',
    resource.compartment.id = '<child-compid2>', ...}}
  • 動的グループのポリシー・ステートメントを記述して、Oracle Cloud Infrastructureリソースへのアクセスを有効にします。
    • Oracle Cloud Infrastructureコンソールで、「アイデンティティとセキュリティ」をクリックし、「ポリシー」をクリックします。
    • 動的グループのポリシーを記述するには、「ポリシーの作成」をクリックし、名前と説明を入力します。
    • ポリシー・ビルダーを使用してポリシーを作成します。ポリシーを定義する一般的な構文を次に示します。
      Allow <subject> to <verb> <resource-type> in <location> where <conditions>
      • サブジェクトの構文: 1つ以上のグループを名前またはOCIDで区切ります。
      • 動詞:値はinspect、read、useまたはmanageです。
      • resource-type:個々のリソース・タイプ、ファミリ・リソース・タイプ(nosql-familyなど)、またはall-resources。
      • コンパートメント: 名前またはOCIDによる単一のコンパートメントまたはコンパートメント・パス
      例: このポリシーでは、動的グループnosql_applicationに、fnfuncがコンパートメントUATnosqlのリソースに対するアクセスを使用できます。
      allow dynamic-group nosql_application to use  fnfunc in compartment UATnosql

      例:このポリシーでは、動的グループnosql_applicationに、コンパートメントUATnosqlのファミリ・リソースnosql-familyに対するmanageアクセスを許可します。

    • 「作成」をクリックします。ポリシーの詳細は、ポリシーの管理を参照してください。