Autenticar Usuários do Autonomous AI Database com Kerberos
Você pode configurar o Autonomous AI Database on Dedicated Exadata Infrastructure para usar o protocolo de autenticação de rede do Kerberos para autenticar usuários do banco de dados. O Kerberos é um protocolo de autenticação forte de rede. Ele usa criptografia de chave secreta para ativar a autenticação forte fornecendo autenticação de usuário para servidor.
-
O suporte ao Autonomous AI Database on Dedicated Exadata Infrastructure para Kerberos oferece os benefícios do sign-on único e da autenticação centralizada dos usuários Oracle. O Kerberos é um sistema de autenticação de terceiros confiável que depende de segredos compartilhados. Ele presume que o terceiro é seguro e fornece recursos de sign-on único, armazenamento de senha centralizado, autenticação de link de banco de dados e segurança aprimorada do PC. Ele faz isso por meio de um servidor de autenticação do Kerberos.
-
O sistema Kerberos é um conceito de ticket. O ticket é um conjunto de informações eletrônicas que identifica um usuário ou um serviço. Um ticket identifica você e seus privilégios de acesso à rede.
-
Na autenticação baseada no Kerberos, você envia de forma transparente uma solicitação de ticket para um KDC (Key Distribution Center). O Key Distribution Center autentica você e concede a você um ticket para acessar o banco de dados.
Componentes do Sistema de Autenticação do Kerberos
Fornece uma visão geral do sistema de autenticação do Kerberos.
-
Um realm estabelece um domínio administrativo de autenticação. Cada realm tem seu próprio banco de dados Kerberos que contém os usuários e os serviços desse domínio administrativo específico.
-
Os tickets são emitidos pelo KDC (Key Distribution Center). Os clientes apresentam os tickets ao Servidor de Banco de Dados para demonstrar a autenticidade da identidade. Cada ticket tem um tempo de expiração e de renovação.
-
Os keytabs armazenam chaves de longo prazo para um ou mais controladores. Um arquivo keytab é gerado chamando a ferramenta
kadmin.local(para o MIT Key Distribution Center) ouktpass(para o Active Directory Key Distribution Center). -
Os controladores são as entradas no banco de dados do Key Distribution Center. Cada usuário, host ou serviço recebe um controlador. O controlador é uma identidade exclusiva à qual o Key Distribution Center pode designar tickets.
-
O suporte ao Kerberos no Autonomous AI Database usa estes valores para vários componentes que formam um nome do controlador de serviço:
| Componente do Controlador de Serviços | Valor no Autonomous AI Database |
|---|---|
kinstance |
Você pode obter esse valor do atributo Use a seguinte consulta para obter o
Observação: Este será o valor do parâmetrohost encontrado na sequência de conexão TNS.
|
kservice |
No Autonomous AI Database, você tem duas opções para o valor
Após a ativação do Kerberos na sua instância do Autonomous AI Database, use a seguinte consulta para exibir o nome do serviço Kerberos:
|
REALM |
Qualquer realm suportado pelo KDC. REALM sempre deve estar em letras maiúsculas.
|
Para ativar a autenticação Kerberos para o seu Autonomous AI Database, mantenha os arquivos de configuração Kerberos (krb.conf) e arquivo de tabela de chaves (v5srvtab) prontos. Para mais informações sobre esses arquivos e etapas para obtê-los, consulte Configurando Autenticação Kerberos.
Observações sobre a Autenticação do Kerberos no Autonomous AI Database
Antes de continuar com a autenticação do Kerberos no Autonomous AI Database on Dedicated Exadata Infrastructure, verifique as seguintes observações:
- Se você ativar a autenticação Kerberos para o seu Autonomous AI Database, ainda poderá usar autenticação de banco de dados baseada em senha para o seu banco de dados.
- Somente um método de autenticação externa pode ser usado para o seu Autonomous AI Database a qualquer momento. Ou seja, você só pode ter esquemas de autenticação do Oracle Cloud Infrastructure (IAM), Usuário Gerenciado Centralmente com Active Directory (CMU-AD), Azure AD ou Kerberos ativados a qualquer momento.
Observação:
A única exceção é que a autenticação do Kerberos pode ser configurada no topo do CMU-AD para fornecer a autenticação do CMU-AD Kerberos para usuários do Microsoft Active Directory. - Não há suporte para a autenticação do Kerberos nas seguintes ferramentas:
- Oracle Database API for MongoDB
- Oracle REST Data Services
- Oracle Machine Learning
- APEX
- Oracle Graph Studio
- Oracle Database Actions
- Você pode ativar a autenticação do Kerberos para autenticar o usuário ADMIN. Você poderá usar a funcionalidade Redefinir Senha na Console do OCI (Oracle Cloud Infrastructure) para redefinir a senha do usuário ADMIN e recuperar o acesso se um arquivo keytab corrompido fizer com que a autenticação do usuário ADMIN falhe.
- Há suporte para a autenticação Kerberos com o protocolo TCP para o Autonomous AI Database versões 19.27 ou posteriores.
- Não há suporte para a autenticação do Kerberos com DB_LINKs e bancos de dados com o Autonomous Data Guard.
Ativar a Autenticação Kerberos no Autonomous AI Database
-
Como só pode haver um esquema de autenticação externa ativado para um Autonomous AI Database a qualquer momento, execute o procedimento
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATIONpara desativar qualquer esquema de autenticação externa que já esteja ativado para seu banco de dados.Para executar o procedimento, você deve fazer log-in como usuário ADMIN ou ter o privilégioEXECUTEemDBMS_CLOUD_ADMIN.BEGIN DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION; END; / -
Obtenha os arquivos de configuração do Kerberos:
krb.confe o arquivo de tabela de chaves de serviçov5srvtab. Para obter mais informações sobre esses arquivos e as etapas necessárias para obtê-los, consulte Configuring Kerberos Authentication no Oracle Database 19c Security Guide ou no Oracle Database 26ai Security Guide. -
Copie os arquivos de configuração do Kerberos
krb.confev5srvtabpara um bucket no Armazenamento de Objetos.Observação:
A Oracle recomenda que você armazene os arquivos de configuração do Kerberos em um bucket privado no Armazenamento de Objetos.Se você estiver usando o Oracle Cloud Infrastructure Object Store, consulte Colocando Dados no Serviço Object Storage para obter detalhes sobre o upload de arquivos.
-
Para ativar o Kerberos como a autenticação externa do seu Autonomous AI Database, execute o procedimento
DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATIONe informe um URI de local com o argumento JSONparams. Você deve colocar os arquivos de configuraçãokrb.confev5srvtabno local do Object Storage especificado no parâmetrolocation_uri.Por exemplo:BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION( type => 'KERBEROS', params => JSON_OBJECT('location_uri' value 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o', 'credential_name' value 'my_credential_name') ); END; /Observação:
Para fornecer a autenticação do CMU-AD Kerberos para usuários do Microsoft Active Directory, você pode ativar a autenticação do Kerberos sobre o CMU-AD definindotypecomoCMUno exemplo acima.Neste exemplo,
namespace-stringcorresponde ao namespace do armazenamento de objetos do Oracle Cloud Infrastructure ebucketnamecorresponde ao nome do bucket. Consulte Noções Básicas de Namespaces do serviço Object Storage para obter mais informações.O
credential_nameque você usa nesta etapa são as credenciais do Armazenamento de Objetos.Se o
location_urifor um URL pré-autenticado, não será necessário fornecer umcredential_name.Isso cria um objeto de diretório chamado
KERBEROS_DIRno banco de dados e usa a credencial para fazer download dos arquivos de configuração do Kerberos, do local de Armazenamento de Objetos para o objeto de diretório.É possível usar o parâmetrokerberos_service_namepara especificar o nome do serviço Kerberos. Por exemplo:BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION( type =>'KERBEROS', params => JSON_OBJECT( 'location_uri' value 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o', 'credential_name' value 'my_credential_name' 'kerberos_service_name' value 'oracle' )); END; / - Depois de ativar a autenticação do Kerberos, remova a configuração
krb.confev5srvtabdo Armazenamento de objetos. Você pode usar métodos locais de Armazenamento de Objetos para remover esses arquivos ou usarDBMS_CLOUD.DELETE_OBJECTpara excluir os arquivos do Armazenamento de Objetos.
Consulte Navegar até o Oracle Cloud Infrastructure Object Storage e Criar um Bucket para obter mais informações sobre o serviço Object Storage.
Consulte Procedimento ENABLE_EXTERNAL_AUTHENTICATION para obter mais informações.
Desativar a Autenticação Kerberos no Autonomous AI Database
Antes de ativar qualquer outro esquema de autenticação externo no seu banco de dados, desative a autenticação do Kerberos executando o procedimento DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION.
EXECUTE em DBMS_CLOUD_ADMIN. BEGIN
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
END;
/Observação:
Para fornecer autenticação CMU-AD Kerberos para os usuários do Microsoft Active Directory, continue a configurar a autenticação CMU-AD sem desativar a autenticação do Kerberos.