テナンシをまたがったオブジェクト・ストレージ・リソースへのアクセス

他のテナンシのオブジェクト・ストレージ・リソースへのテナンシ・アクセス権を付与するポリシーの書込み方法について学習します。

ポリシーを初めて使用する場合は、アイデンティティ・ドメインの管理およびオブジェクト・ストレージ、アーカイブ・ストレージおよびデータ転送の詳細を参照してください。

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

組織が、独自のテナンシを持つ別の組織とリソースを共有する場合もあります。これは、会社内の別のビジネス・ユニット、会社の顧客、会社にサービスを提供する会社などの場合があります。このような場合、前述の必須ユーザーとサービス・ポリシーに加えて、クロステナンシ・ポリシーが必要です。

リソースにアクセスして共有するには、両方のテナンシの管理者は、アクセスと共有が可能なリソースを明示的に示す特別なポリシー・ステートメントを作成する必要があります。これらの特別なステートメントは、DefineEndorseおよび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グループStorageAdminsSharedBucketsコンパートメントのオブジェクト・ストレージ・リソースのみを管理することを承認するポリシー・ステートメントを示しています:

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