Usar a Entidade de Serviço do Azure para Acessar Recursos do Azure
Você pode usar um controlador de serviços do Azure com o Autonomous AI Database para acessar recursos do Azure sem precisar criar e armazenar seus próprios objetos de credencial no banco de dados.
Ativar Entidade de Serviço do Azure
Ative a autenticação do controlador de serviços do Azure para permitir que o Autonomous AI Database acesse serviços do Azure sem fornecer credenciais de longo prazo.
Observação
Observação: Para usar o Autonomous AI Database com autenticação do controlador de serviços do Azure, você precisa de uma conta do Microsoft Azure. Consulte Microsoft Azure para obter detalhes.
Para ativar a autenticação do controlador de serviços do Azure no Autonomous AI Database:
-
Obtenha o ID do tenant do Microsoft Azure Active Directory.
Consulte Como localizar o ID do tenant do Azure Active Directory para obter mais informações.
-
Ative o controlador de serviços do Azure com o
DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH.Por exemplo:
BEGIN DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH( provider => 'AZURE', username => 'adb_user', params => JSON_OBJECT('azure_tenantid' value 'azure_tenantID')); END; /Isso permite a autenticação do controlador de serviços do Azure e cria um aplicativo do Azure no Autonomous AI Database.
Se você quiser que o usuário especificado tenha privilégios para ativar o controlador de serviços do Azure para outros usuários, defina o parâmetro
paramsgrant_optioncomoTRUE.Por exemplo:
BEGIN DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH( provider => 'AZURE', username => 'adb_user', params => JSON_OBJECT('grant_option' value TRUE, 'azure_tenantid' value 'azure_tenantID')); END; /Depois de executar esse comando, o
adb_userpoderá ativar o controlador de serviços do Azure para outro usuário. Por exemplo, se você se conectar comoadb_user, poderá executar o seguinte comando:BEGIN DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH( provider => 'AZURE', username => 'adb_user2'); END; /
Consulte Procedimento ENABLE_PRINCIPAL_AUTH para obter mais informações.
Fornecer Consentimento de Aplicativo do Azure e Atribuir Atribuições
Para acessar recursos do Azure no Autonomous AI Database com autenticação do controlador de serviços do Azure, você deve consentir o aplicativo do Azure e designar atribuições para permitir o acesso aos recursos do Azure.
Para fornecer o consentimento do aplicativo Azure e designar atribuições, execute as seguintes etapas:
-
Na consulta do Autonomous AI Database
CLOUD_INTEGRATIONS.Por exemplo:
SELECT param_name, param_value FROM CLOUD_INTEGRATIONS;PARAM_NAME PARAM_VALUE --------------- ------------------------------------------------------------------------------------------------------------------------------------------ azure_tenantid 29981886-6fb3-44e3-82ab-d870b0e8e7eb azure_consent_url https://login.microsoftonline.com/f8cdef31-91255a/oauth2/v2.0/authorize?client_id=d66f1b5-1250d5445c0b&response_type=code&scope=User.read azure_app_name ADBS_APP_OCID1.AUTONOMOUSDATABASE.REGION1.SEA.ANZWKLJSZLYNB3AAWLYL3JVC4ICEXLB3ZG6WTCX735JSSY2NRHOBU4DZOOVAA view
CLOUD_INTEGRATIONSestá disponível para o usuárioADMINou para um usuário com a atribuiçãoDWROLE. -
Em um browser, abra o URL de consentimento do Azure, especificado pelo parâmetro
azure_consent_url.Por exemplo, copiar e inserir o URL no navegador:
https://login.microsoftonline.com/f8cdef31-91255a/oauth2/v2.0/authorize?client_id=d66f1b5-1250d5445c0b&response_type=code&scope=User.readA página Permissões solicitadas é aberta e mostra uma solicitação de consentimento.
-
Para dar consentimento, clique em Aceitar.
-
No console do Microsoft Azure, designe as atribuições que você deseja conceder para permitir o acesso aos recursos especificados do Azure.
Por exemplo, se você quiser acessar o Azure Blob Storage do Autonomous AI Database, designe atribuições para que o aplicativo do Azure (o controlador de serviços) tenha acesso ao Azure Blob Storage.
Observação
Observação: Para trabalhar com o Armazenamento Blob do Azure, você precisa de uma conta de armazenamento do Azure. Se não tiver uma conta de armazenamento do Azure, crie uma conta de armazenamento. Consulte Criar uma conta de armazenamento para obter mais informações.
a. Na console do Microsoft Azure, em Serviços do Azure, selecione Contas de armazenamento.
b. Em Contas de armazenamento, clique na conta de armazenamento à qual você deseja conceder acesso de principal de serviço.
c. À esquerda, clique em Controle de Acesso (IAM).
d. Na área superior, clique em + Adicionar → Adicionar atribuição de função.
e. Na área de pesquisa, insira o texto para restringir a lista de funções que você vê. Por exemplo, digite Blob de Armazenamento para mostrar as funções disponíveis que contêm Blob de Armazenamento.
f. Selecione uma ou mais atribuições, conforme apropriado, para o acesso que você deseja conceder. Por exemplo, selecione Colaborador de Dados do Blob de Armazenamento.
g. Clique em Avançar.
o. Na Designação de atribuição, em Membros, clique em + Selecionar membros.
i. Em Selecionar membros, no campo de seleção, digite a
azure_app_namelistada na Etapa 1 (a colunaparam_valueda exibiçãoCLOUD_INTEGRATIONS).j. Selecione o aplicativo. Por exemplo, clique em
ADBS_APP_OCID1.AUTONOMOUSDATABASE.REGION1.SEA.ANZWKLJSZLYNB3AAWLYL3JVC4ICEXLB3ZG6WTCX735JSSY2NRHOBU4DZOOVAK. Clique em Selecionar.
t. Clique em Revisar + atribuir.
-
Clique em Revisar + Designar novamente.
Depois de designar uma atribuição, você precisará aguardar, pois as atribuições de atribuição podem levar até cinco minutos para serem propagadas no Azure.
Este exemplo mostra as etapas para conceder atribuições para acessar o Armazenamento de Blocos do Azure. Se quiser fornecer acesso a outros serviços do Azure, você precisará executar etapas equivalentes para os serviços adicionais do Azure para permitir que o aplicativo do Azure (o controlador de serviços) acesse o serviço do Azure.
Usar a Entidade de Serviço do Azure com DBMS_CLOUD
Quando você faz chamadas DBMS_CLOUD para acessar recursos do Azure e especifica o nome da credencial como AZURE$PA, a autenticação no lado do Azure acontece usando o controlador de serviços do Azure.
Se você ainda não tiver feito isso, execute as etapas de pré-requisito necessárias:
-
Ative o esquema ADMIN ou outro esquema para usar a autenticação do controlador de serviços do Azure. Consulte Ativar Azure Service Principal para obter mais informações.
-
Consentir o aplicativo e executar as concessões de atribuição de atribuição do Azure. Consulte Fornecer Consentimento do Aplicativo Azure e Designar Atribuições para obter mais informações.
Para usar um procedimento ou função DBMS_CLOUD com o controlador de serviços do Azure, especifique AZURE$PA como o nome da credencial. Por exemplo, você pode acessar o Azure Blob Storage usando as credenciais do controlador de serviço do Azure da seguinte forma:
SELECT * FROM DBMS_CLOUD.LIST_OBJECTS('AZURE$PA', 'https://treedata.blob.core.windows.net/treetypes/');OBJECT_NAME BYTES CHECKSUM CREATED LAST_MODIFIED
----------- ----- ------------------------ -------------------- --------------------
trees.txt 58 aCB1qMOPVobDLCXG+2fcvg== 2022-04-07T23:03:01Z 2022-04-07T23:03:01Z
Se você comparar as etapas necessárias para acessar o armazenamento de objetos, conforme mostrado em Criar Credenciais e Copiar Dados em uma Tabela Existente, observe que a Etapa 1, a criação de credenciais não é necessária porque você está usando um controlador de serviços do Azure chamado AZURE$PA.
Desativar Entidade de Serviço do Azure
Para desativar o acesso aos recursos do Azure no Autonomous AI Database com o controlador de serviços do Azure, use DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH.
Para desativar o controlador de serviços do Azure no Autonomous AI Database:
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH(
provider => 'AZURE',
username => 'adb_user');
END;
/Quando o valor provider é AZURE e o username é um usuário diferente do usuário ADMIN, o procedimento revoga os privilégios do usuário especificado. Nesse caso, o usuário ADMIN e outros usuários podem continuar usando o ADMIN.AZURE$PA e o aplicativo criado para a instância do Autonomous AI Database permanece na instância.
Quando o valor provider é AZURE e o username é ADMIN, o procedimento desativa a autenticação baseada no controlador de serviços do Azure e exclui o aplicativo principal de serviços do Azure na instância do Autonomous AI Database. Nesse caso, se quiser ativar o controlador de serviços do Azure, você deverá executar todas as etapas necessárias para usar o controlador de serviços do Azure novamente, incluindo o seguinte:
-
Ative o esquema
ADMINou outro esquema para usar a autenticação do controlador de serviços do Azure. Consulte Ativar Azure Service Principal para obter mais informações. -
Consentir o aplicativo e executar as concessões de atribuição de atribuição do Azure. Consulte Fornecer Consentimento do Aplicativo Azure e Designar Atribuições para obter mais informações.
Consulte Procedimento DISABLE_PRINCIPAL_AUTH para obter mais informações.
Observações para a Entidade de Serviço do Azure
Observações sobre o uso do controlador de serviços do Azure.
Clonando uma instância do Autonomous AI Database com o controlador de serviços do Azure: Quando você clona uma instância com o controlador de serviços do Azure ativado, a configuração do controlador de serviços do Azure não é transferida para o clone. Execute as etapas para ativar o controlador de serviços do Azure no clone se quiser ativar o controlador de serviços do Azure em uma instância clonada.