Políticas de Pipeline
Os Pipelines do Serviço Data Science exigem políticas específicas do serviço IAM para funcionar corretamente.
Essas políticas garantem o acesso a serviços essenciais do OCI, como Rede, Log, Armazenamento de Objetos e muito mais. Este documento fornece um guia abrangente e conciso para configurar essas políticas,
Políticas
- Acesso de Execução do Pipeline aos Serviços do OCI
- Permitir que execuções de pipeline acessem serviços do OCI, como Logging, Networking e Object Storage:
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' }
- Acessando Imagens de Contêiner no OCIR
- Conceda permissões para execuções de pipeline para ler imagens de contêiner no OCIR:
allow any-user to read repos in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
- Rede Personalizada
- Permitir que o Data Science use a rede personalizada:
allow service datascience to use virtual-network-family in compartment <COMPARMENT_NAME>
- Usando Buckets do Serviço Object Storage como Montagens do Serviço Storage
- Ative execuções de pipeline para acessar buckets do Object Storage:
allow any-user to use object-family in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
- Usando Montagens de Armazenamento e Armazenamento de Arquivos
- Fornecer acesso ao armazenamento de arquivos:
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' }
- Integração de Fluxo de Dados e Pipelines
- Se os aplicativos do serviço Data Flow forem usados em pipelines, serão necessárias políticas que concedam privilégios de execução de pipeline para acessar o serviço Data Flow, da seguinte forma:Certifique-se de que os usuários que trabalham com pipelines recebam os privilégios apropriados. As políticas a seguir são necessárias para estabelecer a integração entre o serviço Data Flow e o Data Science em nome do usuário. Também em nome do usuário, o serviço precisa inspecionar compartimentos para gerenciar recursos lá e gerenciar regras de evento para estabelecer comunicação entre serviços. A política a seguir pressupõe que os usuários pertençam ao grupo
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' }
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>
- Acesso Geral aos Recursos do Serviço Data Science
- Fornecer acesso abrangente aos recursos do Data Science:
allow any-user to manage data-science-family in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
Essas instruções não usam grupos dinâmicos, mas é fácil criar políticas iguais usando grupos dinâmicos. Por exemplo, em vez de escrever:em que
allow any-user to read object-family in compartment <COMPARTMENT_NAME> where ALL { request.principal.type='datasciencepipelinerun' }
você pode escrever:allow dynamic-group sample_group to read object-family in compartment <COMPARTMENT_NAME>
sample_group
é definido como:ALL { resource.type = 'datasciencepipelinerun' }