クロステナンシ・ポリシー
組織は、他のテナンシのリソースにアクセスする場合や、独自のテナンシを持つ別の組織とリソースを共有する場合があります。もう1つの組織は、会社内の別のビジネス・ユニット、会社の顧客、会社にサービスを提供する会社などの場合があります。そのような場合、通常必要なポリシーに加えて、テナンシ・ポリシーが必要です。
リソースにアクセスして共有するには、両方のテナンシの管理者は、アクセスと共有が可能なリソースを明示的に示す特別なクロス・テナンシ・ポリシー・ステートメントを作成する必要があります。これらの特別なステートメントは、「承認」、「許可」および「定義」という語句を使用します。
承認、許可および定義ステートメント
クロス・テナンシ・ステートメントで使用される特別な動詞の概要:
- 承認: 独自のテナンシ内のグループが他のテナンシ内で実行できる一般的な機能セットを示します。Endorseステートメントは、境界を越えて他のテナントにアクセスし、そのテナンシのリソースを使用するユーザーのグループを含むテナンシに常に属します。例では、このテナントをグループ・テナンシと呼んでいます。
- 許可: 他のテナントからグループに付与する独自のテナンシの機能の種類を示します。許可ステートメントは、テナンシへのアクセスを許可するテナンシに属します。許可ステートメントは、グループ・テナンシからのリソース・アクセスを必要とし、対応する承認ステートメントで特定されるユーザーのグループを識別します。例では、このテナントをリソース・テナンシと呼んでいます。
-
定義: 承認および許可ポリシー・文のテナンシOCIDに別名を割り当てます。「許可」ステートメントのグループ・テナンシからIAMグループOCIDに別名を割り当てるには、リソース・テナンシに「定義」ステートメントも必要です。エイリアスは、選択したわかりやすい名前です。テナンシまたはグループの実際の表示名を使用する必要はありません。
Defineステートメントは、EndorseまたはAdmitステートメントと同じポリシー・エンティティに含めます。
承認文と承認文は連携して動作します。Endorseステートメントがグループ・テナンシに存在するのに対し、Admitステートメントはリソース・テナンシに存在します。アクセス権を指定する対応する文がない場合、特定の承認または許可文はアクセス権を与えません。両方のテナントがアクセスに同意する必要があります。
子コンパートメントではなく、テナンシのルート・コンパートメントにクロステナンシ・ステートメントを定義する必要があります。
説明するために、可能な1つのクロステナンシ構成の例を次に示します。リソース(接続、シークレットおよびプライベート・エンドポイント)は、それらにアクセスできるグループとは異なるテナンシにあります。

グループ・テナンシのポリシー・ステートメント
グループ・テナンシ管理者は、次のポリシー・ステートメントを作成します:
- リソース・テナンシの別名を定義します。リソース・テナンシ管理者は、リソース・テナンシのOCIDを指定する必要があります。
- テナンシのIAMグループをエンドースして、リソース・テナンシのリソースにアクセスします。
次に、テナンシ内のすべてのデータベース・ツール・リソースに対してすべての操作を実行するためにDatabaseToolsAdministrators
というテナンシのIAMグループを支持する広範なポリシー・ステートメントの例を示します:
Endorse group DatabaseToolsAdministrators to manage database-tools-family in any-tenancy
スコープをすべてのテナンシから単一のリソース・テナンシに減らすポリシーを記述するには、リソース・テナンシ管理者が提供するリソース・テナンシOCIDを参照する必要があります。次に、ResourceTenancy
と呼ばれるテナンシのデータベース・ツール・リソースを管理するためにグループDatabaseToolsAdministrators
を支持するポリシー・ステートメントの例を示します:
Define tenancy ResourceTenancy as <resource_tenancy_ocid>
Endorse group DatabaseToolsAdministrators to manage database-tools-family in tenancy ResourceTenancy
グループは、最低限必要な権限がある場合にのみ承認する必要があります。次に、データベース・ツール接続を使用し、ResourceTenancy
でシークレットを読み取るためにIAMグループDatabaseToolsConnectionUsers
のみが承認されるポリシー・ステートメントの例を示します:
Define tenancy ResourceTenancy as <resource_tenancy_ocid>
Endorse group DatabaseToolsConnectionUsers to use database-tools-connections in tenancy ResourceTenancy
Endorse group DatabaseToolsConnectionUsers to read secret-family in tenancy ResourceTenancy
リソース・テナンシのポリシー・ステートメント
リソース・テナンシ管理者は、次のポリシー・ステートメントを作成します:
- グループ・テナンシの別名と、テナンシのリソースにアクセスできるIAMグループの別名を定義します。グループ・テナンシ管理者は、グループ・テナンシおよびグループのOCIDsを指定する必要があります。
- グループ・テナンシからグループを認め、テナンシ内のアクセスを許可するデータベース・ツール・リソースにアクセスします。
次に、テナンシ内のすべてのデータベース・ツール・リソースに対してすべての操作を実行するために、GroupTenancy
と呼ばれるグループ・テナンシのIAMグループDatabaseToolsAdministrators
を許可するポリシー・ステートメントの例を示します:
Define tenancy GroupTenancy as <group_tenancy_ocid>
Define group DatabaseToolsAdministrators as <database_tools_administrators_group_ocid>
Admit group DatabaseToolsAdministrators of tenancy GroupTenancy to
manage database-tools-family in tenancy
グループのアクセスをテナンシ内の特定のコンパートメントに制限できます。次に、テナンシのSharedConnections
コンパートメント内のみのすべてのデータベース・ツール・リソースに対してDatabaseToolsAdministrators
が何かを許可するポリシー・ステートメントの例を示します:
Define tenancy GroupTenancy as <group_tenancy_ocid>
Define group DatabaseToolsAdministrators as <database_tools_administrators_group_ocid>
Admit group DatabaseToolsAdministrators of tenancy GroupTenancy to
manage database-tools-family in compartment SharedResources
グループには最低限必要な権限のみ許可する必要があります。次に、テナンシのSharedConnections
コンパートメントでデータベース・ツール接続を使用し、シークレットを読み取るためにDatabaseToolsConnectionUsers
というIAMグループのみを許可するポリシー・ステートメントの例を示します:
Define tenancy GroupTenancy as <group_tenancy_ocid>
Define group DatabaseToolsConnectionUsers as <database_tools_connection_users_group_ocid>
Admit group DatabaseToolsConnectionUsers of tenancy GroupTenancy to use database-tools-connections in compartment SharedResources
Admit group DatabaseToolsConnectionUsers of tenancy GroupTenancy to read secret-family in compartment SharedResources