Accès au stockage d'objets interlocation

Les points d'extrémité SQL du service de flux de données peuvent accéder au stockage d'objets entre les locations. Ils peuvent faire quelque chose dans une location différente de celle dans laquelle ils existent.

Vous avez un point d'extrémité SQL du service de flux de données dans une location lors de la lecture des objets stockés dans une deuxième location. Vous devez appliquer des politiques dans chaque location en conséquence. Par exemple :
  • Votre point d'extrémité 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 seau.
Autoriser tenancy-a-group à lire les seaux et objets dans Tenancy-B :
  1. Appliquez les politiques 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'}

    Le premier énoncé define permet d'affecter une étiquette conviviale à l'OCID de Tenancy-B. Les deuxième et troisième énoncés permettent à dataflow-sample-endpoint de lire les seaux et de gérer les objets dans Tenancy-B. Le dernier énoncé permet au magasin de métadonnées de lire des objets dans Tenancy-B.

  2. Appliquez les politiques 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'}

    Le premier énoncé de définition qui affecte une étiquette conviviale à l'OCID de la location A. Les deuxième et troisième énoncés permettent à dataflow-sample-endpoint de lire les seaux et de gérer les objets dans Tenancy-B. Le dernier énoncé permet au magasin de métadonnées de lire des objets dans la location-B. Le mot 'admit' indique que l'accès s'applique à un point d'extrémité dataflow-sample-endpoint en dehors de la location dans laquelle se trouvent les seaux et les objets.

    Vous pouvez limiter davantage la politique relative aux objets gérés à un seau. Par exemple, limitez-vous à un seau nommé your-bucket dans your-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>'}