Mandantenübergreifender Objektspeicherzugriff
Data Flow-SQL-Endpunkte können mandantenübergreifend auf den Objektspeicher zugreifen. Sie können etwas in einem anderen Mandanten als dem, in dem sie existieren, tun.
- Der SQL-Endpunkt ist
dataflow-sample-endpoint
in einem Mandanten,Tenancy-A
. - Die zu lesenden Objekte befinden sich in einem Mandanten namens
Tenancy-B
, und der Index der Objekte wird im selben Bucket erstellt.
tenancy-a-group
Buckets und Objekte in Tenancy-B
lesen kann:- Wenden Sie die folgenden Policys im Root Compartment von
Tenancy-A
an:define tenancy Tenancy-B as tenancy-b-ocid endorse any-user to read buckets in tenancy Tenancy-B where ALL {request.principal.type='dataflowsqlendpoint',request.principal.id = '<dataflow-sample-endpoint-ocid>'} endorse any-user to manage objects in tenancy Tenancy-B where ALL {request.principal.type='dataflowsqlendpoint',request.principal.id = '<dataflow-sample-endpoint-ocid>'} endorse any-user to read object-family in tenancy Tenancy-B where ALL {request.principal.type='datacatalogmetastore'}
Die erste Anweisung ist eine
define
-Anweisung, die der OCID vonTenancy-B
ein benutzerfreundliches Label zuweisen. Mit der zweiten und dritten Anweisung kanndataflow-sample-endpoint
Buckets lesen und Objekte inTenancy-B
verwalten. Mit der letzten Anweisung kann der Metastore Objekte inTenancy-B
lesen. - Wenden Sie die folgenden Policys im Root Compartment von
Tenancy-B
an:define tenancy Tenancy_A as tenancy-a-ocid admit any-user of tenancy Tenancy-A to read buckets in compartment <compartment> where ALL {request.principal.type='dataflowsqlendpoint',request.principal.id = '<dataflow-sample-endpoint-ocid>'} admit any-user of tenancy Tenancy-A to manage objects in compartment <compartment> Tenancy-B where ALL {request.principal.type='dataflowsqlendpoint',request.principal.id = '<dataflow-sample-endpoint-ocid>'} admit any-user of tenancy Tenancy-A to read object-family in compartment <compartment> where ALL {request.principal.type='datacatalogmetastore'}
Die erste Anweisung ist eine Definitionsanweisung, die der OCID von Tenancy-A ein benutzerfreundliches Label zuweist. Mit der zweiten und dritten Anweisung kann der dataflow-sample-endpoint die Buckets lesen und Objekte in Tenancy-B verwalten. Mit der letzten Anweisung kann Metastore Objekte in Mandanten-B lesen. Das Wort "admit" gibt an, dass der Zugriff für einen dataflow-sample-endpoint außerhalb des Mandanten gilt, in dem die Buckets und Objekte gespeichert sind.
Sie können weitere Einschränkungen vornehmen, indem Sie die Policy für verwaltete Objekte auf einen Bucket beschränken. Beispiel: Beschränken Sie den Wert auf einen Bucket mit dem Namen
your-bucket
inyour-compartment
:admit any-user of tenancy Tenancy-A to manage objects in compartment your-compartment Tenancy-B where ALL {target.bucket.name = 'your-bucket', request.principal.type='dataflowsqlendpoint',request.principal.id = '<dataflow-sample-endpoint-ocid>'}