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

Sie können Autonomous AI Database so konfigurieren, dass 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 von Autonomous AI Database in Oracle Cloud Infrastructure (OCI) IAM wird in kommerziellen Mandanten mit Identitätsdomains sowie im Legacy-Oracle Cloud Infrastructure IAM unterstützt, 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. Autonome KI-Datenbank unterstützt Benutzer und Gruppen in Standard- und Nicht-Standardidentitätsdomains.

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

Die IAM-Integration von Oracle Cloud Infrastructure mit Autonomous AI Database unterstützt sowohl die Authentifizierung mit dem Datenbankkennwort als auch eine tokenbasierte Authentifizierung. Vollständige Details zur Architektur für die Verwendung von IAM-Benutzern in Autonomous AI Database finden Sie unter IAM-Benutzer für Oracle-Autonomous AI-Datenbanken authentifizieren und autorisieren.

Authentifizierung mit einem IAM-Datenbankkennwort

Hinweis:

Jeder unterstützte Datenbankclient ab Version 12c 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 einerautonomen AI-Datenbank-Instanz anzumelden, da sich 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 einem beliebigen unterstützten Datenbankclient bei Autonomous AI Database anmelden.

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

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

  • Eine Clientanwendung oder ein Clienttool kann das Datenbanktoken von IAM für den Benutzer anfordern und das Datenbanktoken über die Client-API übergeben. Wenn Sie das Token mit der API senden, werden andere Einstellungen im Datenbankclient überschrieben. Diese Art der Verwendung des IAM-Datenbanktokens wird bei den folgenden Clients unterstützt:

    • JDBC-Thin auf allen Plattformen
    • Oracle Instant Client OCI-C unter Linux
    • Oracle Data Provider for .NET (ODP.NET) Core
  • Wenn die Anwendung oder das Tool das Anfordern eines IAM-Datenbanktokens über die Client-API nicht unterstützt, kann der IAM-Benutzer zuerst das IAM-Datenbanktoken mit der Oracle Cloud Infrastructure-Befehlszeilenschnittstelle (CLI) abrufen und an einem Dateispeicherort speichern. Beispiel: Um SQL*Plus und andere Anwendungen und Tools mit dieser Verbindungsmethode zu verwenden, rufen Sie zuerst das Datenbanktoken mit der Oracle Cloud Infrastructure-(OCI-)Befehlszeilenschnittstelle (CLI) ab. Wenn der Datenbankclient für IAM-Datenbanktoken konfiguriert ist und sich ein Benutzer mit der Schrägstrichanmeldung anmeldet, verwendet der Datenbanktreiber das IAM-Datenbanktoken, das an einem Standard- oder einem anderen angegebenen Dateispeicherort gespeichert wurde.

  • Eine Clientanwendung oder ein Clienttool kann einen Oracle Cloud Infrastructure-IAM-Instanz-Principal oder -Resource Principal verwenden, um ein IAM-Datenbanktoken abzurufen. Mit dem IAM-Datenbanktoken können Sie sich bei einer Autonomous AI Database-Instanz authentifizieren.

  • IAM-Benutzer und OCI-Anwendungen können ein Datenbanktoken bei IAM mit mehreren Methoden anfordern, darunter mit einem API-Schlüssel. Ein Beispiel finden Sie unter Clientverbindung für SQL*Plus konfigurieren, die ein IAM-Token verwendet. Unter Informationen zur Authentifizierung und Autorisierung von IAM-Benutzern für eine Oracle Autonomous AI Database finden Sie eine Beschreibung anderer Methoden, wie die Verwendung eines Delegationstokens in einer OCI-cloud shell.

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 auf Autonomous AI Database

Bevor Sie die Identity and Access Management-(IAM-)Authentifizierung in Autonomous AI Database verwenden, müssen Sie Folgendes sicherstellen:

Mit dem Networking-Service können Sie dem VCN (virtuelles Cloud-Netzwerk) und den Subnetzen, in denen sich Ihre autonomen KI-Datenbankressourcen befinden, ein Servicegateway, ein Routingregel und eine Egress-Sicherheitsregel hinzufügen.

  1. Sie können ein Servicegateway im VCN (virtuellen Cloud-Netzwerk) erstellen, in dem sich Ihre autonomen KI-Datenbankressourcen befinden. Befolgen Sie dazu die Anweisungen in Aufgabe 1: Servicegateway erstellen in der Oracle Cloud Infrastructure-Dokumentation.
  2. Fügen Sie nach dem Erstellen des Servicegateway eine Routingregel und eine Egress-Sicherheitsregel zu jedem Subnetz (im VCN) hinzu, in dem sich Autonomous AI Database-Ressourcen befinden, damit diese Ressourcen die Identity and Access Management-(IAM-)Authentifizierung über das Gateway verwenden können:
    1. Gehen Sie zur Seite Subnetzdetails für das Subnetz.
    2. Klicken Sie auf der Registerkarte Informationen zum Subnetz auf den Namen der Routentabelle des Subnetzes, um die Seite Routentabellendetails anzuzeigen.
    3. Prüfen Sie in der Tabelle der vorhandenen Routingregeln, ob bereits eine Regel mit den folgenden Eigenschaften vorhanden ist:
      • Ziel: Alle IAD-Services in Oracle Services Network
      • Zieltyp: Servicegateway
      • Ziel: Der Name des Servicegateways, das Sie gerade im VCN erstellt haben

      Wenn keine solche Regel vorhanden ist, klicken Sie auf Routenregeln hinzufügen, und fügen Sie eine Routingregel mit diesen Eigenschaften hinzu.

    4. Zurück zur Seite Subnetzdetails für das Subnetz.
    5. Klicken Sie in der Tabelle Sicherheitslisten des Subnetzes auf den Namen der Sicherheitsliste des Subnetzes, um die Seite Sicherheitslistendetails anzuzeigen.
    6. Klicken Sie im Seitenmenü unter Ressourcen auf Egress-Regeln.
    7. Prüfen Sie in der Tabelle der vorhandenen Ausgangsregeln, ob bereits eine Regel mit den folgenden Eigenschaften vorhanden ist:
      • Zustandslos: Nein
      • Ziel: Alle IAD-Services in Oracle Services Network
      • IP-Protokoll: TCP
      • Quellportbereich: Alle
      • Zielportbereich: 443
    8. Wenn keine derartige Regel vorhanden ist, klicken Sie auf Egress-Regeln hinzufügen, und fügen Sie eine Egress-Regel mit diesen Eigenschaften hinzu.

Die HTTP-Proxyeinstellungen in Ihrer Umgebung müssen es der Datenbank ermöglichen, auf den Cloud-Serviceprovider zuzugreifen.

Diese Einstellungen werden vom Flottenadministrator beim Erstellen der Exadata Cloud@Customer-Infrastruktur definiert, wie unter Exadata Database Service on Cloud@Customer mit der Konsole bereitstellen beschrieben.

Hinweis:

Die Netzwerkkonfiguration einschließlich des HTTP-Proxys kann nur bearbeitet werden, bis sich die Exadata-Infrastruktur im Status Aktivierung erforderlich befindet. Sobald sie aktiviert ist, können Sie diese Einstellungen nicht mehr bearbeiten.

Für die Einrichtung eines HTTP-Proxys für eine bereits bereitgestellte Exadata-Infrastruktur ist eine Serviceanfrage (SR) in My Oracle Support erforderlich. Weitere Informationen finden Sie unter Serviceanfrage in My Oracle Support erstellen.

Externe Identitätsprovider in Autonomous AI Database ändern

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

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 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. Deaktivieren Sie die IAM-Integration mit der Prozedur DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION:
    Beispiel:
    BEGIN    
      DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
    END;
    /
    Zusätzliche Informationen finden Sie unter Prozedur DISABLE_EXTERNAL_AUTHENTICATION.
  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 unten angegebenen Parametern aus:
    BEGIN
      DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
        type => 'OCI_IAM'
        force => TRUE
        );
    END;
    /

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

    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 auf FALSE gesetzt. Wenn eine andere externe Authentifizierungsmethode aktiviert ist und force auf FALSE gesetzt 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, um IAM-Benutzerzugriff auf Oracle Cloud Infrastructure-Ressourcen zu ermöglichen, insbesondere auf Instanzen der Autonomous AI Database.

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:

Das Definieren einer Policy ist erforderlich, um IAM-Token für den Zugriff auf Autonomous AI Database zu 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 und Sicherheit.
    2. Klicken Sie unter ID und Sicherheit auf Policys.
    3. Um eine Policy zu schreiben, klicken Sie auf Policy erstellen.
    4. Geben Sie auf der Seite "Policy erstellen" einen Namen und eine Beschreibung ein.
    5. Wählen Sie auf der Seite "Policy erstellen" die Option Manuellen Editor anzeigen aus.
    6. Policy mit Policy Builder erstellen

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

      Allow group DBUsers to use autonomous-database-family in tenancy
      Beispiel: So erstellen Sie eine Policy, die Mitglieder der Gruppe DBUsers auf den Zugriff auf Autonomous AI Databases 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 zur Autorisierung von Benutzerauthentifizierung mit Token erstellen in der Datenbanksicherheitsdokumentation.

    7. Klicken Sie auf Create.

      Weitere Informationen zu Policys finden Sie unter Policys verwalten.

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

  • Policys können IAM-Benutzern den Zugriff auf Autonomous AI Database-Instanzen im gesamten Mandanten in einem Compartment gestatten oder den Zugriff auf eine einzelne Autonomous AI Database-Instanz begrenzen.

  • Sie können entweder mit dem Instanz-Principal oder mit den Ressourcen-Principal Datenbanktokens abrufen, um eine Verbindung von Ihrer Anwendung zu einer Autonomous AI Database-Instanz herzustellen. Wenn Sie einen Instanz-Principal oder Ressourcen-Principal verwenden, müssen Sie eine dynamische Gruppe zuordnen. Daher können Sie Instanz-Principals und Ressourcen-Principals nicht exklusiv zuordnen. Sie können sie nur über ein gemeinsam verwendetes Mapping zuordnen und müssen die Instanz oder Ressourceninstanz in eine dynamische IAM-Gruppe einfügen.

    Sie können dynamische Gruppen erstellen und dynamische Gruppen in den Policys referenzieren, die Sie für den Zugriff auf Oracle Cloud Infrastructure erstellen. Weitere Informationen finden Sie unter Zugriffskontrollen planen und unterstützende Ressourcen erstellen und Dynamische Gruppen verwalten.

IAM-Benutzer in Autonomous AI Database hinzufügen

Um IAM-Benutzer hinzuzufügen, um Zugriff auf Autonomous AI Database zuzulassen, 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 zum gemeinsamem Schema).

So autorisieren Sie die 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 Autonomous AI Database-Benutzer (Schema) mit CREATE USER- oder ALTER USER-Anweisungen und der Klausel IDENTIFIED GLOBALLY AS, und geben Sie den IAM-Gruppennamenan.

    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 für die Autonomous AI-Datenbank die IAM-Authentifizierung aktiviert ist.

So ordnen Sie einem globalen Oracle Database-Benutzer exklusiv einen 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 Autonomous AI Database-Benutzer (Schema) mit CREATE USER- oder ALTER USER-Anweisungen, und nehmen Sie die IDENTIFIED GLOBALLY AS-Klausel auf, indem Sie den lokalen IAM-Benutzernamen für IAM angeben.

    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 Sie den Benutzer erstellen, indem Sie eine Nicht-Standarddomain (sales_domain) angeben:

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

IAM-Rollen in Autonome KI-Datenbank 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 Autonomous AI Database 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.

Mit einer globalen Rolle können Sie optional Benutzer 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 Autonomous AI Database-Rollen IAM-Gruppen zugeordnet werden.

So ordnen Sie globale Autonomous AI Database-Rollen 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 Autonomous AI Database-Rollen mit den Anweisungen CREATE ROLE oder ALTER ROLE fest, und geben Sie dabei den IAM-Gruppennamen in die Klausel IDENTIFIED GLOBALLY AS 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 Sie die Rolle durch Angabe einer Nicht-Standarddomain sales_domain erstellen:

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

    Alle Mitglieder der ExporterGroup in der sales_domain-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 Database-Instanzan oder greifen über ein Oracle Cloud Infrastructure-IAM-Datenbanktoken auf das Datenbanksystem zu.

Sie können sich weiterhin mit dem Benutzernamen und Kennwort Ihres lokalen Datenbankaccounts (nicht-globaler Datenbankbenutzeraccount) bei der Autonomous AI Database anmelden.

Sie können mit einem Datenbankclient als Oracle Cloud Infrastructure-IAM-Benutzer auf eine Autonomous AI Database-Instanz zugreifen. Um einen Client mit Oracle Cloud Infrastructure-IAM-Zugangsdaten (Benutzername und Kennwort) und einer Kennwortverifizierung zu verwenden, muss der Datenbankclient 12c oder höher sein.

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

Hinweis:

Wenn sich Ihre Autonome AI-Datenbank-Instanz 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 Autonomous AI Database on Dedicated Exadata Infrastructure-Instanz mit IAM herstellen

IAM-Benutzer können sich entweder über die Autonomous AI Database on Dedicated Exadata Infrastructure-Instanz mit einem IAM-Datenbankkennwortverifizierung oder einem IAM-Token anmelden.

Die Verwendung der IAM-Datenbankkennwortverifizierung ähnelt dem Oracle Database-Kennwortauthentifizierungsprozess. However, instead of the password verifier (encrypted hash of the password) being stored in the Autonomous AI Database on Dedicated Exadata Infrastructure, the verifier is instead stored as part of the Oracle Cloud Infrastructure (OCI) IAM user profile.

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:

  • Sicherheitstoken (mit IAM-Authentifizierung), Delegationstoken (in der OCI Cloud Shell) und API-keys. Hierbei handelt es sich um Zugangsdaten, die den IAM-Benutzer darstellen, um die Authentifizierung zu aktivieren.
  • Instanz-Principal-Token, mit denen Instanzen zu autorisierten Akteuren (oder Principals) werden, um nach der Authentifizierung Aktionen für Serviceressourcen auszuführen
  • Resource Principal-Token. Hierbei handelt es sich um Zugangsdaten, mit denen sich die Anwendung bei anderen Oracle Cloud Infrastructure-Services authentifizieren kann.

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 konfigurieren, damit SQL*Plus ein IAM-Datenbankkennwort verwenden kann

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

  • Mit einem Instanz-Principal über ein Oracle Cloud Infrastructure-IAM-Datenbanktoken auf die Datenbank zugreifen

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

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

  • Melden Sie sich als IAM-Benutzer mit der folgenden Syntax bei der Autonomous AI Database-Instanz an:
    CONNECT user_name@db_connect_string
    Enter password: password

    In dieser Spezifikation ist user_name der IAM-Benutzername. Für domain_name/user_name zusammen sind maximal 128 Byte zulässig.

    Das folgende Beispiel zeigt, wie der IAM-Benutzer peter_fitch sich bei einer Autonomous AI Database-Instanz anmelden kann.

    sqlplus /nolog
    connect peter_fitch@db_connect_string
    Enter password: password

    Bei einigen Sonderzeichen müssen user_name und password in doppelte Anführungszeichen gesetzt werden. Beispiel:

    "peter_fitch@example.com"@db_connect_string
    
    "IAM database password"

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 Oracle Database-Administrator nach, ob Sie über eine Policy verfügen, mit der Sie auf die Datenbank im Compartment oder in Ihrem Mandanten zugreifen können, und ob 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. (Informationen hierzu finden Sie unter 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 dem IAM-Datenbankkennwort abgerufen wird.
    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 es für eine Verwendung mit SQL*Plus konfiguriert wird.
    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 Autonomous AI Database. 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 Autonomous AI Database aktiviert hat, kann eine Anwendung über ein Oracle Cloud Infrastructure-IAM-Datenbanktoken über einen Instanz-Principal auf die Datenbank 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 konfigurieren

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 Autonomous AI Database-Instanz 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 autonomen KI-Datenbankinstanz an.

  2. 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"
    • Tokenauthentifizierung:
      CONNECT [hrapp]/@connect_string
      SHOW USER;
      --The output should be USER is "HRAPP "
      SELECT SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD') FROM DUAL;
      --The output should be "TOKEN_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 die Verbindung von einer autonomen KI-Datenbank-Instanz zu einem anderen aufbauen.

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

Hinweis:

Der aktuelle Benutzerdatenbanklink wird für die Verbindung mit einer autonomen KI-Datenbank als Oracle Cloud Infrastructure-IAM-Benutzer nicht unterstützt.
  • Angemeldeter Benutzerdatenbanklink Bei einem angemeldeten Benutzerdatenbanklink muss ein IAM-Benutzer einem Schema in der Quell- und Zieldatenbank zugeordnet sein, die über einen Datenbanklink verbunden sind. Sie können eine Datenbankkennwortverifizierung oder ein IAM-Datenbanktoken verwenden, um einen angemeldeten Benutzerdatenbanklink zu verwenden.

  • Fester Benutzerdatenbanklink: Ein fester Benutzerdatenbanklink kann mit einem Datenbankbenutzer oder einem IAM-Benutzer erstellt werden. Wenn Sie einen IAM-Benutzer als festen Benutzerdatenbanklink verwenden, muss der IAM-Benutzer eine Schemazuordnung in der Zieldatenbank haben. Der IAM-Benutzer für einen Datenbanklink kann nur mit einer Kennwortverifizierung konfiguriert werden.

Identity and Access Management-(IAM-)Authentifizierung in Autonomous AI Database 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 Autonomous AI Database-Instanz mit dem Befehl ALTER SYSTEM deaktivieren, wie unten dargestellt:
ALTER SYSTEM RESET IDENTITY_PROVIDER_TYPE SCOPE=BOTH;

Wenn Sie auch den Zugriff auf IAM über die Ressource aktualisieren möchten, d.h. autonome Containerdatenbank oder autonome KI-Datenbank, 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 Autonomous AI Database-Tools mit Identity and Access Management-(IAM-)Authentifizierung

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

  • Oracle APEX wird für IAM-Benutzer mit Autonomous AI Database nicht unterstützt. Informationen zur Verwendung regulärer Datenbankbenutzer mit Autonomous AI Database finden Sie unter Auf Oracle Application Express Administration Services.
  • Database Actions wird für IAM-Benutzer mit Autonomous AI Database nicht unterstützt. Informationen zur Verwendung regulärer Datenbankbenutzer mit Autonomous AI Database finden Sie unter Benutzerzugriff auf Database Actions aktivieren.