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

クロステナンシ・ポリシー・ステートメントを使用して、テナンシ間で動作するIAMポリシーを作成します。

クロス・テナンシ・ポリシー・ステートメントは、必要なユーザーおよびサービス・ポリシー・ステートメントに加えて、独自のテナンシを持つ別の組織とリソースを共有するために作成できます。その組織は、会社内の別のビジネス・ユニット、会社顧客、会社にサービスを提供する会社などになります。

リソースにアクセスして共有するには、両方のテナンシの管理者は、アクセスと共有が可能なリソースを明示的に示す特別なポリシー・ステートメントを作成する必要があります。これらの特別なステートメントは、定義承認および許可という語句を使用します。

Endorse、AdmitおよびDefineステートメント

クロス・テナンシ文では、次の特別な開始語を使用します:

  • 承認: 独自のテナンシ内のグループが他のテナンシ内で実行できる一般的な機能セットを示します。Endorseステートメントは、境界を越えてユーザーのグループを含むテナンシ内に常に属し、別のテナンシのリソースと連携します。この例では、このテナンシはソース・テナンシと呼ばれます。
  • 許可: 他のテナンシからグループに付与する独自のテナンシの機能の種類を指定します。Admitステートメントは、テナンシに「許可」を付与しているテナンシに属します。Admitステートメントは、ソース・テナンシからのリソース・アクセスを必要とし、対応するEndorseステートメントで特定されるユーザーのグループを識別します。この例では、このテナンシは宛先テナンシと呼ばれます。
  • 定義: 承認および許可ポリシー・ステートメントのテナンシOCIDに別名を割り当てます。許可ステートメントのソースIAMグループOCIDに別名を割り当てるには、宛先テナンシで定義ステートメントも必要です。

    「承認」または「許可」ポリシー・ステートメントと同じポリシー・ステートメントに「定義」ステートメントを含めます。

EndorseステートメントとAdmitステートメントは連携して動作します。Endorseステートメントがソース・テナンシに存在し、Admitステートメントが宛先テナンシに存在します。アクセス権を指定する対応ステートメントがない場合、特定の承認または許可ステートメントはアクセス権を与えません。両方のテナンシがアクセスに同意する必要があります。

重要

ポリシー・ステートメントに加えて、リソースを共有するには、ターゲット・テナンシとソース・テナンシが同じリージョンをサブスクライブする必要があります。

クロステナンシの例

  • 次のポリシーにより、グループStorageAdminsは宛先テナンシのオブジェクト・ストレージ・リソースのリソースを管理できます:

    Endorse group StorageAdmins to manage object-family in any-tenancy 

    次のポリシー・ステートメントは、ソース・テナンシのIAMグループStorageAdminsを承認し、宛先テナンシ内のすべてのオブジェクト・ストレージ・リソースに対して何でも実行します:

    Define tenancy SourceTenancy as ocid1.tenancy.oc1.exampleuniqueID
    Define group StorageAdmins as ocid1.group.oc1.exampleuniqueID
    Admit group StorageAdmins of tenancy SourceTenancy to manage object-family in tenancy 
  • テナンシ・アクセスの範囲を狭めるポリシーを記述するには、ソース管理者が、宛先管理者によって指定された宛先テナンシのOCIDを参照する必要があります。次のポリシー・ステートメントは、DestinationTenancy内のオブジェクト・ストレージ・リソースのみを管理するためにIAMグループStorageAdminsグループを承認します:

    Define tenancy DestinationTenancy as ocid1.tenancy.oc1..<unique_ID>
    Endorse group StorageAdmins to manage object-family in tenancy DestinationTenancy

    次の例では、ポリシー・ステートメントは、ソース・テナンシのIAMグループStorageAdminsを認可し、SharedBucketsコンパートメントのオブジェクト・ストレージ・リソースのみを管理します:

    Define tenancy SourceTenancy as ocid1.tenancy.oc1..exampleuniqueID
    Define group StorageAdmins as ocid1.group.oc1..exampleuniqueID
    Admit group StorageAdmins of tenancy SourceTenancy to manage object-family in compartment SharedBuckets