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.

  1. Especifique o compartimento do qual permitir todas as execuções do serviço Data Flow:
    ALL {resource.type='dataflowrun', resource.compartment.id='<compartment_id>'}
    (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>', tag.oci-dataflow.application-id.value='<application_id>'}
  2. 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>'}