Utilisation du principal de service Azure pour accéder aux ressources Azure
Vous pouvez utiliser un principal de service Azure avec Autonomous AI Database pour accéder aux ressources Azure sans avoir à créer et à stocker vos propres objets d'informations d'identification dans la base de données.
Activer le principal de service Azure
Activez l'authentification de principal de service Azure pour permettre à Autonomous AI Database d'accéder aux services Azure sans fournir d'informations d'identification à long terme.
Remarque
Remarque : pour utiliser Autonomous AI Database avec l'authentification de principal de service Azure, vous avez besoin d'un compte Microsoft Azure. Pour plus d'informations, reportez-vous à Microsoft Azure.
Pour activer l'authentification de principal de service Azure sur la base de données Autonomous AI :
-
Obtenez votre ID de locataire Microsoft Azure Active Directory.
Pour plus d'informations, reportez-vous à Recherche de l'ID de locataire Azure Active Directory.
-
Activez le principal de service Azure avec
DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH.Par exemple :
BEGIN DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH( provider => 'AZURE', username => 'adb_user', params => JSON_OBJECT('azure_tenantid' value 'azure_tenantID')); END; /Cela permet l'authentification du principal de service Azure et crée une application Azure sur Autonomous AI Database.
Pour que l'utilisateur indiqué dispose de privilèges permettant d'activer le principal de service Azure pour d'autres utilisateurs, définissez le paramètre
paramsgrant_optionsurTRUE.Par exemple :
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; /Une fois cette commande exécutée,
adb_userpeut activer le principal de service Azure pour un autre utilisateur. Par exemple, si vous connectez-vous en tant queadb_user, vous pouvez exécuter la commande suivante :BEGIN DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH( provider => 'AZURE', username => 'adb_user2'); END; /
Pour plus d'informations, reportez-vous à Procédure ENABLE_PRINCIPAL_AUTH.
Fournir le consentement de l'application Azure et affecter des rôles
Pour accéder aux ressources Azure à partir d'Autonomous AI Database avec l'authentification de principal de service Azure, vous devez consentir à l'application Azure et affecter des rôles pour autoriser l'accès à vos ressources Azure.
Pour fournir le consentement de l'application Azure et affecter des rôles, procédez comme suit :
-
Sur la requête Autonomous AI Database
CLOUD_INTEGRATIONS.Par exemple :
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.ANZWKLJSZLYNB3AAWLYL3JVC4ICEXLB3ZG6WTCX735JSSY2NRHOBU4DZOOVALa vue
CLOUD_INTEGRATIONSest disponible pour l'utilisateurADMINou pour un utilisateur doté du rôleDWROLE. -
Dans un navigateur, ouvrez l'URL de consentement Azure, indiquée par le paramètre
azure_consent_url.Par exemple, copiez et entrez l'URL dans votre navigateur :
https://login.microsoftonline.com/f8cdef31-91255a/oauth2/v2.0/authorize?client_id=d66f1b5-1250d5445c0b&response_type=code&scope=User.readLa page Droits d'accès demandés s'ouvre et affiche une demande de consentement.
-
Pour donner votre consentement, cliquez sur Accepter.
-
Dans la console Microsoft Azure, affectez les rôles à accorder pour autoriser l'accès aux ressources Azure spécifiées.
Par exemple, si vous voulez accéder à Azure Blob Storage à partir d'Autonomous AI Database, affectez des rôles afin que l'application Azure (le principal de service) ait accès à Azure Blob Storage.
Remarque
Remarque : pour utiliser le stockage BLOB Azure, vous avez besoin d'un compte de stockage Azure. Si vous ne disposez pas d'un compte de stockage Azure, créez-en un. Pour plus d'informations, reportez-vous à Créer un compte de stockage.
a. Sur la console Microsoft Azure, sous Services Azure, sélectionnez Comptes de stockage.
b. Sous Comptes de stockage, cliquez sur le compte de stockage auquel accorder l'accès au principal de service.
c. Sur la gauche, cliquez sur Contrôle d'accès (IAM).
d. Dans la zone supérieure, cliquez sur + Ajouter → Ajouter une affectation de rôle.
e. Dans la zone de recherche, saisissez du texte pour restreindre la liste des rôles que vous voyez. Par exemple, entrez Blob de stockage pour afficher les rôles disponibles contenant Blob de stockage.
f. Sélectionnez un ou plusieurs rôles appropriés pour l'accès que vous voulez accorder. Par exemple, sélectionnez Contributeur de données BLOB de stockage.
g. Cliquez sur Suivant.
h. Dans Ajouter une affectation de rôle, sous Membres, cliquez sur + Sélectionner des membres.
i. Sous Sélectionner des membres, dans le champ de sélection, entrez la valeur
azure_app_namerépertoriée à l'étape 1 (colonneparam_valuede la vueCLOUD_INTEGRATIONS).g. Sélectionnez l'application. Par exemple, cliquez sur
ADBS_APP_OCID1.AUTONOMOUSDATABASE.REGION1.SEA.ANZWKLJSZLYNB3AAWLYL3JVC4ICEXLB3ZG6WTCX735JSSY2NRHOBU4DZOOVA.k. Cliquez sur Sélectionner.
l. Cliquez sur Vérifier + affecter.
-
Cliquez à nouveau sur Vérifier + Affecter.
Après avoir affecté un rôle, vous devez attendre, car la propagation des affectations de rôle dans Azure peut prendre jusqu'à cinq minutes.
Cet exemple présente les étapes d'octroi de rôles pour l'accès au stockage BLOB Azure. Si vous souhaitez fournir l'accès à d'autres services Azure, vous devez effectuer des étapes équivalentes pour les services Azure supplémentaires afin d'autoriser l'application Azure (le principal de service) à accéder au service Azure.
Utiliser le principal de service Azure avec DBMS_CLOUD
Lorsque vous effectuez des appels DBMS_CLOUD pour accéder aux ressources Azure et que vous indiquez le nom d'informations d'identification AZURE$PA, l'authentification côté Azure se produit à l'aide du principal de service Azure.
Si vous ne l'avez pas encore fait, effectuez les étapes prérequises requises :
-
Activez le schéma ADMIN ou un autre schéma pour utiliser l'authentification du principal de service Azure. Pour plus d'informations, reportez-vous à Activation du principal de service Azure.
-
Consentement de l'application et octroi des autorisations d'affectation de rôle Azure Pour plus d'informations, reportez-vous à Octroi du consentement de l'application Azure et affectation de rôles.
Pour utiliser une procédure ou une fonction DBMS_CLOUD avec le principal de service Azure, indiquez AZURE$PA comme nom d'informations d'identification. Par exemple, vous pouvez accéder à Azure Blob Storage à l'aide des informations d'identification de principal de service Azure comme suit :
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
Si vous comparez les étapes requises pour accéder au stockage d'objets, comme indiqué dans Création d'informations d'identification et copie de données dans une table existante, notez que l'étape 1, Création d'informations d'identification n'est pas requise car vous utilisez un principal de service Azure appelé AZURE$PA.
Désactivation du principal de service Azure
Pour désactiver l'accès aux ressources Azure à partir de la base de données Autonomous AI avec le principal de service Azure, utilisez DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH.
Pour désactiver le principal de service Azure sur la base de données Autonomous AI :
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH(
provider => 'AZURE',
username => 'adb_user');
END;
/Lorsque la valeur provider est AZURE et que username est un utilisateur autre que l'utilisateur ADMIN, la procédure révoque les privilèges de l'utilisateur indiqué. Dans ce cas, l'utilisateur ADMIN et les autres utilisateurs peuvent continuer à utiliser ADMIN.AZURE$PA et l'application créée pour l'instance de base de données Autonomous AI reste sur l'instance.
Lorsque la valeur provider est AZURE et que la valeur username est ADMIN, la procédure désactive l'authentification basée sur le principal de service Azure et supprime l'application de principal de service Azure sur l'instance de base de données Autonomous AI. Dans ce cas, si vous voulez activer le principal de service Azure, vous devez effectuer à nouveau toutes les étapes requises pour utiliser le principal de service Azure, notamment :
-
Activez le schéma
ADMINou un autre schéma pour utiliser l'authentification du principal de service Azure. Pour plus d'informations, reportez-vous à Activation du principal de service Azure. -
Consentement de l'application et octroi des autorisations d'affectation de rôle Azure Pour plus d'informations, reportez-vous à Octroi du consentement de l'application Azure et affectation de rôles.
Pour plus d'informations, reportez-vous à Procédure DISABLE_PRINCIPAL_AUTH.
Remarques concernant le principal de service Azure
Remarques concernant l'utilisation du principal de service Azure.
Clonage d'une instance de base de données Autonomous AI avec le principal de service Azure : lorsque vous clonez une instance avec le principal de service Azure activé, la configuration du principal de service Azure n'est pas transférée vers le clone. Effectuez les étapes permettant d'activer le principal de service Azure sur le clone si vous voulez activer le principal de service Azure sur une instance clonée.