Criteri di distribuzione modello

È necessario creare un gruppo di utenti autorizzati a utilizzare le distribuzioni di modelli prima di poter distribuire un modello con una risorsa di distribuzione di modelli.

In alternativa, è possibile creare un gruppo dinamico di risorse (ad esempio le sessioni notebook) autorizzato a creare una distribuzione. In questo caso, chiunque sia in grado di accedere alla sessione notebook può acquisire l'identità della sessione notebook e creare una distribuzione del modello. Il metodo di autenticazione della sessione notebook utilizza i principal delle risorse.

Lo stesso pattern si applica quando si richiama l'endpoint del modello dopo la distribuzione. È necessario autorizzare un gruppo di utenti o risorse a richiamare il modello.

Gli esempi riportati di seguito rappresentano le istruzioni dei criteri più comuni da utilizzare con la distribuzione di un modello e i criteri di distribuzione del modello di esempio contengono altri esempi.

Gestisci criteri distribuzione modello

Consente a un gruppo di utenti, <group-name>, di eseguire tutte le operazioni CRUD sui modelli memorizzati nel catalogo modelli. Qualsiasi utente che desideri distribuire un modello tramite la distribuzione del modello deve anche accedere al modello che desidera distribuire.
allow group <group-name> to manage data-science-models 
in compartment <compartment-name>
Consente a un gruppo di utenti, <group-name>, di eseguire tutte le operazioni CRUD, inclusa la chiamata dell'endpoint di inferenza, sulle risorse di distribuzione del modello in un determinato compartimento. È possibile modificare il verbo manage per limitare le operazioni che gli utenti possono eseguire.
allow group <group-name> to manage data-science-model-deployments 
in compartment <compartment-name>
Consente a un gruppo dinamico di risorse (ad esempio le sessioni notebook) di eseguire tutte le operazioni CRUD, inclusa la chiamata dell'endpoint di inferenza, sulle risorse di distribuzione del modello in un determinato compartimento. Il verbo manage può essere modificato per limitare le azioni che le risorse possono eseguire.
allow dynamic-group <dynamic-group-name> to manage  data-science-model-deployments 
in compartment <compartment-name>

Gli esempi di criteri precedenti sono permissivi. È possibile creare criteri più restrittivi. Un esempio comune è limitare chi o quali risorse possono richiamare l'endpoint di inferenza della distribuzione del modello.

Autorizza accesso a criteri endpoint di previsione o streaming

Consente a un gruppo di utenti, <group-name>, di eseguire tutte le operazioni CRUD, inclusa la chiamata dell'endpoint di inferenza, sulle risorse di distribuzione del modello in un determinato compartimento. È possibile modificare il verbo manage per limitare le operazioni che gli utenti possono eseguire.
allow group <group-name> to manage data-science-model-deployments 
in compartment <compartment-name>
In alternativa, è possibile autorizzare le risorse a fare lo stesso. Solo il gruppo dinamico di risorse nel gruppo dinamico specificato può chiamare l'endpoint del modello per le risorse di distribuzione del modello create in un compartimento specifico.
allow dynamic-group <dynamic-group-name-2> to {DATA_SCIENCE_MODEL_DEPLOYMENT_PREDICT} 
in compartment <compartment-name>

Consente di concedere l'accesso alla distribuzione del modello a un bucket Conda pubblicato

(Facoltativo) Consente a una distribuzione modello di accedere agli ambienti Conda pubblicati memorizzati in un bucket di storage degli oggetti. Questa opzione è necessaria se si desidera utilizzare gli ambienti Conda pubblicati per acquisire le dipendenze di terze parti di un modello.
allow any-user to read objects in compartment <compartment-name>
where ALL { request.principal.type='datasciencemodeldeployment', 
target.bucket.name=<published-conda-envs-bucket-name> }

Consente di concedere l'accesso alla distribuzione del modello al servizio di log

(Facoltativo) Consente a una distribuzione modello di emettere log nel servizio di log. È necessario questo criterio se si sta utilizzando il login a una distribuzione modello. Questa affermazione è permissiva. Ad esempio, è possibile limitare l'autorizzazione all'utilizzo del contenuto di log in un compartimento specifico.
allow any-user to use log-content in tenancy 
where ALL {request.principal.type = 'datasciencemodeldeployment'}

Fornire l'accesso alla distribuzione del modello a un bucket di storage degli oggetti

(Facoltativo) Consente a una distribuzione modello di accedere a un bucket di storage degli oggetti che risiede in una tenancy. Ad esempio, un modello distribuito che legge i file (un file CSV di ricerca) da un bucket di storage degli oggetti gestito dall'utente.
allow any-user to read objects in compartment <compartment-name> 
where ALL { request.principal.type='datasciencemodeldeployment', target.bucket.name=<bucket-name> }

Fornire l'accesso alla distribuzione del modello a un contenitore personalizzato mediante il principal risorsa

I criteri possono essere configurati come indicato di seguito.

Configurazione dei gruppi dinamici e creazione di criteri nel gruppo dinamico

Crea un gruppo dinamico:

ALL { resource.type = 'datasciencemodeldeployment' }

Consente a un gruppo dinamico di leggere un contenitore personalizzato.

allow dynamic-group <dynamic-group-name> to read repos in compartment <compartment-name> where ANY {
    request.operation='ReadDockerRepositoryMetadata',
    request.operation='ReadDockerRepositoryManifest',
    request.operation='PullDockerLayer'

Se il repository si trova nel compartimento radice, consenti lettura per la tenancy:

allow dynamic-group <dynamic-group-name> to read repos in tenancy where ANY {
    request.operation='ReadDockerRepositoryMetadata',
    request.operation='ReadDockerRepositoryManifest',
    request.operation='PullDockerLayer'
}

Altri metodi di autenticazione e di autorizzazione

La distribuzione del modello supporta solo l'autorizzazione e l'autenticazione definite dal servizio IAM (Identity and Access Management) OCI. La distribuzione del modello non supporta altri metodi di autorizzazione e autenticazione, ad esempio OAuth o l'autenticazione di accesso di base.