Accès interlocations au stockage d'objet
Les adresses SQL Data Flow peuvent accéder au stockage d'objets dans les locations. Ils peuvent faire quelque chose dans une location différente de celle dans laquelle ils existent.
- L'adresse SQL est
dataflow-sample-endpoint
dans une location,Tenancy-A
. - Les objets à lire se trouvent dans une location nommée
Tenancy-B
et l'index des objets est créé dans le même bucket.
tenancy-a-group
à lire les buckets et les objets dans Tenancy-B
:- Appliquez les stratégies suivantes dans le compartiment racine de
Tenancy-A
: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'}
La première instruction est une instruction
define
qui affecte un libellé convivial à l'OCID deTenancy-B
. Les deuxième et troisième instructions permettent àdataflow-sample-endpoint
de lire les buckets et de gérer les objets dansTenancy-B
. La dernière instruction permet au metastore de lire les objets dansTenancy-B
. - Appliquez les stratégies suivantes dans le compartiment racine de
Tenancy-B
: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'}
La première instruction est une instruction define qui affecte un libellé convivial à l'OCID de la location-A. Les deuxième et troisième instructions permettent à dataflow-sample-endpoint de lire les buckets et de gérer les objets dans Tenancy-B. La dernière instruction permet au metastore de lire des objets dans la location B. Le mot "admit" indique que l'accès s'applique à un point d'extrémité de flux de données en dehors de la location dans laquelle résident les buckets et les objets.
Vous pouvez limiter davantage la stratégie relative aux objets gérés en la limitant à un bucket. Par exemple, limitez-vous à un bucket nommé
your-bucket
dansyour-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>'}