クロス・テナンシ・アクセス・ポリシー
クロステナンシ・ポリシー・ステートメントを使用して、テナンシ間で動作する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