テナンシをまたがったオブジェクト・ストレージ・リソースへのアクセス
他のテナンシのオブジェクト・ストレージ・リソースへのテナンシ・アクセス権を付与するポリシーの書込み方法について学習します。
ポリシーを初めて使用する場合は、アイデンティティ・ドメインの管理およびオブジェクト・ストレージ、アーカイブ・ストレージおよびデータ転送の詳細を参照してください。
クロステナンシ・ポリシー
組織が、独自のテナンシを持つ別の組織とリソースを共有する場合もあります。これは、会社内の別のビジネス・ユニット、会社の顧客、会社にサービスを提供する会社などの場合があります。このような場合、前述の必須ユーザーとサービス・ポリシーに加えて、クロステナンシ・ポリシーが必要です。
リソースにアクセスして共有するには、両方のテナンシの管理者は、アクセスと共有が可能なリソースを明示的に示す特別なポリシー・ステートメントを作成する必要があります。これらの特別なステートメントは、Define、EndorseおよびAdmitという語句を使用します。
Endorse、AdmitおよびDefineステートメント
クロステナンシ・ステートメントで使用される特別な動詞の概要は次のとおりです:
- 承認: 独自のテナンシ内のグループが他のテナンシ内で実行できる一般的な機能セットを示します。Endorseステートメントは、境界を越えて他のテナンシにアクセスし、そのテナンシのリソースを使用するユーザーのグループを含むテナンシに常に属します。例では、このテナンシをソース・テナンシと呼びます。
- 許可: 他のテナンシからグループに付与する独自のテナンシの機能の種類を示します。Admitステートメントは、テナンシへのアクセスを許可するテナンシに属します。Admitステートメントは、ソース・テナンシからのリソース・アクセスを必要とし、対応するEndorseステートメントで特定されるユーザーのグループを識別します。例では、このテナンシを宛先テナンシと呼びます。
- Define: EndorseおよびAdmitポリシー・ステートメントのテナンシOCIDに別名を割り当てます。AdmitステートメントのソースIAMグループOCIDに別名を割り当てるには、宛先テナンシにDefineステートメントも必要です。
Defineステートメントは、EndorseまたはAdmitステートメントと同じポリシー・エンティティに含めます。
EndorseステートメントとAdmitステートメントは連携して動作します。Endorseステートメントがソース・テナンシに存在するのに対し、Admitステートメントは宛先テナンシに存在します。アクセス権を指定する対応ステートメントがない場合、特定のEndorseまたはAdmitステートメントはアクセス権を与えません。両方のテナンシがアクセスに同意する必要があります。
ポリシー・ステートメントに加えて、リージョン間でリソースを共有するためにリージョンをサブスクライブする必要もあります。
ソース・テナンシのポリシー・ステートメント
ソースおよびターゲット・テナンシ管理者は、宛先テナンシでリソースを管理できるソースIAMグループを承認するポリシー・ステートメントを作成します。
次の例は、IAMグループのStorageAdmins
グループが任意のテナンシ内のすべてのオブジェクト・ストレージ・リソースに対してすべての操作を実行することを承認する広範なポリシー・ステートメントを示しています:
Endorse group StorageAdmins to manage object-family in any-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を使用する場合は、ドメインを指定します:
Endorse group <identity_domain_name>/StorageAdmins to manage object-family in any-tenancy
Define tenancy DestinationTenancy as ocid1.tenancy.oc1..<unique_ID>
Endorse group <identity_domain_name>/ StorageAdmins to manage object-family in tenancy DestinationTenancy
宛先テナンシのポリシー・ステートメント
宛先管理者は、次のポリシー・ステートメントを作成します:
- ソース・テナントおよびテナント内のリソースにアクセスできるIAMグループを定義します。ソース管理者がこの情報を提供する必要があります。
- テナンシでアクセスを許可するオブジェクト・ストレージ・リソースにアクセスするために、定義済のソースを許可します。
次の例は、ソース・テナンシのIAMグループStorageAdmins
がユーザーのテナンシ内のすべてのオブジェクト・ストレージ・リソースに対してすべての操作を実行することを承認するポリシー・ステートメントを示しています:
Define tenancy SourceTenancy as ocid1.tenancy.oc1..<unique_ID>
Define group StorageAdmins as ocid1.group.oc1..<unique_ID>
Admit group StorageAdmins of tenancy SourceTenancy to manage object-family in tenancy
次の例は、ソース・テナンシのIAMグループStorageAdmins
がSharedBuckets
コンパートメントのオブジェクト・ストレージ・リソースのみを管理することを承認するポリシー・ステートメントを示しています:
Define tenancy SourceTenancy as ocid1.tenancy.oc1..<unique_ID>
Define group StorageAdmins as ocid1.group.oc1..<unique_ID>
Admit group StorageAdmins of tenancy SourceTenancy to manage object-family in compartment SharedBuckets
Define tenancy SourceTenancy as ocid1.tenancy.oc1..<unique_ID>
Define group <identity_domain_name>/StorageAdmins as ocid1.group.oc1..<unique_ID>
Admit group <identity_domain_name>/StorageAdmins of tenancy SourceTenancy to manage object-family in tenancy