Observação:

Integrar o Oracle Autonomous Database ao Microsoft Entra ID

Introdução

O Oracle Autonomous Database pode ser integrado ao Microsoft Entra ID (ME-ID - anteriormente conhecido como Azure Active Directory (Azure AD)). Os usuários e aplicativos ME-ID podem fazer log-in com credenciais ME-ID Single Sign On (SSO) para obter um token de acesso ME-ID OAuth2 e acessar o banco de dados.

Isso é feito com um token de acesso OAuth2 ME-ID que o usuário ou o aplicativo solicita primeiro do ME-ID. Esse token de acesso OAuth2 contém as informações de identidade do usuário e acesso ao banco de dados e é enviado ao banco de dados.

Público-alvo

Profissionais e Administradores do IAM.

Objetivos

Pré-requisitos

Tarefa 1: Registrar o Oracle Autonomous Database no Registro do Aplicativo Microsoft Azure

  1. Acesse o portal do Microsoft Azure como pelo menos um Administrador de Aplicativos em Nuvem.

    Portal do Microsoft Azure

  2. Navegue até Home, Azure Active Directory, Registros de Aplicativos e Registre um aplicativo. Informe Nome como ADB-DB e clique em Registrar. O aplicativo foi criado.

    Portal do Microsoft Azure

  3. Clique em URI do ID do Aplicativo: Adicionar, Editar o URI do ID do Aplicativo e substitua api: pelo nome do domínio da tenancy, conforme mencionado, e clique em Salvar.

    • URI do ID do Aplicativo: <tenancy_domain_name>/appid

      Portal do Microsoft Azure

  4. Clique em Adicionar um escopo e insira os detalhes a seguir e clique em Adicionar escopo.

    • Nome do escopo: session:scope:connect

    • Quem pode consentir?: Admins and users

    • Nome para exibição do consentimento do administrador: connect to database

    • Descrição do consentimento do administrador: connect to database

    • Nome para exibição do conteúdo do usuário: connect to database

    • Descrição do conteúdo do usuário: connect to database

    • Estado: Enabled

      Portal do Microsoft Azure

  5. Clique em Visão Geral, Atribuições de aplicativo, Criar atribuição de aplicativo, informe os detalhes a seguir e clique em Aplicar.

    • Nome para exibição: pdb.users

    • Tipos de membro permitidos: Users/Groups

    • Valor: pdb.users

    • Descrição: all user access

    • Deseja ativar essa atribuição de aplicativo?: Enabled

      Portal do Microsoft Azure

      Portal do Microsoft Azure

  6. Clique em Atribuições de aplicativo, Criar atribuição de aplicativo, informe os detalhes a seguir e clique em Aplicar.

    • Nome para exibição: dba.role

    • Tipos de membro permitidos: Users/Groups

    • Valor: dba.role

    • Descrição: dba global role

    • Deseja ativar essa atribuição de aplicativo?: Enabled

      Portal do Microsoft Azure

  7. Clique em Atribuições de aplicativo, Criar atribuição de aplicativo, informe os detalhes a seguir e clique em Aplicar

    • Nome para exibição: hr.app

    • Tipos de membro permitidos: Applications

    • Valor: hr.app

    • Descrição: application

    • Deseja ativar essa atribuição de aplicativo?: Enabled

      Portal do Microsoft Azure

  8. Navegue até Home, Aplicativos empresariais, ADB-DB, Designar Usuários e Grupos.

  9. Em Adicionar Atribuição, selecione Usuários e selecione seu usuário. Ao gerar o token de acesso, esse usuário designado será usado no Single-Sign On.

    • Em Selecionar uma atribuição, selecione pdb.users.

    • Clique em Selecionar.

    • Clique em Designar.

  10. Em Adicionar Atribuição, selecione Usuários e selecione seu usuário. Ao gerar o token de acesso, esse usuário designado será usado no Single-Sign On.

    • Em Selecionar uma atribuição, selecione dba.role.

    • Clique em Selecionar.

    • Clique em Designar.

Tarefa 2: Criar Registro do Aplicativo Cliente

  1. Navegue até Home, Registros de aplicativos, Registre um aplicativo, informe os seguintes detalhes e clique em Registrar.

    • Nome: ADB-Client.

    • Tipos de Conta Suportados: Accounts in this organizational directory only.

    • URI de Redirecionamento: Public client/native - http://localhost.

      Portal do Microsoft Azure

  2. Navegue até Permissões de API e clique em Adicionar uma permissão. Em Solicitar Permissões de API, selecione APIs que minha organização usa, ADB-DB, Permissões delegadas e permissão como session:scope:connect e clique em Adicionar permissões.

    Portal do Microsoft Azure

  3. Clique em Expor uma API, URI do ID do Aplicativo: Adicionar, Editar o URI do ID do Aplicativo e substitua api: pelo nome do domínio da tenancy.

    Portal do Microsoft Azure

Tarefa 3: Estabelecer Conexão com o Banco de Dados SQL

  1. Navegue até o Oracle Autonomous Database e clique na lista drop-down Ações do banco de dados, selecione SQL e informe as consultas a seguir.

    Portal do Microsoft Azure

    SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';
    

    Portal do OCI

    Observação: identity_provider_type está definido atualmente como NONE.

  2. Execute o Procedimento de Banco de Dados para definir o provedor de identidades como Azure AD.

    BEGIN
    DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
    type =>'AZURE_AD',
    params => JSON_OBJECT('tenant_id' VALUE '<tenant_id>',
    'application_id' VALUE '<application_id>',
    'application_id_uri' VALUE '<application_id_uri>'),
    force => TRUE
    );
    END;
    

    Portal do OCI

  3. Execute a consulta SQL novamente para verificar o provedor de identidades.

    SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';
    

    Portal do OCI

    Observação: identity_provider_type agora está em Azure AD.

  4. Crie Usuários - allusers, hrapp e Função - dba_azure.

    CREATE USER allusers IDENTIFIED GLOBALLY AS 'AZURE_ROLE=pdb.users';
    CREATE USER hrapp IDENTIFIED GLOBALLY AS 'AZURE_ROLE=hr.app';
    CREATE ROLE dba_azure IDENTIFIED GLOBALLY AS 'AZURE_ROLE=dba.role';
    
  5. Conceda Criar Sessão a - allusers e hrapp.

    GRANT CREATE SESSION TO allusers;
    
    GRANT CREATE SESSION TO hrapp;
    
    GRANT pdb_dba TO dba_azure;
    

    Portal do OCI

Tarefa 4: Navegar até o Portal do Azure

  1. Abra o Portal do Azure e navegue até Home, Registros de aplicativos e ADB-Client. Copie o ID do Aplicativo (cliente) e o ID do Diretório (tenant).

    Portal do Microsoft Azure

  2. Abra o portal do Azure e navegue até Home, Registros de aplicativos e ADB-DB. Copie o Escopo.

    Portal do Microsoft Azure

Tarefa 5: Obter o Token de Acesso da Microsoft usando a biblioteca MSAL Python

  1. Consulte o script Python para obter o Token de Acesso usando o fluxo AuthZ. Consulte Obter tokens de ID Entra da Microsoft usando a biblioteca MSAL Python.

  2. Substitua Client_id, Tenant_id e Scope no script obtido na Tarefa 4.

    Modificar script Python

Tarefa 6: Executar o Script Python

  1. Abra PowerShell. Verifique a versão do Python e a versão do pip.

    python --version
    
    pip --version
    
  2. Execute o script Python usando o comando a seguir. Você será redirecionado para o Portal do Microsoft Azure, onde você precisa se autenticar.

    python ./get-token-for-user.py
    

    Windows Powershell

  3. Quando a autenticação estiver concluída, você será redirecionado para PowerShell e o Token de Acesso será gerado.

    Azure

  4. Salve o Token de Acesso em sua máquina local, forneça o nome como token e salve como tipo de arquivo All Types.

    Windows Powershell

  5. Conecte-se usando a string de conexão conforme seu ambiente. Substitua o hostname e o access-token-path de acordo com o TNS.ora na wallet.

    conn /@(description= (retry_count-20) (retry_delay=3) (address= (protocol=tcps) (port=1522) (host-adb. us-ashburn-1.oraclecloud. com)) (connect_data=(<hostname>))(security-(ss1_server_dn_match-yes)(TOKEN_AUTH-OAUTH)(TOKEN_LOCATION-"<access-token-path>")))
    

    Agora você se conectou com sucesso ao banco de dados.

    Conexão do Banco de Dados

  6. Execute as consultas SQL a seguir uma por uma e observe a saída para validar o Usuário e as Atribuições.

    sqlplus /nolog
    
    SELECT SYS_CONTEXT ('USERENV','CURRENT_USER') FROM DUAL;
    
    SELECT SYS_CONTEXT ('USERENV','AUTHENTICATED_IDENTITY') FROM DUAL;
    
    SELECT SYS_CONTEXT ('USERENV','ENTERPRISE_IDENTITY') FROM DUAL;
    

    Verificar Usuários

    SELECT * FROM SESSION_ROLES;
    
    exit
    

    Verificar Função

    Você testou com sucesso a conexão com o Autonomous Database usando o Token de Acesso ME-ID OAuth.

Agradecimentos

Mais Recursos de Aprendizagem

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.