Pré-requisitos

Antes de criar uma conexão do serviço Database Tools que use a autenticação do serviço IAM, certifique-se de que os pré-requisitos a seguir sejam atendidos.

Pré-requisitos do Banco de Dados

Antes de configurar uma conexão do serviço Database Tools para usar a autenticação do IAM, certifique-se de que os seguintes requisitos de banco de dados sejam atendidos:

Observação

Para o ADB, os pré-requisitos de autenticação do IAM (como conectividade segura/TLS) já estão configurados no serviço Database Tools. Na maioria dos casos, você pode ir diretamente para a política do IAM e para as etapas de mapeamento do usuário do banco de dados.

Para Bancos de Dados Oracle não ADB (como Exadata e Base Database Service), primeiro verifique e configure os pré-requisitos (como autenticação de servidor TCPS/TLS, wallets/certificados) para que as conexões de token do IAM funcionem. Consulte Pré-requisitos para Autenticação do Serviço IAM no Oracle Database

Versões do Banco de Dados com Suporte

  • Os ambientes do Oracle Database-as-a-Service (DBaaS) suportados são:

    • Oracle Autonomous Database (ADB)
    • Oracle Exadata Database Service
    • Oracle Base Database Service
  • Você precisa do Oracle Database release 19c, versão 19.16 ou mais recente.

  • O cliente Oracle Database 21c não suporta totalmente a autenticação baseada em token do IAM. Use uma versão de cliente que suporte a funcionalidade de token de banco de dados do IAM necessária. Consulte a seção Autenticação Baseada em Token SSO do OCI (Oracle Cloud Infrastructure) IAM (Identity and Access Management) em Autenticação do IAM com Oracle Database.

Conectividade TLS (TCPS) e Autenticação de Servidor

A autenticação do IAM requer conectividade segura com o banco de dados:

  • Use o TCPS do serviço Database Tools para o banco de dados. Selecione esta opção ao Criar uma Conexão.
  • Configure a autenticação do servidor TLS para seu banco de dados. Para ambientes não ADB, certifique-se de configurar uma wallet de TLS e certificados relacionados em WALLET_ROOT, seguindo os requisitos de seu serviço e configuração de banco de dados específicos.

Para obter mais informações, consulte Configurar TLS para Usar Tokens do Serviço IAM.

Ativar Autenticação do IAM para o Oracle Database

Para ativar a autenticação do IAM:

  1. Crie uma conexão do serviço Database Tools usando a Autenticação por Senha com um usuário privilegiado do banco de dados (por exemplo, SYS ou ADMIN). Para criar uma conexão, consulte Criando uma Conexão.

  2. Configure a autenticação externa para a instância do banco de dados.

    1. Selecione a conexão do Database Tools.
    2. Expanda Ações e selecione Configurar autenticação externa.
    3. Para Tipo de autenticação externa, selecione OCI_IAM.
    4. Clique em Atualizar para salvar a configuração.

Criar Usuários de Banco de Dados Global

A autenticação do IAM requer um mapeamento de usuário global no banco de dados para que o banco de dados possa mapear um principal do IAM (usuário ou grupo) para um usuário (esquema) do banco de dados.

Mapeamento exclusivo

Use o mapeamento exclusivo quando quiser um mapeamento um a um entre um usuário do IAM e um esquema de banco de dados.

CREATE USER scott IDENTIFIED GLOBALLY AS 'IAM_PRINCIPAL_NAME=<iam-user-name-or-identifier>';
GRANT CREATE SESSION TO scott;

em que <iam-user-name-or-identifier> se refere ao atributo Nome do Usuário do Banco de Dados do usuário do IAM. Se o Nome do Usuário do Banco de Dados não estiver disponível para o usuário do IAM, o nome do usuário padrão do IAM será usado como fallback.

Para obter mais informações sobre o Nome de Usuário do Banco de Dados e o nome de usuário padrão do IAM, consulte:

Mapeamento compartilhado

Use o mapeamento compartilhado quando quiser que vários usuários do IAM (membros de um grupo do IAM) se conectem como um esquema compartilhado.

CREATE USER scott IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=<iam-group-name>';
GRANT CREATE SESSION TO scott;

em que <iam-group-name> se refere ao valor do Nome do Grupo do IAM conforme definido no IAM para o grupo. Todos os usuários do IAM que são membros deste grupo do IAM se conectarão como o usuário do banco de dados compartilhado.

Observação

Se um usuário for membro de vários grupos do IAM que têm um mapeamento compartilhado, o banco de dados determinará o mapeamento com base nas regras de mapeamento do banco de dados (por exemplo, ordem de criação). Certifique-se de que os mapeamentos sejam inequívocos para o modelo de autorização pretendido.

Para obter mais informações, consulte:

Conceder Permissões do Serviço IAM para Conexões de Banco de Dados

Para permitir que os usuários gerem e usem tokens de banco de dados, conceda permissões do IAM para conexões do serviço Database Tools (tipo de recurso: database-connections). Essas permissões incluem a permissão DB_CONNECT.

Use instruções de política como os seguintes exemplos:

  • Permita que um grupo use conexões de banco de dados na tenancy.

    allow group dbuser to use database-connections in tenancy
  • Permita que um grupo use conexões de banco de dados em um compartimento.

    allow group dbuser to use database-connections in compartment prod
  • Restrinja o acesso a um banco de dados específico (por OCID).

    allow group dbuser to use database-connections in compartment prod 
    where target.database.id = 'ocid1.autonomousdatabase.oc1.phx.xxxx'

Para obter mais informações sobre políticas do IAM, consulte Usar Autenticação do IAM com o Autonomous AI Database.