Criteri pipeline

Le pipeline di data science richiedono il corretto funzionamento di criteri IAM specifici.

Questi criteri garantiscono l'accesso ai servizi OCI essenziali, come networking, log, storage degli oggetti e altro ancora. Questo documento fornisce una guida completa e concisa per l'impostazione di queste politiche,

Criteri

Accesso esecuzione pipeline a servizi OCI
Consenti alle esecuzioni della pipeline di accedere ai servizi OCI quali Log, Networking e Storage degli oggetti:
allow any-user to use object-family in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
allow any-user to use virtual-network-family in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
allow any-user to use log-content in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
Accesso alle immagini del contenitore in OCIR
Concedere le autorizzazioni per le esecuzioni della pipeline per leggere le immagini del contenitore in OCIR:
allow any-user to read repos in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
Rete personalizzata
Consenti a Data Science di utilizzare il networking personalizzato:
allow service datascience to use virtual-network-family in compartment <COMPARMENT_NAME>
Uso dei bucket di storage degli oggetti come accessi di storage
Abilita le esecuzioni della pipeline per accedere ai bucket di storage degli oggetti:
allow any-user to use object-family in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
Uso dello storage di file e degli accessi allo storage
Fornire l'accesso allo storage dei file:
allow any-user to use file-systems in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
allow any-user to use mount-targets in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
Integrazione di flusso di dati e pipeline
Se le applicazioni Data Flow vengono utilizzate nelle pipeline, i criteri che concedono i privilegi di esecuzione della pipeline per accedere a Data Flow sono necessari, come riportato di seguito.
allow any-user to read object-family in compartment <YOUR_COMPARTMENT> where any { request.principal.type = 'datasciencepipelinerun' }
allow any-user to manage dataflow-run in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
allow any-user to read dataflow-application in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
Assicurarsi che agli utenti che utilizzano le pipeline vengano concessi i privilegi appropriati. Per stabilire l'integrazione tra Data Flow e Data Science per conto dell'utente, sono necessari i criteri riportati di seguito. Inoltre, per conto dell'utente, il servizio deve ispezionare i compartimenti per gestire le risorse e gestire le regole degli eventi per stabilire la comunicazione tra i servizi. Il seguente criterio presuppone che gli utenti appartengano al gruppo datascienceusers:
allow group datascienceusers to inspect compartments in tenancy
allow group datascienceusers to manage cloudevents-rules in tenancy where all {target.rule.type='managed', target.event.source in ('dataflow')}
allow group datascienceusers to read dataflow-application in compartment <YOUR_COMPARTMENT>
Accesso generale alle risorse di Data Science
Offri un accesso completo alle risorse di Data Science:
allow any-user to manage data-science-family in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
Queste istruzioni non utilizzano gruppi dinamici, ma è facile creare criteri uguali utilizzando gruppi dinamici. Ad esempio, invece di scrivere:
allow any-user to read object-family in compartment <COMPARTMENT_NAME> where ALL { request.principal.type='datasciencepipelinerun' }
Puoi scrivere:
allow dynamic-group sample_group to read object-family in compartment <COMPARTMENT_NAME>
dove sample_group è definito come:
ALL { resource.type = 'datasciencepipelinerun' }