Azure-Service-Principal für den Zugriff auf Azure-Ressourcen verwenden
Sie können einen Azure-Service-Principal mit Autonomous AI Database verwenden, um auf Azure-Ressourcen zuzugreifen, ohne Ihre eigenen Zugangsdatenobjekte in der Datenbank erstellen und speichern zu müssen.
Azure-Service-Principal aktivieren
Aktivieren Sie die Azure-Service-Principal-Authentifizierung, damit Autonomous AI Database auf Azure-Services zugreifen kann, ohne langfristige Zugangsdaten bereitzustellen.
Hinweis
Hinweis: Um Autonomous AI Database mit Azure-Service-Principal-Authentifizierung zu verwenden, benötigen Sie einen Microsoft Azure-Account. Weitere Informationen finden Sie unter Microsoft Azure.
So aktivieren Sie die Azure-Service-Principal-Authentifizierung in einer autonomen KI-Datenbank:
-
Rufen Sie die Microsoft Azure Active Directory-Mandanten-ID ab.
Weitere Informationen finden Sie unter So finden Sie Ihre Azure Active Directory-Mandanten-ID.
-
Aktivieren Sie Azure-Service-Principal mit
DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH.Beispiel:
BEGIN DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH( provider => 'AZURE', username => 'adb_user', params => JSON_OBJECT('azure_tenantid' value 'azure_tenantID')); END; /Dadurch wird die Azure-Service-Principal-Authentifizierung aktiviert und eine Azure-Anwendung in einer autonomen KI-Datenbank erstellt.
Wenn der angegebene Benutzer Berechtigungen zum Aktivieren des Azure-Service-Principals für andere Benutzer haben soll, setzen Sie den Parameter
paramsgrant_optionaufTRUE.Beispiel:
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; /Nachdem Sie diesen Befehl ausgeführt haben, kann
adb_userden Azure-Service-Principal für einen anderen Benutzer aktivieren. Beispiel: Wenn Sie eine Verbindung alsadb_userherstellen, können Sie den folgenden Befehl ausführen:BEGIN DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH( provider => 'AZURE', username => 'adb_user2'); END; /
Weitere Informationen finden Sie unter Prozedur ENABLE_PRINCIPAL_AUTH.
Azure-Anwendungszustimmung erteilen und Rollen zuweisen
Um auf Azure-Ressourcen von Autonomous AI Database mit Azure-Service-Principal-Authentifizierung zuzugreifen, müssen Sie der Azure-Anwendung zustimmen und Rollen zuweisen, um den Zugriff auf Ihre Azure-Ressourcen zu ermöglichen.
Um die Azure-Anwendungszustimmung zu erteilen und Rollen zuzuweisen, führen Sie die folgenden Schritte aus:
-
Bei Abfrage der autonomen KI-Datenbank
CLOUD_INTEGRATIONS.Beispiel:
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.ANZWKLJSZLYNB3AAWLYL3JVC4ICEXLB3ZG6WTCX735JSSY2NRHOBU4DZOOVADie Ansicht
CLOUD_INTEGRATIONSist für den BenutzerADMINoder einen Benutzer mit der RolleDWROLEverfügbar. -
Öffnen Sie in einem Browser die Azure-Zustimmungs-URL, die durch den Parameter
azure_consent_urlangegeben wird.Beispiel: Kopieren Sie die URL, und geben Sie sie in Ihrem Browser ein:
https://login.microsoftonline.com/f8cdef31-91255a/oauth2/v2.0/authorize?client_id=d66f1b5-1250d5445c0b&response_type=code&scope=User.readDie Seite Angeforderte Berechtigungen wird geöffnet und zeigt eine Einwilligungsanforderung an.
-
Um die Einwilligung zu erteilen, klicken Sie auf Akzeptieren.
-
Weisen Sie in der Microsoft Azure-Konsole die Rollen zu, die Sie erteilen möchten, um den Zugriff auf die angegebenen Azure-Ressourcen zuzulassen.
Beispiel: Wenn Sie von einer autonomen KI-Datenbank auf Azure Blob Storage zugreifen möchten, weisen Sie Rollen zu, damit die Azure-Anwendung (der Service-Principal) Zugriff auf Azure Blob Storage hat.
Hinweis
Hinweis: Um mit Azure Blob Storage zu arbeiten, benötigen Sie einen Azure-Speicheraccount. Wenn Sie keinen Azure-Speicheraccount haben, erstellen Sie einen Speicheraccount. Weitere Informationen finden Sie unter Speicheraccount erstellen.
a. Wählen Sie in der Microsoft Azure-Konsole unter Azure-Services die Option Speicherkonten aus.
b. Klicken Sie unter Speicherkonten auf das Speicherkonto, dem Sie Service-Principal-Zugriff erteilen möchten.
c. Klicken Sie links auf Access Control (IAM).
d. Klicken Sie im oberen Bereich auf + Hinzufügen → Rollenzuweisung hinzufügen.
e. Geben Sie im Suchbereich Text ein, um die Liste der angezeigten Rollen einzugrenzen. Beispiel: Geben Sie Storage Blob ein, um die verfügbaren Rollen anzuzeigen, die Storage Blob enthalten.
f. Wählen Sie eine oder mehrere Rollen für den Zugriff aus, den Sie gewähren möchten. Beispiel: Wählen Sie Storage Blob Data Contributor aus.
g. Klicken Sie auf Weiter.
h. Klicken Sie unter Elemente unter Rollenzuweisung hinzufügen auf + Elemente auswählen.
i. Geben Sie unter Elemente auswählen im Auswahlfeld die in Schritt 1 aufgeführte
azure_app_nameein (die Spalteparam_valueder AnsichtCLOUD_INTEGRATIONS).v. Wählen Sie die Anwendung. Beispiel: Klicken Sie auf
ADBS_APP_OCID1.AUTONOMOUSDATABASE.REGION1.SEA.ANZWKLJSZLYNB3AAWLYL3JVC4ICEXLB3ZG6WTCX735JSSY2NRHOBU4DZOOVA.k. Klicken Sie auf Wählen.
l. Klicken Sie auf Review + assign.
-
Klicken Sie erneut auf Prüfen + zuweisen.
Nach der Zuweisung einer Rolle müssen Sie warten, da die Propagierung von Rollenzuweisungen in Azure bis zu fünf Minuten dauern kann.
In diesem Beispiel werden Schritte zum Erteilen von Rollen für den Zugriff auf Azure Blob Storage gezeigt. Wenn Sie Zugriff für andere Azure-Services bereitstellen möchten, müssen Sie entsprechende Schritte für die zusätzlichen Azure-Services ausführen, damit die Azure-Anwendung (der Service-Principal) auf den Azure-Service zugreifen kann.
Azure-Service-Principal mit DBMS_CLOUD verwenden
Wenn Sie DBMS_CLOUD-Aufrufe für den Zugriff auf Azure-Ressourcen vornehmen und den Zugangsdatennamen als AZURE$PA angeben, wird die Authentifizierung auf Azure-Seite mit dem Azure-Service-Principal ausgeführt.
Wenn dies noch nicht geschehen ist, führen Sie die erforderlichen Voraussetzungsschritte aus:
-
Aktivieren Sie das ADMIN-Schema oder ein anderes Schema, um die Principal-Authentifizierung des Azure-Service zu verwenden. Weitere Informationen finden Sie unter Azure Service Principal aktivieren.
-
Zustimmen Sie die Anwendung, und führen Sie die Azure-Rollenzuweisungsberechtigungen aus. Weitere Informationen finden Sie unter Azure-Anwendungszustimmung erteilen und Rollen zuweisen.
Um eine DBMS_CLOUD-Prozedur oder -Funktion mit einem Azure-Service-Principal zu verwenden, geben Sie AZURE$PA als Zugangsdatennamen an. Beispiel: Sie können wie folgt auf Azure Blob Storage mit den Principal-Zugangsdaten des Azure-Service zugreifen:
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
Wenn Sie die Schritte vergleichen, die für den Zugriff auf den Objektspeicher erforderlich sind, wie unter Zugangsdaten erstellen und Daten in eine vorhandene Tabelle kopieren dargestellt, beachten Sie, dass Schritt 1 nicht erforderlich ist, um Zugangsdaten zu erstellen, da Sie einen Azure-Service-Principal mit dem Namen AZURE$PA verwenden.
Azure-Service-Principal deaktivieren
Um den Zugriff auf Azure-Ressourcen aus der Autonomous AI Database mit dem Azure-Service-Principal zu deaktivieren, verwenden Sie DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH.
So deaktivieren Sie den Azure-Service-Principal in einer autonomen KI-Datenbank:
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH(
provider => 'AZURE',
username => 'adb_user');
END;
/Wenn der provider-Wert AZURE ist und username ein anderer Benutzer als der ADMIN-Benutzer ist, entzieht die Prozedur dem angegebenen Benutzer die Berechtigungen. In diesem Fall können der ADMIN-Benutzer und andere Benutzer weiterhin ADMIN.AZURE$PA verwenden, und die Anwendung, die für die Instanz der autonomen KI-Datenbank erstellt wird, bleibt auf der Instanz.
Wenn der Wert für provider AZURE ist und username ADMIN ist, deaktiviert die Prozedur die auf dem Azure-Service-Principal basierende Authentifizierung und löscht die Principal-Anwendung des Azure-Service in der Instanz der autonomen KI-Datenbank. Wenn Sie in diesem Fall den Azure-Service-Principal aktivieren möchten, müssen Sie alle erforderlichen Schritte ausführen, um den Azure-Service-Principal erneut zu verwenden, einschließlich der folgenden Schritte:
-
Aktivieren Sie das Schema
ADMINoder ein anderes Schema, um die Azure-Service-Principal-Authentifizierung zu verwenden. Weitere Informationen finden Sie unter Azure Service Principal aktivieren. -
Zustimmen Sie die Anwendung, und führen Sie die Azure-Rollenzuweisungsberechtigungen aus. Weitere Informationen finden Sie unter Azure-Anwendungszustimmung erteilen und Rollen zuweisen.
Weitere Informationen finden Sie unter DISABLE_PRINCIPAL_AUTH - Prozedur.
Hinweise zum Azure-Service-Principal
Hinweise zur Verwendung des Azure-Service-Principals.
Autonome AI-Datenbankinstanz mit Azure-Service-Principal klonen: Wenn Sie eine Instanz klonen, für die der Azure-Service-Principal aktiviert ist, wird die Azure-Service-Principal-Konfiguration nicht auf den Klon übertragen. Führen Sie die Schritte aus, um den Azure-Service-Principal auf dem Klon zu aktivieren, wenn Sie den Azure-Service-Principal auf einer geklonten Instanz aktivieren möchten.