Políticas do Oracle Cloud Infrastructure GoldenGate

Para controlar o acesso ao Oracle Cloud Infrastructure GoldenGate e o tipo de acesso que cada grupo de usuários tem, você deve criar políticas.

Por exemplo, você pode criar um grupo de Administradores cujos membros podem acessar todos os recursos do OCI GoldenGate. Você então pode criar outro grupo para quem mais estiver envolvido com o OCI GoldenGate, bem como criar políticas que restrinjam o acesso aos recursos do OCI GoldenGate em compartimentos diferentes.

Para obter uma lista completa das políticas do Oracle Cloud Infrastructure, consulte referência de política.

Criar políticas

As políticas definem quais ações os membros de um grupo podem executar e em quais compartimentos.

Use a console do Oracle Cloud para criar políticas. No menu de navegação da console do Oracle Cloud, selecione Identidade e Segurança e, em Identidade, selecione Políticas. As políticas são escritas na seguinte sintaxe:

allow group <identity-domain>/<group-name> to <verb> <resource-type> in <location> where <condition>

As definições de parâmetro são as seguintes:

  • <identity-domain>: (Opcional) Se estiver usando o OCI IAM para gerenciamento de identidades, inclua o domínio de identidades do grupo de usuários. Se for omitido, o OCI usará o domínio padrão.
  • <group-name>: O nome do grupo de usuários ao qual você está concedendo permissões.
  • <verb>: Dá ao grupo um determinado nível de acesso a um resource-type. À medida que os verbos vão de inspect a read a use a manage, o nível de acesso aumenta e as permissões concedidas são cumulativas.

    Saiba mais sobre o relacionamento entre .permissions and verbs.

  • <resource-type>: O tipo de recurso com o qual você está dando a um grupo permissão para trabalhar. Existem recursos individuais, como goldengate-deployments, goldengate-pipelines e goldengate-connections, e há famílias de recursos, como goldengate-family, que inclui os recursos individuais mencionados anteriormente.

    Para obter mais informações, consulte resource-types.

  • <location>: Anexa a política a um compartimento ou tenancy. Você pode especificar um único compartimento ou caminho de compartimento por nome ou OCID ou especificar tenancy para abranger toda a tenancy.
  • <condition>: Opcional. Uma ou mais condições às quais essa política será aplicada.

Saiba mais sobre sintaxe da política.

Como criar uma política

Para criar uma política:
  1. No menu de navegação do Oracle Cloud, selecione Identidade e Segurança e, em Identificar, clique em Políticas.
  2. Na página Políticas, clique em Criar Política.
  3. Na página Criar Política, informe um nome e uma descrição para a política.
  4. Selecione o Compartimento no qual criar esta política.
  5. Na seção Policy Builder, você pode
    • Selecione GoldenGate Service na lista drop-down Caso de uso da política e um modelo de política comum, como Políticas obrigatórias para permitir que os usuários gerenciem recursos do GoldenGate.
    • Clique em Mostrar editor manual para informar uma regra de política no seguinte formato:
      allow <subject> to <verb> <resource-type> in <location> where <condition>

      As condições são opcionais. Consulte Detalhes das Combinações de Verbos e Resource-Type.

    Dica:

    Consulte Políticas mínimas recomendadas para obter mais informações.
  6. Clique em Criar.

Para obter mais informações sobre políticas, consulte como as políticas funcionam, sintaxe de políticas e referência de políticas.

Políticas mínimas recomendadas

Dica:

Para usar um modelo de política comum para adicionar todas as políticas necessárias:
  1. Para Casos de uso da política, selecione GoldenGate Service na lista drop-down.
  2. Para Modelos de uso comum, selecione Políticas obrigatórias para permitir que os usuários gerenciem recursos do GoldenGate na lista suspensa.

No mínimo, você precisa de políticas para:

  • Permitir aos usuários usar ou gerenciar recursos GoldenGate, para que eles possam trabalhar com implantações e conexões. Por exemplo:
    allow group <identity-domain>/<group-name> to manage goldengate-family in <location>
  • Permitir aos usuários gerenciar recursos de rede para que eles possam exibir e selecionar compartimentos e sub-redes, bem como criar e excluir pontos finais privados ao criar recursos GoldenGate. Por exemplo:
    allow group <identity-domain>/<group-name> to manage virtual-network-family in <location>

    Se preferir, você poderá proteger ainda mais os recursos de rede usando uma combinação de políticas granulares. Consulte Exemplos de Política para Proteger Recursos de Rede.

  • Crie um Grupo Dinâmico para conceder permissões a recursos com base em regras definidas, permitindo que suas implantações e/ou pipelines do GoldenGate acessem recursos em sua tenancy. Substitua <dynamic-group-name> pelo nome de sua escolha. Você pode criar quantos grupos dinâmicos precisar, por exemplo, para controlar permissões em implantações em diferentes compartimentos ou tenancies.
    name: <dynamic-group-name>
    Matching rule: ALL {resource.type = 'goldengatedeployment', resource.compartment.id = '<location>'}

    Dica:

    As políticas a seguir nesta lista se referem à <dynamic-group-name>. Se você criar mais de um grupo dinâmico, certifique-se de consultar o nome correto do grupo dinâmico ao adicionar qualquer uma das políticas a seguir.

  • Se estiver usando conexões com segredos de senha, a implantação que você está designando à conexão deverá ser capaz de acessar os segredos de senha da conexão. Certifique-se de adicionar a política ao seu compartimento ou tenancy:
    allow dynamic-group <identity-domain>/<dynamic-group-name> to read secret-bundles in <location>
  • Permita que os usuários leiam o usuário e o grupo do serviço IAM (Identity and Access Management) para validações em tenancies ativadas para o serviço IAM:
    allow service goldengate to {idcs_user_viewer, domain_resources_viewer} in <location>
    allow dynamic-group <identity-domain>/<dynamic-group-name> to {idcs_user_viewer, domain_resources_viewer} in <location>
  • Oracle Vault, para acessar chaves e segredos de senha de criptografia gerenciados pelo cliente. Por exemplo:
    allow group <identity-domain>/<group-name> to manage secret-family in <location>
    allow group <identity-domain>/<group-name> to use keys in <location>
    allow group <identity-domain>/<group-name> to use vaults in <location>
    allow dynamic-group <identity-domain>/<dynamic-group-name> to use keys in <location>
    allow dynamic-group <identity-domain>/<dynamic-group-name> to use vaults in <location> 
    allow dynamic-group <identity-domain>/<dynamic-group-name> to read secret-bundles in <location>

Se você planeja usar os seguintes recursos, poderá precisar também adicionar políticas para:

  • Bancos de Dados Oracle, para seus bancos de dados de origem e/ou de destino. Por exemplo:
    allow group <identity-domain>/<group-name> to read database-family in <location>
    allow group <identity-domain>/<group-name> to read autonomous-database-family in <location>
  • Oracle Object Storage, para armazenar backups manuais e programados do OCI GoldenGate. Por exemplo:
    allow group <identity-domain>/<group-name> to manage objects in <location>
    allow dynamic-group <identity-domain>/<dynamic-group-name> to manage objects in <location> where target.bucket.name = '<bucket-name>'
    allow group <identity-domain>/<group-name> to inspect buckets in <location>
  • OCI Logging, para acessar grupos de logs. Por exemplo:
    allow group <identity-domain>/<group-name> to read log-groups in <location>
    allow group <identity-domain>/<group-name> to read log-content in <location>
  • Balanceador de Carga, se você ativar o acesso público à console de implantação:
    allow group <identity-domain>/<group-name> to manage load-balancers in <location>
    allow group <identity-domain>/<group-name> to manage public-ips in <location> 
     
    allow group <identity-domain>/<group-name> to manage network-security-groups in <location>
    allow group <identity-domain>/<group-name> to manage vcns in <location> where ANY {request.operation = 'CreateNetworkSecurityGroup', request.operation = 'DeleteNetworkSecurityGroup'}
    
  • Solicitações de serviço:
    allow group <identity-domain>/<group-name> to inspect work-requests in <location>

A instrução a seguir fornece uma permissão de grupo para gerenciar namespaces de tag e tags para espaços de trabalho:

allow group <identity-domain>/<group-name> to manage tag-namespaces in <location>

Para adicionar uma tag definida, você deverá ter permissões para usar o namespace de tag. Para saber mais sobre tags, consulte Tags de Recursos.

Para obter mais informações e exemplos de políticas adicionais, consulte Políticas do OCI GoldenGate.

Exemplos de Política para Proteger Recursos de Rede

Você pode facilmente permitir que os usuários acessem recursos de rede dentro de um compartimento com a política:

allow group <group-name> to use virtual-network-family in compartment <compartment-name>

Se preferir, poderá use as seguintes políticas para proteger recursos de rede em um nível mais granular:

Operação Acesso Necessário em Recursos Subjacentes
Criar um ponto final privado Para o compartimento do ponto final privado:
  • Criar VNIC (VNIC_CREATE)
  • Excluir VNIC (VNIC_DELETE)
  • Atualizar membros em um grupo de segurança de rede (NETWORK_SECURITY_GROUP_UPDATE_MEMBERS)
  • Associar um grupo de segurança de rede (VNIC_ASSOCIATE_NETWORK_SECURITY_GROUP)

Para o compartimento de sub-rede:

  • Anexar sub-rede (SUBNET_ATTACH)
  • Desanexar sub-rede (SUBNET_DETACH)
Atualizar um ponto final privado Para o compartimento do ponto final privado:
  • Atualizar VNIC (VNIC_UPDATE)
  • Atualizar membros em um grupo de segurança de rede (NETWORK_SECURITY_GROUP_UPDATE_MEMBERS)
  • Associar um grupo de segurança de rede (VNIC_ASSOCIATE_NETWORK_SECURITY_GROUP)
Excluir um ponto final privado Para o compartimento do ponto final privado:
  • Excluir VNIC (VNIC_DELETE)
  • Atualizar membros em um grupo de segurança de rede (NETWORK_SECURITY_GROUP_UPDATE_MEMBERS)

Para o compartimento de sub-rede:

  • Desanexar sub-rede (SUBNET_DETACH)
Alterar um compartimento de ponto final privado Se estiver movendo de um compartimento para outro, todas as permissões do compartimento original também deverão estar presentes no novo compartimento.

Tipos de Recursos

O Oracle Cloud Infrastructure GoldenGate oferece resource-types agregados e individuais para gravar políticas.

Resource-Type Agregado Resource-Types Individuais
goldengate-family

goldengate-deployments

goldengate-deployment-backups

goldengate-deployment-upgrades

goldengate-connections

goldengate-connection-assignments

goldengate-pipeline

As APIs abrangidas para o resource-type agregado goldengate-family também abrangem as APIs para cada um dos resource-types individuais. Por exemplo,

allow group gg-admins to manage goldengate-family in compartment <compartment-name>

é o mesmo que gravar as duas seguintes políticas:

allow group gg-admins to manage goldengate-deployments in compartment <compartment-name>
allow group gg-admins to manage goldengate-connections in compartment <compartment-name>
allow group gg-admins to manage goldengate-connection-assignments in compartment <compartment-name>
allow group gg-admins to manage goldengate-deployment-upgrades in compartment <compartment-name>
allow group gg-admins to manage goldengate-deployment-backups in compartment <compartment-name>
allow group gg-admins to manage goldengate-pipeline in compartment <compartment-name>

Variável com Suporte

Quando adiciona condições às suas políticas, você pode usar as variáveis gerais ou específicas do serviço do Oracle Cloud Infrastructure.

O Oracle Cloud Infrastructure GoldenGate suporta todas as variáveis gerais. Para obter mais informações, consulte variáveis gerais para todas as solicitações.

Detalhes das Combinações de Verbos e Tipo de Recurso

Há diversos verbos e resource-types do Oracle Cloud Infrastructure que podem ser usados ao criar uma política.

As tabelas a seguir mostram as permissões e operações de API abrangidas por cada verbo do Oracle Cloud Infrastructure GoldenGate. O nível de acesso é cumulativo conforme você vai de inspect a read a use a manage.

goldengate-deployments

goldengate-connections

atribuições de conexão de goldengate

goldengate-deployment-backups

Permissões Exigidas para cada Operação de API

Esta é uma lista das operações de API do Oracle Cloud Infrastructure GoldenGate em ordem lógica, agrupadas por resource-type.

Os tipos de recursos são goldengate-deployments, goldengate-connections e goldengate-deployment-backups.

Operação de API Permissão
ListDeployments GOLDENGATE_DEPLOYMENT_INSPECT
CreateDeployment GOLDENGATE_DEPLOYMENT_CREATE
GetDeployment GOLDENGATE_DEPLOYMENT_READ
UpdateDeployment GOLDENGATE_DEPLOYMENT_UPDATE
DeleteDeployment GOLDENGATE_DEPLOYMENT_DELETE
StartDeployment GOLDENGATE_DEPLOYMENT_UPDATE
StopDeployment GOLDENGATE_DEPLOYMENT_UPDATE
RestoreDeployment GOLDENGATE_DEPLOYMENT_BACKUP_READ e GOLDENGATE_DEPLOYMENT_UPDATE
ChangeDeploymentCompartment GOLDENGATE_DEPLOYMENT_MOVE
UpgradeDeployment GOLDENGATE_DEPLOYMENT_UPDATE
ListConnections GOLDENGATE_CONNECTION_INSPECT
CreateConnection GOLDENGATE_CONNECTION_CREATE
GetConnection GOLDENGATE_CONNECTION_READ
UpdateConnection GOLDENGATE_CONNECTION_UPDATE
DeleteConnection GOLDENGATE_CONNECTION_DELETE
ChangeConnectionCompartment GOLDENGATE_CONNECTION_MOVE
ListConnectionAssignments GOLDENGATE_CONNECTION_ASSIGNMENT_INSPECT
CreateConnectionAssignment GOLDENGATE_CONNECTION_ASSIGNMENT_CREATE, GOLDENGATE_DEPLOYMENT_UPDATE, GOLDENGATE_CONNECTION_UPDATE
GetConnectionAssignment GOLDENGATE_CONNECTION_ASSIGNMENT_READ
DeleteConnectionAssignment GOLDENGATE_CONNECTION_ASSIGNMENT_DELETE, GOLDENGATE_DEPLOYMENT_UPDATE, GOLDENGATE_CONNECTION_UPDATE
ListDeploymentBackups GOLDENGATE_DEPLOYMENT_BACKUP_INSPECT
GetDeploymentBackup GOLDENGATE_DEPLOYMENT_BACKUP_READ
CreateDeploymentBackup GOLDENGATE_DEPLOYMENT_BACKUP_CREATE, GOLDENGATE_DEPLOYMENT_READ
UpdateDeploymentBackup GOLDENGATE_DEPLOYMENT_BACKUP_UPDATE
CancelDeploymentBackup GOLDENGATE_DEPLOYMENT_BACKUP_UPDATE
DeleteDeploymentBackup GOLDENGATE_DEPLOYMENT_BACKUP_DELETE
ChangeDeploymentBackupCompartment GOLDENGATE_DEPLOYMENT_BACKUP_MOVE
GetDeploymentUpgrade GOLDENGATE_DEPLOYMENT_UPGRADE_READ
ListDeploymentUpgrades GOLDENGATE_DEPLOYMENT_UPGRADE_INSPECT
GetWorkRequest GOLDENGATE_DEPLOYMENT_CREATE
ListWorkRequests GOLDENGATE_DEPLOYMENT_CREATE
ListWorkRequestErrors GOLDENGATE_DEPLOYMENT_CREATE
ListWorkRequestLogs GOLDENGATE_DEPLOYMENT_CREATE