クロステナンシ・アクセス・ポリシー
クロステナンシ・ポリシー・ステートメントを使用して、テナンシ間で機能するIAMポリシーを作成します。
クロステナンシ・ポリシー・ステートメントは、必要なユーザー・ポリシー・ステートメントおよびサービス・ポリシー・ステートメントに加えて、独自のテナンシを持つ別の組織とリソースを共有するために作成できます。その組織は、会社内の別のビジネス・ユニット、会社顧客、サービスを提供する会社などの場合があります。
リソースにアクセスして共有するには、両方のテナンシの管理者は、アクセスと共有が可能なリソースを明示的に示す特別なポリシー・ステートメントを作成する必要があります。これらの特別なステートメントは、Define、EndorseおよびAdmitという語句を使用します。
Endorse、AdmitおよびDefineステートメント
クロステナンシ文では、次の特別な開始語を使用します。
- 承認: 独自のテナンシ内のグループが他のテナンシ内で実行できる一般的な機能セットを示します。承認ステートメントは、別のテナンシのリソースを使用する境界を超えるユーザーのグループを含むテナンシに常に属します。例では、このテナントはソース・テナンシと呼ばれます。
- 許可: 他のテナンシからグループに付与する独自のテナンシ内の機能の種類を示します。許可ステートメントは、テナントへの「許可」したテナンシに属します。Admitステートメントは、ソース・テナンシからのリソース・アクセスを必要とし、対応するEndorseステートメントで特定されるユーザーのグループを識別します。例では、このテナントを宛先テナンシと呼びます。
-
Define: EndorseおよびAdmitポリシー・ステートメントのテナンシOCIDに別名を割り当てます。許可ステートメントのソースIAMグループOCIDに別名を割り当てるには、宛先テナンシに定義ステートメントも必要です。
Defineステートメントは、EndorseまたはAdmitポリシー・ステートメントと同じポリシー・ステートメントに含まれます。
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を参照する必要があります。次のポリシー・ステートメントは、IAMグループの
StorageAdmins
グループがDestinationTenancy
のみのオブジェクト・ストレージ・リソースを管理することを承認します: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