Exemplos de Política
Veja alguns exemplos das políticas do serviço Data Catalog.
A sintaxe da política é semelhante a esta:
allow <subject> to <verb> <resource-type> in <location> where <conditions>
Para obter detalhes completos, consulte a sintaxe da política. Para obter mais informações sobre como criar políticas, consulte como as políticas funcionam, referência de política e detalhes da política do serviço Object Storage.
Você pode criar políticas para definir como deseja que seus usuários acessem os recursos do catálogo de dados. Exiba o verbo para mapeamento de permissões do catálogo de dados para decidir qual verbo atende aos nossos requisitos de acesso.
O verbo read
para data-catalogs
abrange as mesmas permissões e operações de API que o verbo inspect
mais as permissões CATALOG_READ
, CATALOG_JOB_DEFINITION_READ
, CATALOG_JOB_READ
e CATALOG_WORK_REQUEST_READ
e as operações de API que elas abrangem, como ListGlossaries
, GetCatalog
e assim por diante.
Crie esta política para permitir que um grupo exiba a lista de todos os catálogos de dados na tenancy:
allow group <group-name> to inspect data-catalogs in tenancy
Crie esta política para permitir que um grupo execute todas as operações listadas para CATALOG_READ
em um compartimento especificado:
allow group <group-name> to read data-catalogs in compartment <x>
O verbo manage
inclui as mesmas permissões e operações de API que o verbo use
,mais as permissões CATALOG_CREATE
, CATALOG_DELETE
e CATALOG_MOVE
, que incluem as operações de API CreateCatalog
, DeleteCatalog
e MoveCatalog
, respectivamente.
Crie a política para permitir que um grupo gerencie todos os catálogos de dados em um compartimento específico:
allow group <group-name> to manage data-catalog-family in compartment <x>
Crie esta política para permitir que um grupo gerencie todos os catálogos de dados, exceto a exclusão dos catálogos de dados:
allow group <group-name> to manage data-catalog-family in compartment <x>
where request.permission !='CATALOG_DELETE'
Crie esta política para permitir que um grupo gerencie todos os recursos em um catálogo de dados especificado:
allow group <group-name> to manage data-catalog-family in tenancy
where target.catalog.id = 'ocid.datacatalog.oc1..<unique_ID>'
Antes de criar ativos de dados do Oracle Object Storage, você cria políticas para permitir o acesso aos objetos de dados necessários. Depois de criar essas políticas, quando você coletar o ativo de dados do serviço Object Storage, só serão listadas as entidades de dados às quais sua instância do catálogo de dados tem acesso. É possível selecionar os objetos de dados que você deseja coletar na lista exibida.
Você deverá ter, pelo menos, a permissão READ
para todos os tipos de recursos individuais objectstorage-namespaces
, buckets
e objects
ou, para o tipo de recurso agregado do Armazenamento de Objetos, object-family
. Para obter instruções passo a passo, consulte o tutorial Coletando do Oracle Object Storage.
Como pré-requisito, crie um grupo dinâmico que inclua o OCID do catálogo de dados específico como recurso no grupo.
Exemplo:
Any {resource.id = 'ocid.datacatalog.oc1..<unique_ID>'}
Use as seguintes políticas se sua instância do serviço Data Catalog e o Object Storage estiverem na mesma tenancy:
Permitir acesso à tenancy
- Crie essa política somente para
root_compartment
a fim de permitir o acesso a qualquer objeto, em qualquer bucket, em qualquer compartimento da tenancy. Como o escopo desta política é toda a tenancy, um compartimento secundário não terá acesso aos compartimentos raiz ou principal.allow dynamic-group <dynamic-group-name> to read object-family in tenancy
Permitir acesso a buckets específicos
- Acesse qualquer objeto em
bucketA
oubucketB
em uma tenancyallow dynamic group <dynamic-group-name> to read object-family in tenancy where any {target.bucket.name='bucketA', target.bucket.name='bucketB'}
- Acesse qualquer objeto em
bucketA
oubucketB
em qualquer compartimentoallow dynamic group <dynamic-group-name> to read object-family in compartment <compartment-name> where any {target.bucket.name='bucketA', target.bucket.name='bucketB'}
- Acesse qualquer objeto em
bucketA
oubucketB
em qualquer compartimento usando o OCID do compartimentoallow dynamic group <dynamic-group-name> to read object-family in compartment id <compartment_ocid> where any {target.bucket.name='bucketA', target.bucket.name='bucketB'}
Para ver o OCID do compartimento na Console, abra o menu de navegação e clique em Identidade e Segurança. Em Identidade, clique em Compartimentos. Clique no link do compartimento do recurso do serviço Object Storage. Na página Detalhes do Compartimento, copie o OCID em Informações do Compartimento.
Permitir acesso a um compartimento específico
-
Acessar qualquer bucket dentro de um compartimento específico
allow dynamic-group <dynamic-group-name> to read object-family in compartment <compartment-name>
Quando você coleta um ativo de dados do serviço Object Storage, as entidades de dados de todos os buckets no compartimento especificado são listadas. É possível selecionar os objetos de dados nesses buckets para coleta.
- Acessar qualquer bucket dentro de um compartimento usando o OCID do compartimento
allow dynamic-group <dynamic-group-name> to read object-family in compartment id <compartment_ocid>
Para ver o OCID do compartimento na Console, abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Compartimentos. Clique no link do compartimento do recurso do serviço Object Storage. Na página Detalhes do Compartimento, copie o OCID em Informações do Compartimento.
Crie as políticas a seguir como pré-requisito se sua instância do serviço Data Catalog e o Object Storage estiverem em tenancies diferentes.
Na tenancy do catálogo:
- Defina uma tenancy
tenancy-name1
para identificar o OCID do Object Storage e, em seguida, endossar o grupo dinâmicodynamic-group-name1
para gerenciarobject-family
em<tenancy-name1>
.Define tenancy <tenancy-name1> as <object-storage-tenancy-OCID> Endorse dynamic-group <dynamic-group-name1> to manage object-family in tenancy <tenancy-name1>
Na tenancy do Object Storage:
- Defina uma tenancy
tenancy-name2
com o OCID da tenancy do catálogo. Definadynamic-group-name2
com o OCID dedynamic-group-name1
criado na tenancy do catálogo e, em seguida, admita odynamic-group-name2
para gerenciarobject-family
na tenancy do Object Storage.Define tenancy <tenancy-name2> as <catalog-tenancy-OCID> Define dynamic-group <dynamic-group-name2> as <dynamic-group-name1-OCID> Admit dynamic-group <dynamic-group-name2> of tenancy <tenancy-name2> to manage object-family in tenancy
Permitir acesso a buckets específicos
Acesso a buckets específicos, como BucketA
ou BucketB
, em um compartimento.
Na tenancy do catálogo:
Define tenancy <tenancy-name2> as <object-storage-tenancy-OCID>
Endorse dynamic group <dynamic-group-name1> to manage object-family in compartment <compartmentA> where any {target.bucket.name='bucketA', target.bucket.name='bucketB'}
Na tenancy do Object Storage:
Define tenancy <tenancy-name1> as <catalog-tenancy-OCID>
Define dynamic-group <dynamic-group-name2> as <dynamic-group-name1-OCID>
Admit dynamic group <dynamic-group-name2> of tenancy <tenancy-name1> to manage object-family in compartment compartmentA where any {target.bucket.name='bucketA', target.bucket.name='bucketB'}
Da mesma forma, você também pode acessar buckets em um compartimento usando o ID do compartimento.
Permitir acesso a um compartimento específico
Acesse qualquer bucket dentro de um compartimento específico usando o nome do compartimento.
Define tenancy <tenancy-name2> as <object-storage-tenancy-OCID>
Endorse dynamic group <dynamic-group-name1> to manage object-family in compartment <compartment-name>
Define tenancy <tenancy-name1> as <catalog-tenancy-OCID>
Define dynamic group <dynamic-group-name2> as <dynamic-group-name1-OCID>
admit dynamic group <dynamic-group-name2> of tenancy <tenancy-name1> to manage object-family in compartment <compartment-name>
Simiarmente, você pode acessar qualquer bucket dentro de um compartimento específico usando o OCID do compartimento.
Para que os usuários do catálogo de dados configurem redes privadas, crie políticas.
Crie esta política para permitir que um grupo execute todas as ações nos pontos finais privados do catálogo de dados.
allow group <group-name> to manage data-catalog-private-endpoints in tenancy
Crie essa política para permitir que um grupo execute todas as operações relacionadas à rede na tenancy.
allow group <group-name> to manage virtual-network-family in tenancy
Se você estiver gerenciando o recurso de pontos finais privados do catálogo de dados, recomendamos que você também tenha permissão de gerenciamento de solicitações de serviço. Isso garante que você possa exibir os logs e as mensagens de erro encontrados durante o trabalho com pontos finais privados.
allow group <group-name> to manage work-requests in tenancy
Crie esta política para permitir que um grupo execute todas as ações nos pontos finais privados do catálogo de dados, exceto excluí-los.
allow group <group-name> to manage data-catalog-private-endpoints in tenancy
where request.permission!='CATALOG_PRIVATE_ENDPOINT_DELETE'
Você pode criar políticas para definir como deseja que seus usuários acessem os recursos do glossário. Exiba o verbo para mapeamento de permissões do glossário para decidir qual verbo atende aos nossos requisitos de acesso. Por exemplo, INSPECT
permite que os usuários exibam a lista de glossários disponíveis e READ
permite que os usuários exibam os detalhes do glossário e também exportem o glossário.
Crie esta política para permitir que um grupo execute todas as operações em todos os glossários, categorias e termos disponíveis na tenancy:
allow group <group-name> to manage data-catalog-glossaries in tenancy
Crie esta política para permitir que um grupo crie, atualize e exclua termos, categorias e relacionamentos em um glossário específico:
allow group <group-name> to use data-catalog-glossaries in tenancy where target.glossary.key = '<glossary-key>'
Você pode copiar a chave do glossário obrigatório na página de detalhes do glossário da interface do usuário.
Crie esta política para permitir que um grupo exiba glossários e detalhes do glossário em um compartimento específico:
allow group <group-name> to read data-catalog-glossaries in compartment <x>
Crie esta política para permitir que um grupo exiba a lista de todos os glossários disponíveis em um catálogo de dados específico na tenancy:
allow group <group-name> to inspect data-catalog-glossaries in tenancy where target.catalog.id = 'ocid.datacatalog.oc1..<unique_ID>'
Você pode criar políticas para definir como deseja que seus usuários acessem os recursos de ativos de dados. Exiba o verbo para mapeamento de permissões do ativo de dados para decidir qual verbo atende aos nossos requisitos de acesso. Por exemplo, INSPECT
permite que os usuários exibam a lista de ativos de dados disponíveis e READ
permite que os usuários exibam os detalhes dos ativos de dados.
Crie esta política para permitir que um grupo execute todas as operações em todos os ativos de dados disponíveis em uma tenancy:
allow group <group-name> to manage data-catalog-data-assets in tenancy
Crie esta política para permitir que um grupo use um ativo de dados específico em uma tenancy:
allow group <group-name> to use data-catalog-data-assets in tenancy where target.data-asset.key='<data-asset-key>'
Você pode copiar a chave do ativo de dados necessário na página de detalhes do ativo de dados da interface do usuário.
Crie esta política para permitir que um grupo exiba detalhes de todos os ativos de dados (como conexões, pastas, entidades de dados, atributos etc.) disponíveis em um compartimento específico:
allow group <group-name> to read data-catalog-data-assets in compartment <x>
Crie esta política para permitir que um grupo exiba a lista de ativos de dados disponíveis em um catálogo de dados específico em um compartimento específico:
allow group <group-name> to inspect data-catalog-data-assets in compartment <x> where target.catalog.id = 'ocid.datacatalog.oc1..<unique_ID>'
Para obter mais informações, consulte Políticas Obrigatórias do Serviço IAM.
Impedir que os Usuários Excluam Instâncias do Serviço Data Catalog
Crie esta política para permitir que o grupo DataCatalogUsers
execute todas as ações em catálogos de dados, exceto a exclusão deles.
allow group DataCatalogUsers to manage data-catalog-family in tenancy
where request.permission!='CATALOG_DELETE'