Identity and Access Management-(IAM-)Authentifizierung mit Autonomous AI Database verwenden

Sie können Autonomous AI Database so konfigurieren, dass die Oracle Cloud Infrastructure Identity and Access Management-(IAM-)Authentifizierung und -Autorisierung verwendet wird, damit IAM-Benutzer mit IAM-Zugangsdaten auf eine Autonomous AI Database zugreifen können.

Hinweis: Die Integration der autonomen KI-Datenbank in Oracle Cloud Infrastructure (OCI) IAM wird in kommerziellen Mandanten mit Identitätsdomains unterstützt und mit dem Legacy-Oracle Cloud Infrastructure IAM, das keine Identitätsdomains enthält. Oracle Cloud Infrastructure-IAM mit Identitätsdomains wurde mit neuen OCI-Mandanten eingeführt, die nach dem 8. November 2021 erstellt wurden. Autonomous AI Database unterstützt Benutzer und Gruppen in Standard- und Nicht-Standardidentitätsdomains.

Identity and Access Management-(IAM-)Authentifizierung mit Autonomous AI Database

Die Oracle Cloud Infrastructure IAM-Integration mit Autonomous AI Database unterstützt sowohl die Authentifizierung mit Datenbankkennwörtern als auch die tokenbasierte Authentifizierung. Vollständige Details zur Architektur für die Verwendung von IAM-Benutzern in einer autonomen KI-Datenbank finden Sie unter IAM-Benutzer für Oracle Autonomous AI Databases authentifizieren und autorisieren.

Authentifizierung mit einem IAM-Datenbankkennwort

Hinweis: Jeder unterstützte 12c-Datenbankclient und höher kann für den IAM-Datenbankkennwortzugriff auf Autonomous AI Database verwendet werden.

Mit einem Oracle Cloud Infrastructure-IAM-Datenbankkennwort kann sich ein IAM-Benutzer bei einer autonomen AI-Datenbankinstanz anmelden, da sich ein Oracle Database-Benutzer normalerweise mit einem Benutzernamen und ein Kennwort anmelden. Der Benutzer gibt seinen IAM-Benutzernamen und sein IAM-Datenbankkennwort ein. Ein IAM-Datenbankkennwort unterscheidet sich vom Kennwort für die Oracle Cloud Infrastructure-Konsole. Wenn Sie einen IAM-Benutzer mit der Kennwortverifizierung verwenden, können Sie sich bei Autonomous AI Database mit jedem unterstützten Datenbankclient anmelden.

Auf Identity and Access Management-(IAM-)-Token basierte SSO-Authentifizierung

Ein Datenbankclient kann ein IAM-Datenbanktoken auf mehrere Arten abrufen:

Wenn ein Benutzer einen Benutzernamen/ein Kennwort für die Anmeldung eingibt, verwendet der Datenbanktreiber die Kennwortverifizierungsmethode, um unabhängig von der Einstellung des Clients für das Datenbanktoken auf die Datenbank zuzugreifen.

Voraussetzungen für Identity and Access Management-(IAM-)Authentifizierung in einer autonomen KI-Datenbank

Bevor Sie die Identity and Access Management-(IAM-)Authentifizierung in einer autonomen KI-Datenbank verwenden, müssen Sie Folgendes sicherstellen:

Externe Identitätsprovider in autonomer KI-Datenbank ändern

Beschreibt die Schritte zum Ändern des externen Identitätsproviders von (IAM-)Authentifizierung und -Autorisierung in einen anderen externen Authentifizierungsprovider und umgekehrt.

Die Oracle Cloud Infrastructure-(IAM-)Authentifizierung und -Autorisierung für Benutzer ist standardmäßig für neu bereitgestellte autonome KI-Datenbanken und autonome Containerdatenbanken aktiviert. Es gibt andere externe Authentifizierungsschemas, wie z.B. zentral verwaltete Benutzer mit Active Directory (CMU-AD), Azure AD und Kerberos, die Sie für Ihre autonome KI-Datenbank aktivieren können. Nur ein externes Authentifizierungsschema kann jeweils aktiviert sein.

So ermöglichen Sie Datenbankbenutzern, eine Verbindung zur autonomen KI-Datenbank mit einem anderen externen Authentifizierungsschema herzustellen:

  1. IAM-Integration mit der Prozedur DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION deaktivieren:

    Beispiel:

     BEGIN
       DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
     END;
     /
    

    Weitere Informationen finden Sie unter DISABLE_EXTERNAL_AUTHENTICATION-Prozedur.

  2. Führen Sie die auf den folgenden Seiten beschriebenen Schritte aus, um ein anderes externes Authentifizierungsschema Ihrer Wahl zu konfigurieren:

  3. Aktivieren Sie IAM-Benutzer erneut, um mit Oracle Cloud Infrastructure-(IAM-)Authentifizierung und -Autorisierung eine Verbindung zu Autonomous AI Database herzustellen.

    Führen Sie als ADMIN-Benutzer die Prozedur DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION mit den folgenden Parametern aus:

     BEGIN
       DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
    
         type => 'OCI_IAM'
         force => TRUE
         );
     END;
     /
    

    Im obigen Beispiel werden externe Authentifizierungsprovider deaktiviert, die derzeit aktiviert sind und die Oracle Cloud Infrastructure-(IAM-)Authentifizierung und -Autorisierung aktivieren.

    In diesem Beispiel:

    • force ist auf TRUE gesetzt, um die derzeit aktivierte externe Authentifizierung zu deaktivieren.

    • type ist auf 'OCI_IAM' gesetzt, um die Oracle Cloud Infrastructure-(IAM-)Authentifizierung und -Autorisierung zu aktivieren und zu verwenden.

    Hinweis: Standardmäßig ist der Parameter force FALSE. Wenn eine andere externe Authentifizierungsmethode aktiviert ist und force FALSE ist, meldet DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION den folgenden Fehler: ORA-20004: Another external authentication is already enabled.

    Weitere Informationen finden Sie unter Prozedur ENABLE_EXTERNAL_AUTHENTICATION.

  4. Prüfen Sie den Wert des Systemparameters IDENTITY_PROVIDER_TYPE wie unten dargestellt:

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

Identity and Access Management-(IAM-)Gruppen und -Policys für IAM-Benutzer erstellen

Beschreibt die Schritte zum Schreiben der Policy-Anweisungen für eine IAM-Gruppe, mit denen IAM-Benutzerzugriff auf Oracle Cloud Infrastructure-Ressourcen, insbesondere auf Autonomous AI Database-Instanzen, ermöglicht wird.

Eine Policy ist eine Gruppe von Anweisungen, die angeben, wer wie auf welche Ressourcen zugreifen kann. Der Zugriff kann für den gesamten Mandanten, die Datenbanken in einem Compartment oder einzelne Datenbanken erteilt werden. Das bedeutet, dass Sie eine Policy-Anweisung schreiben, die einer bestimmten Gruppe einen bestimmten Zugriffstyp für einen bestimmten Ressourcentyp in einem bestimmten Compartment erteilt.

Hinweis: Die Festlegung einer Policy ist erforderlich, wenn Sie für den Zugriff auf Autonomous AI Database IAM-Token verwenden. Eine Policy ist nicht erforderlich, wenn Sie IAM-Datenbankkennwörter für den Zugriff auf Autonomous AI Database verwenden.

So ermöglichen Sie es Autonomous AI Database, dass IAM-Benutzer mit IAM-Token eine Verbindung zur Datenbank herstellen können:

  1. Führen Sie Oracle Cloud Infrastructure Identity and Access Management-Voraussetzungsprüfungen aus, indem Sie eine Gruppe erstellen und der Gruppe Benutzer hinzufügen.

    Erstellen Sie beispielsweise die Gruppe sales_dbusers.

    Weitere Informationen finden Sie unter Gruppen verwalten.

  2. Schreiben Sie Policy-Anweisungen, um den Zugriff auf Oracle Cloud Infrastructure-Ressourcen zu ermöglichen.

    1. Klicken Sie in der Oracle Cloud Infrastructure-Konsole auf Identität & Sicherheit.

    2. Klicken Sie unter Identität und Sicherheit auf Policys.

    3. Um eine Policy zu schreiben, klicken Sie auf Policy erstellen.

    4. Geben Sie auf die Seite "Policy erstellen" einen Namen sowie eine Beschreibung ein.

    5. Wählen Sie auf der Seite "Policy erstellen" die Option Manuellen Editor anzeigen.

       [Description of the illustration adb_iam_create_policy_manual.png](img_text/adb_iam_create_policy_manual.html)
      
    6. Erstellen Sie mit Policy Builder eine Policy.

      Beispiel: So erstellen Sie eine Policy, die Benutzern in der IAM-Gruppe DBUsers den Zugriff auf eine autonome KI-Datenbank in ihrem Mandanten gestattet:

       Allow group DBUsers to use autonomous-database-family in tenancy
      

      Beispiel: So erstellen Sie eine Policy, die dem Zugriff durch Mitglieder der Gruppe DBUsers auf autonome KI-Datenbanken nur in Compartment testing_compartment beschränkt:

       allow group DBUsers to use autonomous-database-family in compartment testing_compartment
      

      Beispiel: So erstellen Sie eine Policy, die den Gruppenzugriff auf eine einzelne Datenbank in einem Compartment beschränkt:

       allow group DBUsers to use autonomous-database-family in compartment testing_compartment where target.database.id = 'ocid1.autonomousdatabase.oc1.iad.aaaabbbbcccc'
      

      Weitere Informationen zu IAM-Policys für den Zugriff auf die Datenbank finden Sie unter IAM-Policy erstellen, um Benutzer mit Token zu autorisieren in der Datenbanksicherheitsdokumentation.

    7. Klicken Sie auf Erstellen.

      Weitere Informationen zu Policys finden Sie unter Policys verwalten.

Hinweise zum Erstellen von Policys zur Verwendung mit IAM-Benutzern in Autonomous AI Database:

IAM-Benutzer in autonomer KI-Datenbank hinzufügen

Um IAM-Benutzer für den Zugriff auf Autonomous AI Database hinzuzufügen, ordnen sie globale Datenbankbenutzer mit CREATE USER- oder ALTER USER-Anweisungen (mit Klausel IDENTIFIED GLOBALLY AS) IAM-Gruppen oder Benutzern zu.

Die Autorisierung von IAM-Benutzern bei einer autonomen AI-Datenbankinstanz erfolgt durch Zuordnung von globalen IAM-Benutzern (Schemas) zu IAM-Benutzern (exklusive Zuordnung) oder IAM-Gruppen (Zuordnung gemeinsamem Schema).

Soautorisieren Sie IAM-Benutzer auf einer Autonomous AI Database-Instanz:

  1. Melden Sie sich als ADMIN-Benutzer bei der Datenbank an, die für die Verwendung von IAM aktiviert ist (der ADMIN-Benutzer verfügt über die Systemberechtigungen CREATE USER und ALTER USER, die Sie für diese Schritte benötigen).

  2. Erstellen Sie eine Zuordnung zwischen dem Benutzer (Schema) der autonomen AI-Datenbank mit CREATE USER- oder ALTER USER-Anweisungen und der Klausel IDENTIFIED GLOBALLY AS, und geben Sie den IAM-Gruppennamen ein.

    Verwenden Sie die folgende Syntax, um einen globalen Benutzer einer IAM-Gruppe zuzuordnen:

     CREATE USER global_user IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=IAM_GROUP_NAME';
    

    Beispiel: So ordnen Sie eine IAM-Gruppe namens db_sales_group einem gemeinsamen globalen Datenbankbenutzer namens sales_group zu:

     CREATE USER sales_group IDENTIFIED GLOBALLY AS
          'IAM_GROUP_NAME=db_sales_group';
    

    Dadurch wird eine gemeinsame globale Benutzerzuordnung erstellt. Die Zuordnung mit dem globalen Benutzer sales_group gilt für alle Benutzer in der IAM-Gruppe. Daher kann sich jedes Mitglied in db_sales_group mit seinen IAM-Zugangsdaten bei der Datenbank anmelden (über die gemeinsame Zuordnung des globalen Benutzers sales_group).

    Das folgende Beispiel zeigt, wie Sie dies für eine Nicht-Standarddomain erreichen:

     CREATE USER shared_sales_schema IDENTIFIED GLOBALLY AS
          'IAM_GROUP_NAME=sales_domain/db_sales_group';
    
  3. Wenn Sie zusätzliche globale Benutzerzuordnungen für andere IAM-Gruppen oder -Benutzer erstellen möchten, führen Sie die folgenden Schritte für jede IAM-Gruppe bzw. jeden Benutzer aus.

Hinweis: Datenbankbenutzer, die nicht IDENTIFIED GLOBALLY sind, können sich weiterhin wie zuvor anmelden, selbst wenn die autonome KI-Datenbank für die IAM-Authentifizierung aktiviert ist.

So ordnen Sie einen globalen Oracle Database-Benutzer exklusiv einem lokalen IAM-Benutzer zu:

  1. Melden Sie sich als ADMIN-Benutzer bei der Datenbank an, die für die Verwendung von IAM aktiviert ist (der ADMIN-Benutzer verfügt über die Systemberechtigungen CREATE USER und ALTER USER, die Sie für diese Schritte benötigen).

  2. Erstellen Sie eine Zuordnung zwischen dem autonomen AI-Datenbankbenutzer (Schema) mit CREATE USER- oder ALTER USER-Anweisungen, und nehmen Sie die Klausel IDENTIFIED GLOBALLY AS auf, und geben Sie den lokalen IAM-Benutzernamen für IAM an.

    Beispiel: So erstellen Sie einen neuen globalen Datenbankbenutzer namens peter_fitch und ordnen diesen Benutzer einem vorhandenen lokalen IAM-Benutzer namenspeterfitch zu:

     CREATE USER peter_fitch IDENTIFIED GLOBALLY AS 'IAM_PRINCIPAL_NAME=peterfitch'
    

    Das folgende Beispiel zeigt, wie der Benutzer durch Angabe einer Nicht-Standarddomain sales_domain erstellt wird:

     CREATE USER peter_fitch2 IDENTIFIED GLOBALLY AS
     'IAM_PRINCIPAL_NAME=sales_domain/peterfitch';
    

IAM-Rollen in Autonomous AI Database hinzufügen

Erstellen Sie optional globale Rollen, um zusätzliche Datenbankrollen und -berechtigungen für IAM-Benutzer bereitzustellen, wenn mehrere IAM-Benutzer demselben gemeinsamen globalen Benutzer zugeordnet werden.

Die Verwendung globaler Rollen ist optional, wenn entweder eine exklusive IAM-Zuordnung zu Benutzer (Schema) oder eine gemeinsame Benutzerzuordnung in einer autonomen KI-Datenbank verwendet wird. Beispiel: Alle Berechtigungen und Rollen können dem gemeinsamen Schema erteilt werden, und allen IAM-Benutzern, die dem gemeinsamen Schema zugeordnet sind, werden die Berechtigungen und Rollen erteilt, die dem gemeinsamen Schema zugewiesen sind.

Sie können eine globale Rolle verwenden, um optional Benutzer zu unterscheiden, die dasselbe gemeinsame Schema verwenden. Beispiel: Eine Reihe von Benutzern kann dasselbe gemeinsame Schema haben, und das gemeinsame Schema kann die Berechtigung CREATE SESSION besitzen. Mit globalen Rollen können dann unterschiedliche Berechtigungen und Rollen bereitgestellt und verschiedenen Benutzergruppen zugewiesen werden, die alle dasselbe gemeinsame Schema verwenden.

Um IAM-Benutzern in Autonomous AI Database zusätzliche Rollen zu erteilen, müssen globale Rollen in Autonomous AI Database IAM-Gruppen zugewiesen wird.

So ordnen Sie autonome AI-Datenbank globale Rollen zu IAM-Gruppen zu:

  1. Melden Sie sich als ADMIN-Benutzer bei der Datenbank an, die für die Verwendung von IAM aktiviert ist (der ADMIN-Benutzer verfügt über die Systemberechtigungen CREATE USER und ALTER USER, die Sie für diese Schritte benötigen).

  2. Legen Sie eine Datenbankautorisierung für autonome AI-Datenbankrollen mit CREATE ROLE- oder ALTER ROLE-Anweisungen fest, und geben Sie dabei die Klausel IDENTIFIED GLOBALLY AS an. Geben Sie dabei den IAM-Gruppennamen ein.

    Verwenden Sie die folgende Syntax, um eine globale Rolle einer IAM-Gruppe zuzuordnen:

     CREATE ROLE global_role IDENTIFIED GLOBALLY AS
         'IAM_GROUP_NAME=IAM_GROUP_of_WHICH_the_IAM_USER_IS_a_MEMBER';
    

    Beispiel: So ordnen Sie eine IAM-Gruppe namens ExporterGroup einer gemeinsamen globalen Datenbankrolle namens export_role zu:

     CREATE ROLE export_role IDENTIFIED GLOBALLY AS
          'IAM_GROUP_NAME=ExporterGroup';
    

    Das folgende Beispiel zeigt, wie die Rolle durch Angabe einer Nicht-Standarddomain sales_domain erstellt wird:

     CREATE ROLE export_role IDENTIFIED GLOBALLY AS
          'IAM_GROUP_NAME=sales_domain/ExporterGroup';
    

    Alle Mitglieder der ExporterGroup in der Domain sales_domain werden mit der globalen Datenbankrolle export_role autorisiert, wenn sie sich bei der Datenbank anmelden.

  3. Verwenden Sie GRANT-Anweisungen, um der globalen Rolle die erforderlichen Berechtigungen oder andere Rollen zu erteilen.

     GRANT CREATE SESSION TO export_role;
     GRANT DWROLE TO export_role;
    
  4. Wenn Sie eine vorhandene Datenbankrolle mit einer IAM-Gruppe verknüpfen möchten, verwenden Sie die ALTER ROLE-Anweisung, um die vorhandene Datenbankrolle zu ändern und die Rolle einer IAM-Gruppe zuzuordnen. Mit der folgenden Syntax können Sie eine vorhandene Datenbankrolle ändern, um sie einer IAM-Gruppe zuzuordnen:

     ALTER ROLE existing_database_role
        IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=IAM_Group_Name';
    

Wenn Sie zusätzliche globale Rollenzuordnungen für andere IAM-Gruppen erstellen möchten, führen Sie die folgenden Schritte für jede IAM-Gruppe aus.

IAM-Datenbankkennwort für IAM-Benutzer erstellen

Um einen IAM-Benutzer hinzuzufügen und dem IAM-Benutzer die Anmeldung bei Autonomous AI Database zu gestatten, indem Sie einen Benutzernamen und ein Kennwort angeben, müssen Sie ein IAM-Datenbankkennwort erstellen.

Weitere Informationen finden Sie unter Mit IAM-Datenbankkennwörtern arbeiten.

Verbindung zu Autonomous AI Database mit Identity and Access Management-(IAM-)Authentifizierung herstellen

Nachdem der Datenbankbenutzer ADMIN den IAM-Benutzern und IAM-Gruppen globale Benutzer und globale Rollen zugeordnet hat, melden sich Benutzer mit ihren Oracle Cloud Infrastructure-IAM-Zugangsdaten bei der Autonomous AI-Datenbankinstanz an oder greifen über ein Oracle Cloud Infrastructure-IAM-Datenbanktoken auf der Datenbank zu.

Sie können sich weiterhin mit dem Benutzernamen und Kennwort für Ihren lokalen Datenbankaccount (nicht-globaler Datenbankbenutzeraccount) bei der Autonomous AI Database anmelden.

Als Oracle Cloud Infrastructure-IAM-Benutzer können Sie mit einem Datenbankclient auf eine autonome AI-Datenbankinstanz zugreifen. Um einen Client mit Oracle Cloud Infrastructure-IAM-Benutzername und -Kennwort sowie einer Kennwortverifizierung zu verwenden, muss der Datenbankclient 12c oder höher sein.

Alternativ können Sie ein Oracle Cloud Infrastructure IAM-Datenbanktoken auf eine Autonomous AI Database-Instanz mit unterstützten Clients zugreifen:

Hinweis: Wenn sich Ihre Instanz der autonomen KI-Datenbank im eingeschränkten Modus befindet, können nur die Benutzer mit der Berechtigung RESTRICTED SESSION wie ADMIN eine Verbindung zur Datenbank herstellen.

Verbindung zu einer autonomen KI-Datenbank auf einer dedizierten Exadata-Infrastrukturinstanz mit IAM herstellen

IAM-Benutzer können sich entweder mit einer IAM-Datenbankkennwortverifizierung oder einem IAM-Token bei der autonomen AI-Datenbank auf einer dedizierten Exadata-Infrastrukturinstanz anmelden.

Die Verwendung der IAM-Datenbankkennwortverifizierung ähnelt dem Oracle Database-Kennwortauthentifizierungsprozess. Der unterschiedliche Unterschied ist, dass die Kennwortverifizierung (verschlüsselter Hasch des Kennworts) nicht in der Autonomous AI Database on Dedicated Exadata Infrastructure gespeichert wird, sondern im Oracle Cloud Infrastructure (OCI) IAM-Benutzerprofil.

Die zweite Verbindungsmethode, bei der ein IAM-Token für die Datenbank verwendet wird, ist moderner. Die Verwendung von tokenbasiertem Zugriff eignet sich besser für Cloud-Ressourcen wie Autonomous AI Database on Dedicated Exadata Infrastructure. Das Token basiert auf der Stärke, die der IAM-Endpunkt durchsetzen kann. Dies kann eine Multifaktor-Authentifizierung sein, die stärker ist als die alleinige Verwendung von Kennwörtern. Ein weiterer Vorteil der Verwendung von Token besteht darin, dass die Kennwortverifizierung (die als sensibel gilt) nie gespeichert wird oder im Arbeitsspeicher verfügbar ist.

Clientverbindungen, die eine IAM-Datenbankkennwortverifizierung verwenden

Nachdem Sie die für den IAM-Benutzer erforderliche Autorisierung konfiguriert haben, kann sich dieser Benutzer ohne zusätzliche Konfiguration mit einer vorhandenen Clientanwendung wie SQL*Plus oder SQLcl anmelden.

Der IAM-Benutzer gibt den IAM-Benutzernamen und das IAM-Datenbankkennwort (nicht das Oracle Cloud Infrastructure-(OCI-)Konsolenkennwort) mit einem beliebigen aktuell unterstützten Datenbankclient ein. Der einzige Constraint besteht darin, dass die Datenbankclientversion Oracle Database Release 12.1.0.2 oder höher sein muss, um Oracle Database 12c-Kennwörter verwenden zu können. Der Datenbankclient muss die Kennwortverifizierung 12C verwenden können. Die Verwendung der Verifizierungsverschlüsselung 11G wird mit IAM nicht unterstützt. Es ist keine spezielle Client- oder Toolkonfiguration erforderlich, um dem IAM-Benutzer eine Verbindung zur Autonomous AI Database on Dedicated Exadata Infrastructure-Instanz herstellen zu können.

Clientverbindungen, die ein Token verwenden

Für den Zugriff auf IAM-Tokenzugriff auf die autonome AI-Datenbank auf dedizierter Exadata-Infrastruktur fordert die Clientanwendung oder das Clienttoool ein DatenbanktToken von IAM für den IAM-Benutzer An.

Die Clientanwendung übergibt das Datenbanktoken über die Datenbankclient-API direkt an den Datenbankclient.

Wenn die Anwendung oder das Tool nicht zur Anforderung eines IAM-Tokens aktualisiert wurde, kann der IAM-Benutzer das Datenbanktoken über die Oracle Cloud Infrastructure-(OCI-)Befehlszeilenschnittstelle (CLI) anfordern und speichern. Sie können ein Datenbankzugriffstoken (db-token) mit den folgenden Zugangsdaten anfordern:

Wenn sich der IAM-Benutzer mit einer Schrägstrichanmeldung / beim Client anmeldet und der Parameter OCI_IAM konfiguriert ist (sqlnet.ora, tnsnames.ora oder als Teil einer Verbindungszeichenfolge), ruft der Datenbankclient das Datenbanktoken aus einer Datei ab. Wenn der IAM-Benutzer einen Benutzernamen und ein Kennwort übermittelt, verwendet die Verbindung den für Clientverbindungen mit IAM-Datenbankkennwortverifizierung beschriebenen IAM-Datenbankverifizierungszugriff. Die Anweisungen in dieser Dokumentation zeigen, wie Sie die OCI-CLI als Helper für das Datenbanktoken verwenden. Wenn die Anwendung oder das Tool für den Einsatz mit IAM aktualisiert wurde, befolgen Sie die Anweisungen zu der Anwendung oder dem Tool. Zu den allgemeinen Anwendungsfällen gehören SQL*Plus On Premise, SQLcl On Premise, SQL*Plus in der Cloud Shell oder Anwendungen, die SEP-Wallets verwenden.

In den folgenden Themen wird Folgendes erläutert:

Clientverbindung für SQL*Plus konfigurieren, die ein IAM-Datenbankkennwort verwendet

Sie können SQL*Plus so konfigurieren, dass ein IAM-Datenbankkennwort verwendet wird.

Clientverbindung für SQL*Plus konfigurieren, die ein IAM-Token verwendet

Sie können eine Clientverbindung für SQL*Plus konfigurieren, die ein IAM-Token verwendet.

  1. Stellen Sie sicher, dass Sie über einen IAM-Benutzeraccount verfügen.

  2. Fragen Sie bei einem IAM-Administrator und einem Oracle Database-Administrator nach, ob Sie eine Policy haben, mit der Sie auf die Datenbank im Compartment oder in Ihrem Mandanten zugreifen können und die Sie einem globalen Schema in der Datenbank zugeordnet sind.

  3. Wenn Ihre Anwendung oder Ihr Tool keine direkte IAM-Integration unterstützt, sollten Sie die OCI-CLI herunterladen, installieren und konfigurieren. (Siehe OCI-Befehlszeilenschnittstelle - Schnellstart.) Richten Sie im Rahmen der OCI-CLI-Konfiguration einen API-Schlüssel ein, und wählen Sie Standardwerte aus.

    1. Richten Sie den API-Schlüsselzugriff für den IAM-Benutzer ein.

    2. Rufen Sie das db-token ab. Beispiel:

      • db-token mit einem API-key über die Oracle Cloud Infrastructure-(OCI-)Befehlszeilenschnittstelle abrufen:

        oci iam db-token get
        
      • db-token mit einem Sicherheitstoken (oder Sessiontoken) abrufen:

        oci iam db-token get --auth security_token
        

        Wenn das Sicherheitstoken abgelaufen ist, wird ein Fenster angezeigt, damit der Benutzer sich erneut bei OCI anmelden kann. Dadurch wird das Sicherheitstoken für den Benutzer generiert. Die OCI-CLI verwendet dieses aktualisierte Token, um db-token abzurufen.

      • db-token mit einem Delegationstoken abrufen: Wenn Sie sich bei der Cloud Shell anmelden, wird das Delegationstoken automatisch generiert und im Verzeichnis /etc platziert. Um dieses Token abzurufen, führen Sie den folgenden Befehl in der Cloud Shell aus:

        oci iam db-token get
        
      • Instanztoken über die OCI-Befehlszeilenschnittstelle abrufen:

        oci iam db-token get --auth instance_principal
        
    3. Der Datenbankclient kann auch so konfiguriert werden, dass ein Datenbanktoken mit dem IAM-Benutzernamen und IAM-Datenbankkennwort abgerufen werden.

      Weitere Informationen finden Sie unter Clientverbindungen, die das von einem IAM-Benutzernamen und -Datenbankkennwort angeforderte Token verwenden.

    Weitere Informationen finden Sie unter Erforderliche Schlüssel und OCIDs.

  4. Stellen Sie sicher, dass Sie die neuesten Releaseupdates für die Oracle Database-Clientreleases 19c und 21c verwenden.

    Diese Konfiguration funktioniert nur mit Oracle Database-Clientrelease 19c oder 21c.

  5. Befolgen Sie den vorhandenen Prozess zum Herunterladen des Wallets aus der autonomen KI-Datenbank. Befolgen Sie dann die Anweisungen, wie das Wallet zur Verwendung mit SQL*Plus konfiguriert werden kann.

    1. Vergewissern Sie sich, dass der DN-Abgleich aktiviert ist, indem Sie in sqlnet.ora nach SSL_SERVER_DN_MATCH=ON suchen.

    2. Konfigurieren Sie den Datenbankclient für die Verwendung des IAM-Tokens, indem Sie TOKEN_AUTH=OCI_TOKEN der Datei sqlnet.ora hinzufügen. Da Sie die Standardspeicherorte für die Datenbanktokendatei verwenden, müssen Sie keinen Speicherort für das Token angeben.

    Die Werte TOKEN_AUTH und TOKEN_LOCATION in den tnsnames.ora-Verbindungszeichenfolgen haben Vorrang vor den sqlnet.ora-Einstellungen für diese Verbindung. Beispiel für die Verbindungszeichenfolge, wenn sich das Token am Standardspeicherort (~/.oci/db-token für Linux) befindet:

     (description=
       (retry_count=20)(retry_delay=3)
       (address=(protocol=tcps)(port=1522)
       (host=example.us-phoenix-1.oraclecloud.com))
       (connect_data=(service_name=aaabbbccc_exampledb_high.example.oraclecloud.com))
       (security=(ssl_server_cert_dn="CN=example.uscom-east-1.oraclecloud.com,
          OU=Oracle BMCS US, O=Example Corporation,
          L=Redwood City, ST=California, C=US")
       (TOKEN_AUTH=OCI_TOKEN)))
    

Nachdem die Verbindungszeichenfolge mit dem Parameter TOKEN_AUTH aktualisiert worden ist, kann sich der IAM-Benutzer bei der Autonomous AI Database-Instanz anmelden, indem er den folgenden Befehl ausführt, um SQL\*Plus zu starten. Sie können den Verbindungsdeskriptor selbst einschließen oder den Namen des Deskriptors aus der Datei tnsnames.ora verwenden.

connect /@exampledb_high

Oder

connect /@(description=
  (retry_count=20)(retry_delay=3)
  (address=(protocol=tcps)(port=1522)
  (host=example.us-phoenix-1.oraclecloud.com))
  (connect_data=(service_name=aaabbbccc_exampledb_high.example.oraclecloud.com))
  (security=(ssl_server_cert_dn="CN=example.uscom-east-1.oraclecloud.com,
     OU=Oracle BMCS US, O=Example Corporation,
     L=Redwood City, ST=California, C=US")
  (TOKEN_AUTH=OCI_TOKEN)))

Der Datenbankclient ist bereits für den Abruf von db-token konfiguriert, weil TOKEN_AUTH bereits festgelegt wurde, entweder über die Datei sqlnet.ora oder in einer Verbindungszeichenfolge. Der Datenbankclient ruft db-token ab und signiert es mit dem Private Key und sendet das Token dann an die autonome KI-Datenbank. Wenn ein IAM-Benutzername und ein IAM-Datenbankkennwort anstelle eines Schrägstrichs / angegeben werden, stellt der Datenbankclient eine Verbindung mit dem Kennwort anstatt mit db-token her.

Instanz-Principal für den Zugriff auf Autonomous AI Database mit Identity and Access Management-(IAM-)Authentifizierung

Nachdem der ADMIN-Benutzer Oracle Cloud Infrastructure IAM auf einer autonomen KI-Datenbank aktiviert hat, kann eine Anwendung über ein Oracle Cloud Infrastructure IAM-Datenbanktoken über einen Instanz-Principal auf die Datenbank zugreifen.

Weitere Informationen finden Sie unter Auf die Oracle Cloud Infrastructure-API mithilfe von Instanz-Principals zugreifen.

Proxyauthentifizierung konfigurieren

Mit der Proxyauthentifizierung kann ein IAM-Benutzer über einen Proxy auf ein Datenbankschema zugreifen, um Aufgaben wie die Anwendungswartung auszuführen.

Die Proxyauthentifizierung wird in der Regel verwendet, um den realen Benutzer zu authentifizieren und ihn dann zu autorisieren, ein Datenbankschema mit den Schemaberechtigungen und Rollen zu verwenden, um eine Anwendung zu verwalten. Alternativen wie das Freigeben des Kennworts für das Anwendungsschema gelten als unsicher. Zudem lässt sich nicht prüfen, welcher tatsächliche Benutzer eine Aktion ausgeführt hat.

Ein Anwendungsfall wäre eine Umgebung, in der sich ein benannter IAM-Benutzer und Anwendungsdatenbankadministrator mit seinen Zugangsdaten authentifizieren und dann über einen Proxy auf einen Datenbankschemabenutzer (z.B. hrapp) zugreifen kann. Mit dieser Authentifizierung kann der IAM-Administrator die hrapp-Berechtigungen und -Rollen als Benutzer hrapp verwenden, um die Anwendungswartung auszuführen, jedoch weiterhin seine IAM-Zugangsdaten zur Authentifizierung verwenden. Ein Anwendungsdatenbankadministrator kann sich bei der Datenbank anmelden und dann über einen Proxy auf ein Anwendungsschema zugreifen, um dieses Schema zu verwalten.

Sie können die Proxyauthentifizierung sowohl für die Kennwort- als auch für die Tokenauthentifizierungsmethode konfigurieren.

Proxyauthentifizierung für den IAM-Benutzer festlegen

Um die Proxyauthentifizierung für einen IAM-Benutzer zu konfigurieren, muss der IAM-Benutzer bereits über eine Zuordnung zu einem globalen Schema (exklusive oder gemeinsame Zuordnung) verfügen. Ein separates Datenbankschema für den IAM-Benutzer muss für die Weiterleitung per Proxy ebenfalls verfügbar sein.

Wenn Sie sichergestellt haben, dass Ihnen diese Art von Benutzer vorliegt, ändern Sie den Datenbankbenutzer so, dass der IAM-Benutzer über einen Proxy darauf zugreifen kann.

  1. Melden sie sich als Benutzer mit den Systemberechtigungen ALTER USER bei der autonomen KI-Datenbankinstanz an.

  2. Erteilen Sie dem IAM-Benutzer die Berechtigung, über einen Proxy auf den lokalen Datenbankbenutzeraccount zuzugreifen. Ein IAM-Benutzer kann nicht im Befehl referenziert werden. Daher muss der Proxy zwischen dem globalen Datenbankbenutzer (dem IAM-Benutzer zugeordnet) und dem Zieldatenbankbenutzer erstellt werden. Im folgenden Beispiel ist hrapp das Datenbankschema, auf das über einen Proxy zugegriffen werden soll, und peterfitch_schema ist der globale Datenbankbenutzer, der ausschließlich dem Benutzer peterfitch zugeordnet ist.

     ALTER USER hrapp GRANT CONNECT THROUGH peterfitch_schema;
    

Nun kann sich der IAM-Benutzer mit dem Proxy bei der Datenbankinstanz anmelden. Beispiel:

So stellen Sie eine Verbindung mit einer Kennwortverifizierung her:

CONNECT peterfitch[hrapp]@connect_string
Enter password: password

So stellen Sie eine Verbindung über ein Token her:

CONNECT [hrapp]/@connect_string

Proxyauthentifizierung des IAM-Benutzers validieren

Sie können die Proxykonfiguration des IAM-Benutzers sowohl für Kennwort- als auch für Tokenauthentifizierungsmethoden validieren. 1. Melden Sie sich als Benutzer mit den Systemberechtigungen CREATE USER und ALTER USER bei der Instanz der autonomen KI-Datenbank an.

  1. Stellen Sie eine Verbindung als IAM-Benutzer her, und führen Sie die Befehle SHOW USER und SELECT SYS_CONTEXT aus. Angenommen, Sie möchten die Proxyauthentifizierung des IAM-Benutzers peterfitch prüfen, wenn dieser über einen Proxy auf den Datenbankbenutzer hrapp zugreift. Sie müssen sich mit den verschiedenen hier angegebenen Authentifizierungsmethoden bei der Datenbank anmelden. Die Ausgabe der von Ihnen ausgeführten Befehle ist jedoch für alle Typen identisch.

    • Kennwortauthentifizierung:
CONNECT peterfitch[hrapp]/password!@connect_string
SHOW USER;

--The output should be USER is "HRAPP"
SELECT SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD') FROM DUAL;

--The output should be "PASSWORD_GLOBAL"
SELECT SYS_CONTEXT('USERENV','PROXY_USER') FROM DUAL;

--The output should be "PETERFITCH_SCHEMA"
SELECT SYS_CONTEXT('USERENV','CURRENT_USER') FROM DUAL;

--The output should be "HRAPP"

Datenbanklink mit authentifizierten IAM-Benutzern verwenden

Mit einem Datenbanklink können Sie als Oracle Cloud Infrastructure-IAM-Benutzer eine Verbindung von einer autonomen AI-Datenbankinstanz zu einem anderen aufbauen.

Sie können als Oracle Cloud Infrastructure-IAM-Benutzer eine Verbindung zu einer autonomen KI-Datenbank herstellen, indem Sie entweder einen verbundenen Benutzer oder einen festen Benutzerdatenbanklink verwenden.

Hinweis: Der aktuelle Benutzerdatenbanklink wird für die Verbindung mit einer autonomen KI-Datenbank als Oracle Cloud Infrastructure-IAM-Benutzer nicht unterstützt.

Identity and Access Management-(IAM-)Authentifizierung in autonomer KI-Datenbank deaktivieren

Hier werden die Schritte zum Deaktivieren des IAM-Benutzerzugriffs über externe Authentifizierung für Autonomous AI Database beschrieben.

Sie können IAM-Benutzerzugriff auf Ihrer autonomen AI-Datenbankinstanz mit dem Befehl ALTER SYSTEM deaktivieren, wie unten dargestellt:

ALTER SYSTEM RESET IDENTITY_PROVIDER_TYPE SCOPE=BOTH;

Wenn Sie auch den Zugriff auf IAM von der Ressource, d.h. der autonomen Containerdatenbank oder der autonomen KI-Datenbank, aktualisieren möchten, müssen Sie möglicherweise die IAM-Gruppe und die Policys entfernen oder ändern, die Sie so eingerichtet haben, dass der Zugriff auf IAM aus diesen Ressourcen zulässig ist.

Hinweise zur Verwendung von autonomen KI-Datenbanktools mit Identity and Access Management-(IAM-)Authentifizierung

Bietet Hinweise zur Verwendung von Autonomous AI Database-Tools mit aktivierter IAM-Authentifizierung.