Políticas de pipeline
Los pipelines de Data Science necesitan políticas de IAM específicas para funcionar correctamente.
Estas políticas garantizan el acceso a los servicios esenciales de OCI, como Networking, Logging, Object Storage, etc. Este documento proporciona una guía completa y concisa para configurar estas políticas.
Políticas
- Acceso de ejecución de pipeline a servicios de OCI
- Permitir que las ejecuciones de pipeline accedan a servicios de OCI como Logging, Networking y 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' }
- Acceso a imágenes de contenedor en OCIR
- Otorgue permisos para que las ejecuciones de pipeline lean imágenes de contenedor en OCIR:
allow any-user to read repos in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
- Red personalizada
- Permitir a Data Science utilizar redes personalizadas:
allow service datascience to use virtual-network-family in compartment <COMPARMENT_NAME>
- Uso de cubos de Object Storage como montajes de almacenamiento
- Active las ejecuciones de pipeline para acceder a los cubos de Object Storage:
allow any-user to use object-family in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
- Uso de File Storage y Storage Mounts
- Proporcione acceso al almacenamiento de archivos:
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' }
- Integración de flujos de datos y pipelines
- Si las aplicaciones de Data Flow se utilizan en pipelines, se necesitan políticas que otorguen privilegios de ejecución de pipeline para acceder a Data Flow, de la siguiente forma:Asegúrese de que a los usuarios que trabajan con pipelines se les otorgan los privilegios adecuados. Se necesitan las siguientes políticas para establecer la integración entre Data Flow y Data Science en nombre del usuario. Además, en nombre del usuario, el servicio debe inspeccionar los compartimentos para gestionar los recursos allí y gestionar las reglas de eventos para establecer la comunicación entre los servicios. La siguiente política asume que los usuarios pertenecen al 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>
- Acceso general a los recursos de Data Science
- Proporcione acceso completo a los recursos de Data Science:
allow any-user to manage data-science-family in compartment <COMPARTMENT_NAME> where ALL { request.principal.type = 'datasciencepipelinerun' }
Estas sentencias no utilizan grupos dinámicos, pero es fácil crear políticas iguales mediante grupos dinámicos. Por ejemplo, en lugar de escribir:donde
allow any-user to read object-family in compartment <COMPARTMENT_NAME> where ALL { request.principal.type='datasciencepipelinerun' }
Puedes escribir:allow dynamic-group sample_group to read object-family in compartment <COMPARTMENT_NAME>
sample_group
se define como:ALL { resource.type = 'datasciencepipelinerun' }