Criteri
Per controllare chi ha accesso a Data Science e il tipo di accesso per ogni gruppo di utenti, è necessario creare criteri.
Per monitorare le risorse di Data Science, è necessario disporre dell'accesso richiesto in un criterio. Questo vale sia che tu stia utilizzando la console o l'API REST con un SDK, un'interfaccia CLI o un altro strumento. Il criterio deve consentire l'accesso ai servizi di monitoraggio e alle risorse monitorate. Se si tenta di eseguire un'azione e si riceve un messaggio che informa che non si dispone dell'autorizzazione o che non si è autorizzati, confermare con un amministratore il tipo di accesso concesso e il compartimento in cui è possibile lavorare. Per ulteriori informazioni sulle autorizzazioni utente per il monitoraggio, vedere la sezione Autenticazione e autorizzazione per il servizio correlato, Monitoraggio o Notifiche.
Per impostazione predefinita, solo gli utenti del gruppo Administrators
hanno accesso a tutte le risorse di Data Science. Per tutti gli altri che sono coinvolti in Data Science, è necessario creare nuove politiche che assegnino loro i diritti appropriati alle risorse di Data Science.
Per una lista completa dei criteri OCI, vedere Riferimento ai criteri.
Tipi di risorse
Data Science offre tipi di risorse sia aggregati che individuali per la scrittura delle politiche.
È possibile utilizzare i tipi di risorsa aggregati per scrivere meno criteri. Ad esempio, invece di consentire a un gruppo di gestire data-science-projects
, data-science-notebook-sessions
, data-science-models
e data-science-work-requests
, è possibile disporre di un criterio che consenta al gruppo di gestire il tipo di risorsa aggregata, data-science-family
.
Tipo di risorsa aggregata
data-science-family
Tipi di risorsa singoli
data-science-projects
data-science-notebook-sessions
data-science-models
data-science-model-deployments
data-science-work-requests
data-science-jobs
data-science-job-runs
data-science-pipelines
data-science-pipeline-runs
data-science-private-endpoint
data-science-schedules
Variabili supportate
Per aggiungere condizioni ai criteri, è possibile utilizzare variabili generali OCI o variabili specifiche del servizio.
Data Science supporta le variabili generali per tutte le richieste da utilizzare con le risorse e le variabili specifiche del servizio riportate di seguito.
Operazioni per questo tipo di risorsa... |
Può utilizzare queste variabili... |
Tipo di variabile |
Commenti |
---|---|---|---|
|
|
Entità (OCID) |
Non disponibile per l'utilizzo con |
|
Stringa |
Non disponibile per l'utilizzo con |
L'utente che crea un blocco appunti è l'unico utente che può aprirlo e utilizzarlo.
Esempi di varie operazioni
allow group <data_science_hol_users> to manage data_science_projects
in compartment <datascience_hol>
allow group <data_science_hol_users> to manage data_science_models
in compartment <datascience_hol>
allow group <data_science_hol_users> to manage data_science_work_requests
in compartment <datascience_hol>
allow group <data_science_hol_users> to inspect data_science_notebook_sessions
in compartment <datascience_hol>
allow group <data_science_hol_users> to read data_science_notebook_sessions
in compartment <datascience_hol>
allow group <data_science_hol_users> to {DATA_SCIENCE_NOTEBOOK_SESSION_CREATE}
in compartment <datascience_hol>
allow group <data_science_hol_users> to
{DATA_SCIENCE_NOTEBOOK_SESSION_DELETE,DATA_SCIENCE_NOTEBOOK_SESSION_UPDATE,DATA_SCIENCE_NOTEBOOK
_SESSION_OPEN,DATA_SCIENCE_NOTEBOOK_SESSION_ACTIVATE,DATA_SCIENCE_NOTEBOOK_SESSION_DEACTIVATE}
in compartment <datascience_hol>
where target.notebook-session.createdBy = request.user.id
Dettagli per combinazioni di verbi e tipi di risorsa
Esistono vari verbi e tipi di risorse OCI che è possibile utilizzare per creare un criterio.
La sintassi di un criterio è la seguente:
allow <subject> to <verb> <resource_type> in <location> where <conditions>.
Di seguito sono descritte le autorizzazioni e le operazioni API coperte da ogni verbo per Data Science. Il livello di accesso è cumulativo quando si passa da inspect
a read
a use
a manage
. Un segno più (+)
in una cella di tabella indica l'accesso incrementale rispetto alla cella direttamente sopra di essa, mentre "nessun extra" indica nessun accesso incrementale.
Le API coperte per il tipo di risorsa data-science-projects
sono elencate qui. Le API vengono visualizzate in ordine alfabetico per ogni autorizzazione.
Verbs |
Autorizzazioni |
API completamente coperte |
API parzialmente coperte |
---|---|---|---|
|
|
|
Nessun extra |
|
|
|
|
|
|
|
Nessun extra |
|
|
|
Nessun extra |
Le API coperte per il tipo di risorsa data-science-notebook-sessions
sono elencate qui. Le API vengono visualizzate in ordine alfabetico per ogni autorizzazione.
Verbs |
Autorizzazioni |
API completamente coperte |
API parzialmente coperte |
---|---|---|---|
|
|
|
Nessun extra |
|
|
|
Nessun extra |
|
|
|
Nessun extra |
|
|
|
|
Le API coperte per il tipo di risorsa data-science-models
sono elencate qui. Le API vengono visualizzate in ordine alfabetico per ogni autorizzazione.
Verbs |
Autorizzazioni |
API completamente coperte |
API parzialmente coperte |
---|---|---|---|
|
|
|
Nessun extra |
|
|
|
Nessun extra |
|
|
|
Nessun extra |
|
|
|
|
Le API coperte per il tipo di risorsa data-science-work-requests
sono elencate qui. Le API vengono visualizzate in ordine alfabetico per ogni autorizzazione.
Verbs |
Autorizzazioni |
API completamente coperte |
API parzialmente coperte |
---|---|---|---|
|
|
|
Nessun extra |
|
|
|
Nessun extra |
|
|
|
Nessun extra |
Le API coperte per il tipo di risorsa data-science-model-deployments
sono elencate qui. Le API vengono visualizzate in ordine alfabetico per ogni autorizzazione.
Verbs |
Autorizzazioni |
API completamente coperte |
API parzialmente coperte |
---|---|---|---|
|
|
|
Nessun extra |
|
|
|
Nessun extra |
|
|
|
Nessun extra |
|
|
|
Nessun extra |
Le API coperte per il tipo di risorsa data-science-jobs
sono elencate qui. Le API vengono visualizzate in ordine alfabetico per ogni autorizzazione.
Verbs |
Autorizzazioni |
API completamente coperte |
API parzialmente coperte |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Le API coperte per il tipo di risorsa data-science-job-runs
sono elencate qui. Le API vengono visualizzate in ordine alfabetico per ogni autorizzazione.
Verbs |
Autorizzazioni |
API completamente coperte |
API parzialmente coperte |
---|---|---|---|
|
|
|
Nessun extra |
|
|
|
Nessun extra |
|
|
|
|
|
|
|
|
Le API coperte per il tipo di risorsa data-science-pipelines
sono elencate qui. Le API vengono visualizzate in ordine alfabetico per ogni autorizzazione.
Verbs |
Autorizzazioni |
API completamente coperte |
API parzialmente coperte |
---|---|---|---|
|
|
|
Nessun extra |
|
|
|
|
|
|
|
|
|
|
|
(È necessario anche |
Le API coperte per il tipo di risorsa data-science-pipelineruns
sono elencate qui. Le API vengono visualizzate in ordine alfabetico per ogni autorizzazione.
Verbs |
Autorizzazioni |
API completamente coperte |
API parzialmente coperte |
---|---|---|---|
|
|
|
Nessun extra |
|
|
|
Nessun extra |
|
|
|
|
|
|
|
|
Le API coperte per il tipo di risorsa data-science-private-endpoint
sono elencate qui. Le API vengono visualizzate in ordine alfabetico per ogni autorizzazione.
Verbs |
Autorizzazioni |
API completamente coperte |
API parzialmente coperte |
---|---|---|---|
|
|
|
Nessun extra |
|
|
|
|
|
|
|
Nessun extra |
|
|
|
|
Le API coperte per il tipo di risorsa data-science-schedule
sono elencate qui. Le API vengono visualizzate in ordine alfabetico per ogni autorizzazione.
Verbs |
Autorizzazioni |
API completamente coperte |
API parzialmente coperte |
---|---|---|---|
|
|
|
Nessun extra |
|
|
|
|
|
|
|
Nessun extra |
|
|
|
Nessun extra |
Esempi di criteri
Le API coprono l'aggregato Data Science data-science-family
e singoli tipi di risorsa. Ad esempio, allow group <group_name> to manage data-science-family in compartment <compartment_name>
equivale alla scrittura dei seguenti quattro criteri:
allow group <group_name>> to manage <data_science_projects> in compartment
<compartment_name>
allow group <group_name> to manage data-science-notebook-sessions in compartment
<compartment_name>
allow group <group_name> to manage data-science-models in compartment
<compartment_name>
allow group <group_name> to manage data-science-work-requests in compartment
<compartment_name>
Per una guida dettagliata alla configurazione dei criteri, vedere: 4. Creazione di criteri nell'esercitazione sulla configurazione manuale di una tenancy di Data Science.
Esempio: vista elenco
Consente a un gruppo di visualizzare semplicemente la lista di tutti i modelli di Data Science in un compartimento specifico:
allow group <group_name> to inspect data-science-models in compartment
<compartment_name>
Il verbo read
per data-science-models
copre le stesse autorizzazioni e operazioni API del verbo inspect
con l'autorizzazione DATA_SCIENCE_MODEL_READ
e le operazioni API che copre, ad esempio GetModel
e GetModelArtifact
.
Esempio: tutte le operazioni
Consente a un gruppo di eseguire tutte le operazioni elencate per DATA_SCIENCE_MODEL_READ
in un compartimento specificato:
allow group <group_name> to read data-science-models in compartment
<compartment_name>
Il verbo manage
per data-science-models
include le stesse autorizzazioni e le stesse operazioni API del verbo read
, oltre alle API per le autorizzazioni DATA_SCIENCE_MODEL_CREATE
, DATA_SCIENCE_MODEL_MOVE
, DATA_SCIENCE_MODEL_UPDATE
e DATA_SCIENCE_MODEL_DELETE
. Ad esempio, un utente può eliminare un modello solo con l'autorizzazione di gestione o con l'autorizzazione DATA_SCIENCE_MODEL_DELETE
specifica. Con un'autorizzazione read
per data-science-models
, un utente non può eliminare i modelli.
Esempi: Gestisci tutte le risorse
Consente a un gruppo di gestire tutte le risorse per l'uso di Data Science:
allow group <group_name> to manage <data_science_family> in compartment
<compartment_name>
Consente a un gruppo di gestire tutte le risorse di Data Science, ad eccezione dell'eliminazione dei progetti di Data Science:
allow group <group_name> to manage <data_science_family> in compartment
<compartment_name> where request.permission !='DATA_SCIENCE_PROJECT_DELETE'
Le API coperte per il tipo di risorsa data-science-projects
sono elencate qui. Le API vengono visualizzate in ordine alfabetico per ogni autorizzazione.
Esempi di criteri
Sono state identificate le istruzioni dei criteri che è probabile adottare in una tenancy per le distribuzioni dei modelli.
allow group <group-name> to manage data-science-models
in compartment <compartment-name>
manage
per limitare le operazioni che gli utenti possono eseguire.
allow group <group-name> to manage data-science-model-deployments
in compartment <compartment-name>
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>
allow dynamic-group <dynamic-group-name-2> to {DATA_SCIENCE_MODEL_DEPLOYMENT_PREDICT}
in compartment <compartment-name>
allow any-user to read objects in compartment <compartment-name>
where ALL { request.principal.type='datasciencemodeldeployment',
target.bucket.name=<published-conda-envs-bucket-name> }
allow any-user to use log-content in tenancy
where ALL {request.principal.type = 'datasciencemodeldeployment'}
allow any-user to read objects in compartment <compartment-name>
where ALL { request.principal.type='datasciencemodeldeployment', target.bucket.name=<bucket-name> }
Esempi di esecuzioni di job e job
(Opzionale) È possibile integrare il log per i job. Quando l'opzione è abilitata, la risorsa di esecuzione del job richiede le autorizzazioni per emettere i log nel servizio di log. È necessario creare un gruppo dinamico di esecuzioni di job con:
all { resource.type='datasciencejobrun', resource.compartment.id='<job-run-compartment-ocid>' }
Consentire quindi a questo gruppo dinamico di scrivere nei log del servizio di log:
allow dynamic-group <job-runs-dynamic-group> to use log-content in compartment <your-compartment-name>
Infine, l'utente che avvia le esecuzioni dei job deve disporre anche dell'accesso per utilizzare i gruppi di log e i log:
Se si utilizza un gruppo dinamico di principal istanza per creare e avviare esecuzioni di job, è necessario applicare i criteri di gruppo al gruppo dinamico. In particolare, il principal dell'istanza deve avere il criterio to manage log-groups
impostato.
allow group <group-name> to manage log-groups in compartment <compartment-name>
allow group <group-name> to use log-content in compartment <compartment-name>
(Facoltativo) Non sono necessari criteri aggiuntivi per eseguire job con un ambiente Conda Data Science. Per eseguire job con un ambiente Conda personalizzato pubblicato, la risorsa di esecuzione job richiede le autorizzazioni per scaricare l'ambiente Conda dallo storage degli oggetti della tenancy. È necessario consentire all'esecuzione del job di un gruppo dinamico di accedere agli oggetti nel compartimento con:
allow dynamic-group <job-runs-dynamic-group> to read objects in compartment <compartment-name> where target.bucket.name='<bucket-name>'
Per estrarre l'immagine del contenitore da OCIR, aggiungere il seguente criterio:
allow dynamic-group <your-dynamic-group> to read repos in compartment <compartment-name>
Se il repository si trova nel compartimento radice, è necessario consentire la lettura per la tenancy con:
allow dynamic-group <your-dynamic-group> to read repos in tenancy where all {target.repo.name=<repository-name>}
Esempi di pipeline
Data Science utilizza altri servizi OCI per eseguire pipeline, principalmente job. Per funzionare correttamente, le pipeline richiedono le autorizzazioni per utilizzare tali risorse nella tenancy o nel compartimento. Per utilizzare le pipeline di Data Science, è necessario creare gruppi e criteri dinamici.
Creare un nuovo gruppo dinamico o aggiornare un gruppo dinamico esistente per aggiungere le righe seguenti:
Per consentire alle esecuzioni della pipeline di accedere ai servizi OCI quali Log, Networking, Storage degli oggetti e così via:
all {resource.type='datasciencepipelinerun',resource.compartment.id='ocid1.compartment.oc1..<>'}
Se la pipeline include almeno un job come passo, è necessario consentire l'esecuzione del job per accedere alle risorse:
all {resource.type='datasciencejobrun',resource.compartment.id='ocid1.compartment.oc1..<>'}
Quando si lavora da sessioni notebook utilizzando l'autenticazione del principal risorsa, è necessario consentire al notebook di accedere alle risorse:
all {resource.type='datasciencenotebooksession',resource.compartment.id='ocid1.compartment.oc1..<>'}
Ora, aggiungi i criteri pertinenti per consentire al tuo gruppo dinamico di accedere alle risorse in un compartimento o in una tenancy. Di seguito sono riportati alcuni criteri di esempio utili per il gruppo dinamico.
(Facoltativo) Consentire la gestione di tutte le risorse di Data Science, ad esempio notebook, job, pipeline e così via.
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to manage data-science-family in compartment <YOUR_COMPARTMENT_NAME>
(Facoltativo) Consentire l'uso della rete, incluso l'uso di OCI Object Storage e File Storage Service:
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to use virtual-network-family in compartment <YOUR_COMPARTMENT_NAME>
(Facoltativo) Consenti di gestire lo storage degli oggetti:
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to manage objects in compartment <YOUR_COMPARTMENT_NAME>
(Facoltativo) Consentire il log ai log del servizio di log:
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to use log-content in compartment <YOUR_COMPARTMENT_NAME>
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to read repos in compartment <YOUR COMPARTMENT NAME>
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> to use object-family in compartment <YOUR_COMPARTMENT_NAME>
allow service datascience to use object-family in compartment <YOUR_COMPARTMENT_NAME>
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> use file-systems in compartment <YOUR_COMPARTMENT_NAME>
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> use mount-targets in compartment <YOUR_COMPARTMENT_NAME>
allow service datascience to use file-systems in compartment <YOUR_COMPARTMENT_NAME>
allow service datascience to use mount-targets in compartment <YOUR_COMPARTMENT_NAME>
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> manage dataflow-run in compartment <YOUR_COMPARTMENT_NAME>
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> read dataflow-application in compartment <YOUR_COMPARTMENT_NAME>
allow dynamic-group <YOUR_DYNAMIC_GROUP_NAME> read object-family in compartment <YOUR_COMPARTMENT_NAME>
datascienceusers
.allow group datascienceusers to inspect compartments in tenancy
allow group datascienceusers in tenancy where all {target.rule.type='managed', target.event.source in ('dataflow')}
allow group datascienceusers to read dataflow-application in compartment <YOUR_COMPARTMENT_NAME>