Autenticar Usuários do Autonomous AI Database com Kerberos
Você pode configurar o Autonomous AI Database na Infraestrutura Dedicada do Exadata para usar o protocolo de autenticação de rede 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 da 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 de controlador de serviço:
| Componente do Principal de Serviço | Valor no Autonomous AI Database |
|---|---|
kinstance |
Você pode obter esse valor do atributo Use a seguinte consulta para obter o Observação: Esse será o valor do parâmetro |
kservice |
No Autonomous AI Database, você tem duas opções para o valor
Depois que o Kerberos for ativado 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 Autonomous AI Database, você deve manter seus 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 na Infraestrutura Dedicada do Exadata, verifique as seguintes observações:
-
Se você ativar a autenticação Kerberos para seu Autonomous AI Database, ainda poderá usar autenticação de banco de dados baseada em senha para seu banco de dados.
-
Somente um método de autenticação externa pode ser usado para 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 na parte superior de CMU-AD para fornecer autenticação do Kerberos CMU-AD para usuários do Microsoft Active Directory.
-
Não há suporte para autenticação 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ê pode usar a funcionalidade Redefinir Senha na Console do Oracle Cloud Infrastructure (OCI) para redefinir a senha do usuário ADMIN e obter acesso novamente se um arquivo keytab corrompido causar falha na autenticação do usuário ADMIN.
-
Há suporte para a autenticação Kerberos com o protocolo TCP para o Autonomous AI Database versão 19.27 ou posterior.
-
A autenticação do Kerberos não é suportada com DB_LINKs e bancos de dados com o Autonomous Data Guard.
Ativar a Autenticação Kerberos no Autonomous AI Database
Siga as etapas abaixo listadas para ativar a autenticação do Kerberos para o Autonomous AI Database na Infraestrutura Dedicada do Exadata:
-
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 estar conectado como usuário ADMIN ou ter o privilégio
EXECUTEemDBMS_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 Kerberos
krb.confev5srvtabpara um bucket no seu Object Store.Observação: A Oracle recomenda que você armazene os arquivos de configuração do Kerberos em um bucket privado no seu Object Store.
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 autenticação do CMU-AD Kerberos para usuários do Microsoft Active Directory, você pode ativar a autenticação do Kerberos na parte superior do CMU-AD definindo
typecomoCMUno exemplo acima.Neste exemplo,
namespace-stringé o namespace do Oracle Cloud Infrastructure Object Storage ebucketnameé o nome do bucket. Consulte Noções Básicas de Namespaces do serviço Object Storage para obter mais informações.O
credential_nameusado nesta etapa são as credenciais do Object Store.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 seu banco de dados e usa a credencial para fazer download dos arquivos de configuração do Kerberos do local do Object Store para o objeto de diretório.É possível usar o parâmetro
kerberos_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 o Kerberos Authentication, remova do Object Store a configuração
krb.confev5srvtab. Você pode usar métodos locais do Object Store para remover esses arquivos ou usar oDBMS_CLOUD.DELETE_OBJECTpara excluir os arquivos do Object Store.
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 externa no seu banco de dados, desative a autenticação do Kerberos que está executando o procedimento DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION.
Para executar este procedimento, você deve estar conectado como usuário ADMIN ou ter o privilégio EXECUTE em DBMS_CLOUD_ADMIN.
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
END;
/
Consulte Procedimento DISABLE_EXTERNAL_AUTHENTICATION para obter mais informações.
Observação: Para fornecer autenticação CMU-AD Kerberos para os usuários do Microsoft Active Directory, você deve continuar a configurar autenticação CMU-AD sem desativar a autenticação Kerberos.