Acceso a Object Storage entre arrendamientos

Los puntos finales SQL de Data Flow pueden acceder al almacenamiento de objetos en distintos arrendamientos. Pueden hacer algo en un arrendamiento diferente al que tienen.

Tiene un punto final SQL de Data Flow en un arrendamiento mientras lee objetos almacenados en un segundo arrendamiento. Debe aplicar políticas en cada arrendamiento según corresponda. Por ejemplo:
  • El punto final de SQL es dataflow-sample-endpoint en un arrendamiento, Tenancy-A.
  • Los objetos que se van a leer están en un arrendamiento denominado Tenancy-B y el índice de los objetos se crea en el mismo cubo.
Permita que tenancy-a-group lea cubos y objetos de Tenancy-B:
  1. Aplique las siguientes políticas en el compartimento raíz 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 primera sentencia es una sentencia define que asigna una etiqueta fácil de recordar al OCID de Tenancy-B. La segunda y tercera sentencias permiten a dataflow-sample-endpoint leer cubos y gestionar objetos en Tenancy-B. La última sentencia permite al metastore leer objetos en Tenancy-B.

  2. Aplique estas políticas en el compartimento raíz 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 primera sentencia es una sentencia definida que asigna una etiqueta fácil de recordar al OCID del arrendamiento-A. La segunda y tercera sentencias permiten que dataflow-sample-endpoint lea los cubos y gestione objetos en el arrendamiento-B. La última sentencia permite al metastore leer objetos en el arrendamiento B. La palabra 'admit' indica que el acceso se aplica a un punto final de ejemplo de flujo de datos fuera del arrendamiento en el que residen los objetos y cubos.

    Puede limitar aún más la política de objetos gestionados a un cubo. Por ejemplo, limite a un cubo denominado your-bucket en 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>'}