クロス・テナント・アクセス
ユーザーはテナンシ間で作業できます。つまり、自分が存在するテナンシとは異なるテナントで作業を実行できます。
たとえば、あるテナンシにデータ・フローを設定し、2番目のテナンシに格納されているオブジェクトを読み取ることができます。
- データ・フロー・ユーザーは、
Tenancy_A
というテナンシ内のグループtenancy-a-group
に属しています。 - データ・フローは、
Tenancy_A
で実行されます。 - 読み取られるオブジェクトは、
Tenancy_B
というテナンシにあります。
tenancy-a-group
に対してTenancy_B
内のバケットおよびオブジェクトの読取りを許可する必要があります。
Tenancy_A
のルート・コンパートメントで次のポリシーを適用します:
define tenancy Tenancy_B as tenancy-b-ocid
endorse group tenancy-a-group to read buckets in tenancy Tenancy_B
endorse group tenancy-a-group to read objects in tenancy Tenancy_B
最初のステートメントは、Tenancy_B
のOCIDにわかりやすいラベルを割り当てる"define"ステートメントです。2番目および3番目のステートメントを使用すると、ユーザーのグループtenancy-a-group
は、Tenancy_B
内のバケットおよびオブジェクトを読み取ることができます。
Tenancy_B
のルート・コンパートメントで次のポリシーを適用します:define tenancy Tenancy_A as tenancy-a-ocid
define group tenancy-a-group as tenancy-a-group-ocid
admit group tenancy-a-group of tenancy Tenancy_A to read buckets in tenancy
admit group tenancy-a-group of tenancy Tenancy_A to read objects in tenancy
最初および2番目のステートメントは、Tenancy_A
およびtenancy-a-group
のOCIDにわかりやすいラベルを割り当てるdefine
ステートメントです。3番目および4番目のステートメントを使用すると、tenancy-a-group
は、Tenancy_B
内のバケットおよびオブジェクトを読み取ることができます。admit
という語は、バケットおよびオブジェクトが存在するテナンシ外のグループにアクセス権が適用されることを示します。
読取りバケット・ポリシーを1つのコンパートメントに制限することで、アクセスをさらに制限できます。たとえば、
your_compartment
というコンパートメントの場合:admit group tenancy-a-group of tenancy Tenancy_A to read buckets in compartment <your_compartment>
または、読取りオブジェクト・ポリシーを1つのバケットに制限します。たとえば、
your_compartment
のyour_bucket
というバケットの場合:admit group tenancy-a-group of tenancy Tenancy_A to read objects in compartment <your_compartment> where target.bucket.name = '<your_bucket>'