ユーザー・グループおよびポリシーの設定について
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コンソールを次に示します。
アイデンティティ・ドメインのないテナンシのOCIコンソールを次に示します。
詳細は、アイデンティティ・ドメインへのアクセス権がありますか。を参照してください
アイデンティティおよびアクセス管理を使用したユーザー、グループおよびポリシーの設定
Oracle NoSQL Database Cloud Serviceは、Oracle Cloudへのセキュアなアクセスを提供するために、Oracle Cloud Infrastructure Identity and Access Management (IAM)を使用します。Oracle Cloud Infrastructure IAMでは、ユーザー・アカウントを作成し、表の調査、読取り、使用または管理の権限をユーザーに付与できます。
(API署名キーを使用して)ユーザー・プリンシパルとして認証する場合は、ユーザー、グループおよびポリシーの設定を参照してください。または、Instance Principalまたはリソース・プリンシパルとして認証する場合は、動的グループおよびポリシーの設定を参照してください。
ユーザー、グループおよびポリシーの設定
- Cloud Account Administratorとしてクラウド・アカウントにサインインします。
- Oracle Cloud Infrastructure Consoleで、1人以上のユーザーを追加します。
- テナンシに基づいて、次のいずれかを選択します(アイデンティティ・ドメインがあるか、アイデンティティ・ドメインがないか)。
- アイデンティティ・ドメインのあるテナンシ:ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ドメイン」をクリックします。作業するアイデンティティ・ドメインを選択し、「ユーザー」をクリックします。
- アイデンティティ・ドメインのないテナンシ:ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ユーザー」をクリックします。
- 「ユーザーの作成」をクリックします。
- ユーザーの詳細を入力し、「作成」をクリックします。
- テナンシに基づいて、次のいずれかを選択します(アイデンティティ・ドメインがあるか、アイデンティティ・ドメインがないか)。
- Oracle Cloud Infrastructure Consoleで、OCIグループを作成します。
- テナンシに基づいて、次のいずれかを選択します(アイデンティティ・ドメインがあるか、アイデンティティ・ドメインがないか)。
- アイデンティティ・ドメインのあるテナンシ:ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ドメイン」をクリックします。作業するアイデンティティ・ドメインを選択し、「グループ」をクリックします。
- アイデンティティ・ドメインのないテナンシ:ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「グループ」をクリックします。
- 「グループの作成」をクリックします。
- グループに関する詳細を入力します。たとえば、Oracle NoSQL Database Cloud Service表を完全に管理する権限をユーザーに付与するポリシーを作成する場合は、グループにnosql_service_admin (または同様)という名前を付け、「Oracle Cloud InfrastructureでOracle NoSQL Database Cloud Service表を設定および管理する権限を持つユーザー」などの短い説明(または同様)を含めます。
- テナンシに基づいて、次のいずれかを選択します(アイデンティティ・ドメインがあるか、アイデンティティ・ドメインがないか)。
- OCIグループに属するユーザーに、Oracle NoSQL Database Cloud Service表またはコンパートメントに対する特定のアクセス権限を付与するポリシーを作成します。
- ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ポリシー」をクリックします。
- コンパートメントを選択して、「ポリシーの作成」をクリックします。
詳細は、ポリシー・リファレンスおよび表を管理するための一般的なポリシー・ステートメントを参照してください。
ポリシーの仕組みを知らない場合は、ポリシーの仕組みを参照してください。
- Oracle NoSQL Database Cloud Service SDKを介してNoSQL表を管理および使用するには、ユーザーがAPIキーを設定する必要があります。Oracle NoSQL Databaseに接続するための認証を参照してください。
ノート:
また、フェデレーテッド・ユーザーは、Oracle NoSQL Database Cloud Service表を管理および使用することもできます。これには、サービス管理者がOracle Cloud Infrastructure Identity and Access Managementでフェデレーションを設定する必要があります。アイデンティティ・プロバイダによるフェデレートを参照してください。ポリシー・ステートメントに記述されたグループに属するユーザーは、コンソールに次回サインインしたときに新しい権限を取得します。
動的グループとポリシーの設定
- Cloud Account Administratorとしてクラウド・アカウントにサインインします。
- Oracle Cloud Infrastructure Consoleで、動的グループを作成します。
- テナンシに基づいて、次のいずれかを選択します(アイデンティティ・ドメインがあるか、アイデンティティ・ドメインがないか)。
- アイデンティティ・ドメインのあるテナンシ:ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ドメイン」をクリックします。作業するアイデンティティ・ドメインを選択し、「動的グループ」をクリックします。
- アイデンティティ・ドメインのないテナンシ:ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「動的グループ」をクリックします。
- 「動的グループの作成」をクリックし、名前、説明およびルールを入力するか、Rule Builderを使用してルールを追加します。
- 「作成」をクリックします。
ルール基準を満たすリソースが動的グループのメンバーになります。動的グループのルールを定義する場合は、どのリソースに他のリソースへのアクセス権を付与するかを検討します。ルールの作成例を次に示します。
- 関数の照合ルール:
ALL {resource.type = 'fnfunc',resource.compartment.id = 'ocid1.compartment.oc1..aaaaaaaafml3tca3zcxyifmdff3aadp5uojimgx3cdnirgup6rhptxwnandq'}
このルールは、指定されたコンパートメント内のfnfunc
というリソース・タイプ(前述のIDを持つ)が動的グループのメンバーであることを意味します。ノート:
様々なリソース・タイプの詳細は、リソース・タイプを参照してください。 - Instance Principalsのインスタンスを追加する際のルール:
ALL { instance.compartment.id = 'ocid1.compartment.oc1..aaaaaaaa4mlehopmvdluv2wjcdp4tnh2ypjz3nhhpahb4ss7yvxaa3be3diq'}
このルールは、上で指定したコンパートメントIDを持つインスタンスが動的グループのメンバーであることを意味します。
- APIゲートウェイを関数とともに使用する場合のルール:
ALL {resource.type = 'ApiGateway',resource.compartment.id = 'ocid1.compartment.oc1..aaaaaaaafml3tca3zcxyifmdff3aadp5uojimgx3cdnirgup6rhptxwnandq'}
このルールは、指定されたコンパートメント内の
ApiGateway
というリソース・タイプ(前述のID)が動的グループのメンバーであることを意味します。 - コンテナ・インスタンスを使用する場合のルール:
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
アクセスを許可します。 - 「作成」をクリックします。ポリシーの詳細は、ポリシーの管理を参照してください。