Políticas do Controlador de Recursos
Se estiver usando o controlador de recursos, por exemplo, com o Spark Streaming, você precisará de políticas específicas no serviço Data Flow.
Você pode adicionar essas políticas ao controlador de recursos de três maneiras:
Usar Modelos de Controlador de Recursos no Criador de Política
Use os modelos do serviço Data Flow no criador de políticas para definir suas políticas para controladores de recursos.
- Permitir que o recurso do serviço Data Flow use o serviço Object Storage
- Permita que um grupo dinâmico crie e use objetos em um local especificado do serviço Object Storage. Crie a política na tenancy.
- Permitir que o recurso do serviço Data Flow consuma do serviço Streaming da Oracle
- Permita que um grupo dinâmico consuma do serviço Streaming da Oracle. Crie a política na tenancy.
- Permitir que o recurso do serviço Data Flow grave no serviço Streaming da Oracle
- Permita que um grupo dinâmico produza para o serviço Streaming da Oracle. Crie a política na tenancy.
Usar um Grupo Dinâmico
Os grupos dinâmicos permitem que você crie políticas mais concisas e reutilize o mesmo grupo. Você também pode consultar tags e limitar um grupo a um aplicativo específico do serviço Data Flow.
- Especifique o compartimento do qual permitir todas as execuções do serviço Data Flow:(Opcional) Você pode limitar a um aplicativo específico do serviço Data Flow em um compartimento:
ALL {resource.type='dataflowrun', resource.compartment.id='<compartment_id>'}
ALL {resource.type='dataflowrun', resource.compartment.id='<compartment_id>', tag.oci-dataflow.application-id.value='<application_id>'}
- Permita que o controlador de recursos do serviço Data Flow consuma de um pool de streams do serviço Streaming e de um bucket do serviço Object Storage:
ALLOW DYNAMIC-GROUP DF-IN-ROOT TO {STREAM_INSPECT, STREAM_READ, STREAM_CONSUME} IN TENANCY WHERE ANY {target.streampool.id = '<streampool_id>'} ALLOW DYNAMIC-GROUP DF-IN-ROOT TO MANAGE OBJECTS IN TENANCY WHERE ANY {target.bucket.name = '<bucket_name>', target.bucket.name = '<bucket_name>'}
Usar Política Multifuncional
Todas as execuções do serviço Data Flow de um compartimento específico consomem de um pool de streams específico e de um bucket do serviço Object Storage.
ALLOW ANY-USER TO {STREAM_INSPECT, STREAM_READ, STREAM_CONSUME} IN TENANCY WHERE ALL
{request.principal.type='dataflowrun', request.resource.compartment.id = '<compartment_id>', target.streampool.id = '<streampool_id>'}
ALLOW ANY-USER TO MANAGE OBJECTS IN TENANCY WHERE ALL
{request.principal.type='dataflowrun', request.resource.compartment.id = '<compartment_id>', target.bucket.name = '<bucket_name>'}