ユーザー・グループおよびポリシーの設定について
Oracle NoSQL Database Cloud Serviceは、Oracle Cloud Infrastructure Identity and Access Management (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コンソールを次に示します。

詳細は、アイデンティティ・ドメインへのアクセス権がありますか。を参照してください。
Identity and Access Managementを使用したユーザー、グループ、動的グループおよびポリシーの設定
Oracle NoSQL Database Cloud Serviceは、Oracle Cloud Infrastructure Identity and Access Management (IAM)を使用して、Oracle Cloudへのセキュアなアクセスを提供します。Oracle Cloud Infrastructure IAMを使用すると、ユーザー・アカウントを作成し、表の調査、読取り、使用または管理の権限をユーザーに付与することができます。
(API署名キーを使用して)ユーザー・プリンシパルとして認証する場合は、「ユーザー、グループおよびポリシーの設定」を参照してください。または、Instance Principalまたはリソース・プリンシパルとして認証する場合は、「動的グループおよびポリシーの設定」を参照してください。
ユーザー、グループおよびポリシーを設定する
-
クラウド・アカウント管理者としてのクラウド・ アカウントへのサインイン。
-
Oracle Cloud Infrastructure Consoleで、1人以上のユーザーを追加します。
-
テナンシに基づいて次のいずれかを選択します(アイデンティティ・ドメインがあるか、アイデンティティ・ドメインがないか)。
-
アイデンティティ・ドメインのあるテナンシ:次を実行します:
-
ナビゲーション・メニューを開き、「アイデンティティおよびセキュリティ」を選択します。
-
「アイデンティティ」で、「ドメイン」を選択します。これにより、「ドメイン」ページが開きます。
-
「適用済フィルタ」の横にある「コンパートメント」フィルタを選択します。ドロップダウン・リストからコンパートメントを選択し、「フィルタの適用」を選択します。
-
作業するアイデンティティ・ドメインを選択します。「ユーザー管理」タブで、「ユーザー」セクションに移動します。
-
-
アイデンティティ・ドメインのないテナンシ:ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」を選択します。「アイデンティティ」で、「ユーザー」を選択します。
-
-
「作成」を選択します。
-
ユーザーに関する詳細を入力し、「作成」を選択します。
-
-
Oracle Cloud Infrastructure Consoleで、OCIグループを作成します。
-
テナンシに基づいて次のいずれかを選択します(アイデンティティ・ドメインがあるか、アイデンティティ・ドメインがないか)。
-
アイデンティティ・ドメインのあるテナンシ:次を実行します:
-
ナビゲーション・メニューを開き、「アイデンティティおよびセキュリティ」を選択します。
-
「アイデンティティ」で、「ドメイン」を選択します。「ドメイン」ページが開きます。
-
「適用済フィルタ」の横にある「コンパートメント」フィルタを選択します。ドロップダウン・リストからコンパートメントを選択し、「フィルタの適用」を選択します。
-
作業するアイデンティティ・ドメインを選択します。「ユーザー管理」タブで、「グループ」セクションまで下にスクロールします。
-
-
アイデンティティ・ドメインのないテナンシ:ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」を選択します。「アイデンティティ」で、「グループ」を選択します。
-
-
「グループの作成」を選択します。
-
グループに関する詳細を入力します。たとえば、Oracle NoSQL Database Cloud Serviceの表を完全に管理する権限をユーザーに付与するポリシーを作成する場合は、グループにnosql_service_adminという名前(または同様の名前)を付け、「Oracle Cloud InfrastructureでNoSQL Database Cloud Servicetablesを設定および管理する権限を持つユーザー」などの短い説明(または同様のコメント)を含めます。
-
「作成」を選択します。
-
-
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でフェデレーションを設定する必要があります。アイデンティティ・プロバイダによるフェデレートを参照してください。
ポリシー・ステートメントに記述されたグループに属するユーザーは、コンソールに次回サインインしたときに新しい権限を取得します。
動的グループとポリシーの設定
リソース・プリンシパルまたはインスタンス・プリンシパルのいずれかを使用してOracle Cloud Infrastructureリソースをコールする前に、Oracle Cloud Infrastructureテナンシ管理者が、リソース・プリンシパルまたはインスタンス・プリンシパル権限を定義するOracle Cloud Infrastructureポリシー、動的グループおよびルールを作成する必要があります。
-
クラウド・アカウント管理者としてのクラウド・ アカウントへのサインイン。
-
Oracle Cloud Infrastructure Consoleで、動的グループを作成します。
-
テナンシに基づいて次のいずれかを選択します(アイデンティティ・ドメインがあるか、アイデンティティ・ドメインがないか)。
-
アイデンティティ・ドメインを持つテナンシ:
-
ナビゲーション・メニューを開き、「アイデンティティおよびセキュリティ」を選択します。
-
「アイデンティティ」で、「ドメイン」を選択します。「ドメイン」ページが開きます。
-
「適用済フィルタ」の横にある「コンパートメント」フィルタを選択します。ドロップダウン・リストからコンパートメントを選択し、「フィルタの適用」を選択します。
-
作業するアイデンティティ・ドメインを選択し、「動的グループ」タブを選択します。
-
-
アイデンティティ・ドメインのないテナンシ:ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」を選択します。「アイデンティティ」で、「動的グループ」を選択します。
-
-
「動的グループの作成」を選択し、名前、説明およびルールを入力するか、Rule Builderを使用してルールを追加します。
-
「作成」を選択します。
ルール基準を満たすリソースは、動的グループのメンバーです。動的グループのルールを定義する場合は、他のリソースへのアクセス権を付与するリソースを検討します。ルールの作成例:
-
関数の照合ルール:
ALL {resource.type = 'fnfunc',resource.compartment.id = 'ocid1.compartment.oc1..aaaaaaaafml3tca3zcxyifmdff3aadp5uojimgx3cdnirgup6rhptxwnandq'}このルールは、指定されたコンパートメント(前述のIDを持つ)の
fnfuncというリソース・タイプが動的グループのメンバーであることを意味します。ノート:様々なリソース・タイプの詳細は、「リソース・タイプ」を参照してください。
-
Instance Principalsのインスタンスを追加する場合のルール:
ALL { instance.compartment.id = 'ocid1.compartment.oc1..aaaaaaaa4mlehopmvdluv2wjcdp4tnh2ypjz3nhhpahb4ss7yvxaa3be3diq'}このルールは、上で指定したコンパートメントIDを持つインスタンスが、動的グループのメンバーであることを意味します。
-
関数でAPIゲートウェイを使用する場合のルール:
ALL {resource.type = 'ApiGateway',resource.compartment.id = 'ocid1.compartment.oc1..aaaaaaaafml3tca3zcxyifmdff3aadp5uojimgx3cdnirgup6rhptxwnandq'}このルールは、(前述のIDを使用して)指定されたコンパートメント内の
ApiGatewayというリソース・タイプが、動的グループのメンバーであることを意味します。 -
コンテナ・インスタンスを使用する場合のルール:
ALL {resource.type = 'computecontainerinstance', resource.compartment.id = 'ocid1.compartment.oc1..aaaaaaaa4mlehopmvdluv2wjcdp4tnh2ypjz3nhhpahb4ss7yvxaa3be3diq'}このルールは、(前述のIDを使用して)指定されたコンパートメント内の
computecontainerinstanceというリソース・タイプが、動的グループのメンバーであることを意味します。
ノート:継承は動的グループには適用されません。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>-
サブジェクトの構文:名前またはOCIDで複数のグループをカンマで区切って指定します。
-
動詞:値はinspect、read、useまたはmanageです。
-
resource-type:個々のリソース・タイプ、ファミリ・リソース・タイプ(nosql-familyなど)またはオールリソース。
-
コンパートメント: 名前またはOCIDによる単一のコンパートメントまたはコンパートメントのパス
例:このポリシーにより、動的グループ
nosql_applicationに、コンパートメントUATnosqlのリソースに対するfnfunc使用アクセスが許可されます。allow dynamic-group nosql_application to use fnfunc in compartment UATnosql例:このポリシーにより、動的グループ
nosql_applicationに、コンパートメントUATnosqlのファミリ・リソースnosql-familyに対するmanageアクセスが許可されます。 -
-
「作成」を選択します。ポリシーの詳細は、「ポリシー管理」を参照してください。
-