Utiliser un 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 de données d'identification dans la base de données.
Activer un principal de service Azure
Activer l'authentification du principal de service Azure pour permettre à Autonomous AI Database d'accéder aux services Azure sans fournir de données d'identification à long terme.
Note
Note : Pour utiliser Autonomous AI Database avec l'authentification de principal de service Azure, vous avez besoin d'un compte Microsoft Azure. Voir Microsoft Azure pour plus de détails.
Pour activer l'authentification du principal de service Azure sur Autonomous AI Database :
-
Obtenez votre ID client Microsoft Azure Active Directory.
Pour plus d'informations, voir Comment trouver votre ID locataire Azure Active Directory.
-
Activez un principal de service Azure avec
DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH.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.
Si vous voulez que l'utilisateur spécifié dispose de privilèges pour activer le principal de service Azure pour les autres utilisateurs, réglez le paramètre
paramsgrant_optionàTRUE.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; /Après avoir exécuté cette commande,
adb_userpeut activer le principal de service Azure pour un autre utilisateur. Par exemple, si vous êtes connecté 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, voir Procédure ENABLE_PRINCIPAL_AUTH.
Fournir le consentement pour les applications Azure et affecter des rôles
Pour accéder aux ressources Azure à partir d'Autonomous AI Database avec l'authentification du principal de service Azure, vous devez consentir à l'application Azure et affecter des rôles pour permettre l'accès à vos ressources Azure.
Pour fournir le consentement de l'application Azure et affecter des rôles, procédez comme suit :
-
Sur l'interrogation Autonomous AI Database
CLOUD_INTEGRATIONS.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, spécifié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 Autorisations demandées s'ouvre et affiche une demande de consentement.
-
Pour fournir un consentement, cliquez sur Accepter.
-
Dans la console Microsoft Azure, affectez les rôles que vous souhaitez accorder pour autoriser l'accès aux ressources Azure spécifiées.
Par exemple, si vous voulez accéder à Azure Blob Storage à partir de Autonomous AI Database, affectez des rôles afin que l'application Azure (le principal de service) ait accès à Azure Blob Storage.
Note
Note : Pour utiliser Azure Blob Storage, vous avez besoin d'un compte de stockage Azure. Si vous n'avez pas de compte de stockage Azure, créez un compte de stockage. Pour plus d'informations, voir Créer un compte de stockage.
a. Dans la console Microsoft Azure, sous Services Azure, sélectionnez Comptes de stockage.
b. Sous Comptes de stockage, cliquez sur le compte de stockage auquel vous voulez accorder l'accès au principal de service.
c. À gauche, cliquez sur Contrôle de l'accès (IAM).
j. Dans la zone supérieure, cliquez sur + Ajouter → Ajouter une affectation de rôle.
e. Dans la zone de recherche, entrez du texte pour restreindre la liste des rôles que vous voyez. Par exemple, entrez Objet BLOB de stockage pour afficher les rôles disponibles qui contiennent Objet 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 Next (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
azure_app_namelisté à l'étape 1 (colonneparam_valuede la vueCLOUD_INTEGRATIONS).j. Sélectionnez l'application. Par exemple, cliquez sur
ADBS_APP_OCID1.AUTONOMOUSDATABASE.REGION1.SEA.ANZWKLJSZLYNB3AAWLYL3JVC4ICEXLB3ZG6WTCX735JSSY2NRHOBU4DZOOVAk. Cliquez sur Sélectionner.
l (HeartBeatInterval). Cliquez sur Vérifier + affecter.
-
Cliquez de nouveau sur Vérifier + Affecter.
Après l'affectation d'un rôle, vous devez attendre, car la propagation des affectations de rôle dans Azure peut prendre jusqu'à cinq minutes.
Cet exemple montre comment accorder des rôles pour accéder à Azure Blob Storage. Si vous souhaitez fournir l'accès à d'autres services Azure, vous devez effectuer des étapes équivalentes pour les services Azure supplémentaires afin de permettre à l'application Azure (le principal de service) d'accéder au service Azure.
Utiliser un principal de service Azure avec DBMS_CLOUD
Lorsque vous effectuez des appels DBMS_CLOUD pour accéder aux ressources Azure et spécifiez le nom des données 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éalables requises :
-
Activez le schéma ADMIN ou un autre schéma pour utiliser l'authentification du principal de service Azure. Pour plus d'informations, voir Activer le principal de service Azure.
-
Consentement de l'application et exécution des autorisations d'affectation de rôle Azure. Pour plus d'informations, voir Fournir le consentement pour les applications Azure et affecter des rôles.
Pour utiliser une procédure ou une fonction DBMS_CLOUD avec le principal de service Azure, spécifiez AZURE$PA comme nom de données d'identification. Par exemple, vous pouvez accéder à Azure Blob Storage à l'aide des données d'identification du 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é sous Créer des données d'identification et copier des données dans une table existante, notez que l'étape 1, la création de données d'identification n'est pas requise car vous utilisez un principal de service Azure nommé AZURE$PA.
Désactiver un principal de service Azure
Pour désactiver l'accès aux ressources Azure à partir de la base de données Autonomous AI Database avec le principal de service Azure, utilisez DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH.
Pour désactiver le principal de service Azure sur Autonomous AI Database :
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 ADMIN, la procédure révoque les privilèges de l'utilisateur spécifié. Dans ce cas, l'utilisateur ADMIN et d'autres utilisateurs peuvent continuer à utiliser ADMIN.AZURE$PA et l'application créée pour l'instance de base de données d'intelligence artificielle autonome reste sur l'instance.
Lorsque la valeur provider est AZURE et que username est ADMIN, la procédure désactive l'authentification basée sur le principal de service Azure et supprime l'application principale de service Azure sur l'instance de base de données Autonomous AI Database. Dans ce cas, si vous voulez activer le principal de service Azure, vous devez effectuer toutes les étapes requises pour utiliser à nouveau 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, voir Activer le principal de service Azure. -
Consentement de l'application et exécution des autorisations d'affectation de rôle Azure. Pour plus d'informations, voir Fournir le consentement pour les applications Azure et affecter des rôles.
Pour plus d'informations, voir Procédure DISABLE_PRINCIPAL_AUTH.
Notes sur le principal de service Azure
Notes pour l'utilisation du principal de service Azure.
Clonage d'une instance de base de données autonome 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 reportée sur le clone. Effectuez les étapes pour activer le principal de service Azure sur le clone si vous voulez activer le principal de service Azure sur une instance clonée.