クロステナンシ・ポリシー

組織は、他のテナンシのリソースにアクセスする場合や、独自のテナンシを持つ別の組織とリソースを共有する場合があります。もう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