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:
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:
-
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,
SYSouADMIN). Para criar uma conexão, consulte Criando uma Conexão. -
Configure a autenticação externa para a instância do banco de dados.
- Selecione a conexão do Database Tools.
- Expanda Ações e selecione Configurar autenticação externa.
- Para Tipo de autenticação externa, selecione OCI_IAM.
- 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.
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.