Accesso allo storage degli oggetti tra tenancy

Gli endpoint SQL di flusso dati possono accedere allo storage degli oggetti tra le tenancy. Possono fare qualcosa in una tenancy diversa da quella in cui esistono.

Si dispone di un endpoint SQL di flusso dati in una tenancy durante la lettura degli oggetti memorizzati in una seconda tenancy. È necessario applicare i criteri in ogni tenancy di conseguenza. Ad esempio:
  • L'endpoint SQL è dataflow-sample-endpoint in una tenancy, Tenancy-A.
  • Gli oggetti da leggere si trovano in una tenancy denominata Tenancy-B e l'indice degli oggetti viene creato nello stesso bucket.
Consentire a tenancy-a-group di leggere i bucket e gli oggetti in Tenancy-B:
  1. Applicare i criteri seguenti nel compartimento radice di 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 prima istruzione è un'istruzione define che assegna un'etichetta descrittiva all'OCID di Tenancy-B. La seconda e la terza istruzione consentono a dataflow-sample-endpoint di leggere i bucket e gestire gli oggetti in Tenancy-B. L'ultima istruzione consente agli oggetti di lettura del metastore in Tenancy-B.

  2. Applicare questi criteri nel compartimento radice di 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 prima istruzione è un'istruzione define che assegna un'etichetta friendly all'OCID di Tenancy-A. La seconda e la terza istruzione consentono a dataflow-sample-endpoint di leggere i bucket e gestire gli oggetti in Tenancy-B. L'ultima istruzione consente al metastore di leggere gli oggetti in Tenancy-B. La parola 'ammissione' indica che l'accesso si applica a un endpoint di esempio del flusso di dati esterno alla tenancy in cui risiedono i bucket e gli oggetti.

    Puoi limitare ulteriormente il criterio degli oggetti gestiti a un bucket. Ad esempio, limitare a un bucket denominato your-bucket in 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>'}