Identity and Access Management-(IAM-)Benutzer mit Oracle Exadata Database Service on Exascale Infrastructure verbinden

Sie können Exadata Database Service on Exascale Infrastructure 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 Oracle Database zugreifen können.

Oracle Cloud Infrastructure-(OCI-)Identity and Access Management-(IAM-)Authentifizierung für Oracle Database

Erfahren Sie, wie Sie in einer Oracle Database-Instanz in Oracle Exadata Database Service on Exascale Infrastructure aktivieren, dass Benutzerzugriff mit einem Oracle Cloud Infrastructure IAM-Datenbankkennwort (über eine Kennwortverifizierung) oder SSO-Token möglich ist.

Oracle Cloud Infrastructure-(OCI-)Identity and Access Management-(IAM-)Authentifizierung für Oracle Database

IAM-Benutzer können sich entweder mittels IAM-Datenbankkennwortverifizierung oder mit einem IAM-Token bei der Datenbankinstanz anmelden.

Die IAM-Datenbankkennwortverifizierung erfolgt ähnlich wie die Datenbankkennwortauthentifizierung. Der Unterschied ist, dass die Kennwortverifizierung (verschlüsselter Hash des Kennworts) nicht in der Datenbank gespeichert wird, sondern im OCI-IAM-Benutzerprofil.

Die zweite Verbindungsmethode, bei der ein IAM-Token für die Datenbank verwendet wird, ist moderner. Ein tokenbasierter Zugriff ist für Cloud-Ressourcen wie Oracle-Datenbanken in Exadata Cloud Infrastructure besser geeignet. 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.

Hinweis

Oracle Database unterstützt die Oracle-Integration DBaaS für Oracle Cloud Infrastructure (OCI) IAM mit Identitätsdomains sowie das Legacy-IAM, das keine Identitätsdomains enthält. Sowohl Standard- als auch Nicht-Standarddomainbenutzer und -gruppen werden bei der Verwendung von IAM mit Identitätsdomains unterstützt.

Unterstützung für nicht standardmäßige benutzerdefinierte Domains ist nur mit Oracle Database Release 19c, Version 19.21 und höher verfügbar (aber nicht mit Oracle Database Release 21c).

Die Integration von Oracle Cloud Infrastructure IAM mit Oracle Exadata Database Service on Dedicated Infrastructure unterstützt Folgendes:

  • Oracle Cloud Infrastructure-(OCI-)Identity and Access Management-(IAM-)Authentifizierung mittels Datenbankkennwortverifizierung
  • Oracle Cloud Infrastructure-(OCI-)Identity and Access Management-(IAM-)Authentifizierung mit SSO-Token

Ausführliche Informationen über die Architektur zur Verwendung von IAM-Benutzern in Oracle Exadata Database Service on Dedicated Infrastructure finden Sie unter IAM-Benutzer für Oracle DBaaS-Datenbanken authentifizieren und autorisieren im Oracle Database 19c - Sicherheitshandbuch und im Oracle Database 23ai - Sicherheitshandbuch.

Oracle Cloud Infrastructure-(OCI-)Identity and Access Management-(IAM-)Authentifizierung mittels Datenbankkennwortverifizierung

Sie können in einer Oracle Database-Instanz Benutzern Zugriff mithilfe eines Oracle Cloud Infrastructure-IAM-Datenbankkennworts (mittels Kennwortverifizierung) erteilen.

Hinweis

Jeder unterstützte Datenbankclient ab 12c kann für den IAM-Datenbankkennwortzugriff auf Oracle Database verwendet werden.

Mit einem Oracle Cloud Infrastructure IAM-Datenbankkennwort kann sich ein IAM-Benutzer bei einer Oracle Database-Instanz anmelden, da sich Oracle Database-Benutzer normalerweise mit einem Benutzernamen und einem 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 einer Kennwortverifizierung verwenden, können Sie sich mit einem beliebigen unterstützten Datenbankclient bei Oracle Database anmelden.

Für den Zugriff auf die Kennwortverifizierungsdatenbank erstellen Sie die Zuordnungen für IAM-Benutzer und OCI-Anwendungen zur Oracle Database-Instanz. Die IAM-Benutzeraccounts selbst werden in IAM verwaltet. Die Benutzerkonten und Benutzergruppen können sich entweder in der Standarddomain oder in einer benutzerdefinierten, nicht standardmäßigen Domain befinden.

Weitere Informationen zum Verwalten des IAM-Datenbankkennworts finden Sie unter Benutzerzugangsdaten verwalten.

Oracle Cloud Infrastructure-(OCI-)Identity and Access Management-(IAM-)Authentifizierung mit SSO-Token

Für den IAM-Tokenzugriff auf die Datenbank fordert die Clientanwendung oder das Clienttool von IAM ein Datenbanktoken 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 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 OCI-Ressourcen auszuführen
  • Resource-Principal-Token. Hierbei handelt es sich um Zugangsdaten, mit denen sich die Anwendung bei anderen OCI-Services authentifizieren kann.
  • IAM-Benutzername und IAM-Datenbankkennwort (kann nur vom Datenbankclient angefordert werden)

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. Wenn der Parameter PASSWORD_AUTH=OCI_TOKEN lautet, verwendet der Datenbanktreiber stattdessen den Benutzernamen und das Kennwort, um eine direkte Verbindung zu IAM herzustellen und ein Datenbanktoken anzufordern. 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.

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. Für die Verwendung von IAM-Token wird der neueste Oracle Database-Client 19c (mindestens 19.16) benötigt. Einige frühere Clients (19c und 21c) bieten eine begrenzte Menge an Funktionen für den Tokenzugriff. Der Oracle Database-Client 21c unterstützt das IAM-Tokenzugriffsfeature nicht vollständig:
    • JDBC-Thin auf allen Plattformen
      • Weitere Informationen finden Sie unter Unterstützung für tokenbasierte IAM-Authentifizierung und JDBC- und UCP-Downloads.
    • SQL*Plus und Oracle Instant Client OCI-C unter Linux:

      Weitere Informationen finden Sie unter Auf Identity and Access Management-(IAM-)Token basierte Authentifizierung.

    • Oracle Data Provider for .NET (ODP.NET) Core: .NET-Clients (neueste Version von Linux oder Windows). .NET-Softwarekomponenten können Sie kostenlos von folgenden Sites herunterladen:
      • Oracle Data Access Components - .NET-Downloads
      • NuGet Gallery
      • Visual Studio Marketplace
  • 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. Weitere Informationen finden Sie unter db-token get. Wenn der Datenbankclient für IAM-Datenbanktoken konfiguriert ist und ein Benutzer die Schrägstrichanmeldung nutzt, verwendet der Datenbanktreiber das IAM-Datenbanktoken, das am Standardspeicherort oder einem anderen angegebenen Dateispeicherort gespeichert ist.
  • Einige Oracle Database 23ai-Clients können auch ein Token direkt von OCI IAM abrufen, anstatt die OCI-Befehlszeilenschnittstelle zu verwenden. Prüfen Sie in der Clientdokumentation, welche Clients diese native IAM-Integration unterstützen.
  • Eine Clientanwendung oder ein Clienttool kann mit einem Oracle Cloud Infrastructure-IAM-Instanz-Principal oder -Resource-Principal ein IAM-Datenbanktoken abrufen und sich mit diesem Token bei einer Oracle Database-Instanz authentifizieren. Weitere Informationen finden Sie unter Instanz-Principals und Resource Principals zuordnen.
  • 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 IAM-Benutzer für Oracle DBaaS-Datenbanken authentifizieren und autorisieren finden Sie eine Beschreibung weiterer Methoden wie der Verwendung eines Delegationstokens in OCI Cloud Shell.
Hinweis

Wenn sich Ihre Datenbank im eingeschränkten Modus befindet, können nur DBAs mit der Berechtigung RESTRICTED SESSION eine Verbindung zur Datenbank herstellen.

Wenn ein Benutzer einen Benutzernamen oder ein Kennwort für die Anmeldung eingeben, verwendet der Datenbanktreiber für den Zugriff auf die Datenbank die Kennwortverifizierungsmethode. Wenn der Parameter PASSWORD_AUTH=OCI_TOKEN lautet, verwendet der Datenbanktreiber stattdessen den Benutzernamen und das Kennwort, um eine direkte Verbindung zu IAM herzustellen und ein Datenbanktoken anzufordern.

Voraussetzungen für die Oracle Cloud Infrastructure-(OCI-)Identity and Access Management-(IAM-)Authentifizierung in Oracle Database

Prüfen Sie die Voraussetzungen für die Identity and Access Management-(IAM-)Authentifizierung in Oracle Database.

Voraussetzungen für die IAM-Authentifizierung in Oracle Database

Bevor Sie die IAM-Authentifizierung für Datenbanken in Exadata Cloud Infrastructure verwenden, müssen Sie mit dem Networking-Service ein Servicegateway, eine Routingregel und eine Egress-Sicherheitsregel zum virtuellen Cloud-Netzwerk (VCN) und den Subnetzen hinzufügen, in denen sich Ihre Datenbankressourcen befinden.

  1. Erstellen Sie ein Servicegateway in dem VCN, in dem sich Ihre Datenbankressourcen befinden, indem Sie die Anweisungen unter Aufgabe 1: Servicegateway erstellen in der OCI-Dokumentation befolgen.
  2. Nachdem Sie das Servicegateway erstellt haben, fügen Sie eine Routingregel und eine Egress-Sicherheitsregel zu jedem Subnetz (im VCN) hinzu, in dem sich Datenbankressourcen befinden, damit diese Ressourcen die 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 derartige Regel vorhanden ist, klicken Sie auf Routingregeln hinzufügen, und fügen Sie eine Routingregel mit diesen Eigenschaften hinzu.

    4. Kehren Sie zur Seite Subnetzdetails für das Subnetz zurück.
    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 Egress-Regeln, 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.

Externes Authentifizierungsschema deaktivieren

Prüfen Sie die Voraussetzungen für die Aktivierung des IAM-Benutzerzugriffs auf Oracle Database.

Wenn die Datenbank für ein anderes externes Authentifizierungsschema aktiviert ist, prüfen Sie, ob Sie IAM in der Oracle Database-Instanz verwenden möchten. Nur ein externes Authentifizierungsschema kann jeweils aktiviert sein.

Wenn Sie IAM verwenden möchten, jedoch ein anderes externes Authentifizierungsschema aktiviert ist, müssen Sie das andere externe Authentifizierungsschema zunächst deaktivieren.

TLS zur Verwendung von IAM-Token konfigurieren

Wenn IAM-Token vom Datenbankclient an den Datenbankserver gesendet werden sollen, muss eine TLS-Verbindung bestehen. Das TLS-Wallet mit dem Datenbankzertifikat für die ExaDB-D-Serviceinstanz muss im Speicherort WALLET_ROOT gespeichert sein. Erstellen Sie ein tls-Verzeichnis mit folgender Struktur: WALLET_ROOT/<PDB GUID>/tls.

Für die Konfiguration von TLS zwischen Datenbankclient und Server sind mehrere Optionen verfügbar.

  • Verwenden eines selbstsignierten Datenbankserverzertifikats oder eines Datenbankserverzertifikats, das von einer allgemein bekannten Certificate Authority signiert ist
  • Einseitige TLS (TLS) oder gegenseitige bzw. wechselseitige TLS (mTLS)
  • Client mit oder ohne Wallet

Selbstsigniertes Zertifikat

Selbstsignierte Zertifikate werden in der Regel für intern bereitgestellte IT-Ressourcen verwendet, da Sie diese selbst erstellen können und die Bereitstellung kostenlos ist. Die Ressource (in unserem Fall der Datenbankserver) verfügt über ein selbstsigniertes Zertifikat, um sich beim Datenbankclient zu authentifizieren. Das selbstsignierte Zertifikat und das Root-Zertifikat werden im Datenbankserver-Wallet gespeichert. Damit der Datenbankclient das Datenbankserverzertifikat erkennen kann, ist auf dem Client auch eine Kopie des Root-Zertifikats erforderlich. Dieses selbst erstellte Root-Zertifikat kann in einem clientseitigen Wallet gespeichert oder im Standardzertifikatspeicher des Clientsystems (nur Windows und Linux) installiert werden. Wenn die Session eingerichtet wurde, prüft der Datenbankclient, ob das vom Datenbankserver übermittelte Zertifikat von demselben Root-Zertifikat signiert wurde.

Eine bekannte Certificate Authority

Die Verwendung einer allgemein bekannten Root Certificate Authority hat einige Vorteile, da das Root-Zertifikat wahrscheinlich bereits im Standardzertifikatspeicher des Clientsystems gespeichert ist. Der Client muss das Root-Zertifikat nicht in einem zusätzlichen Schritt speichern, wenn es sich um ein allgemeines Root-Zertifikat handelt. Der Nachteil besteht darin, dass mit dieser Option normalerweise Kosten verbunden sind.

Einseitige TLS

In einer TLS-Standardsession übergibt nur der Server ein Zertifikat an den Client, um sich zu authentifizieren. Der Client benötigt kein separates Clientzertifikat, um sich beim Server zu authentifizieren (ähnlich wie bei der Einrichtung von HTTPS-Sessions). Während für die Datenbank ein Wallet zum Speichern des Serverzertifikats erforderlich ist, benötigt der Client nur das Root-Zertifikat, mit dem das Serverzertifikat signiert ist.

Wechselseitige TLS (auch als gegenseitige TLS oder mTLS bezeichnet)

Bei mTLS verfügen sowohl der Client als auch der Server über Identitätszertifikate, die an den jeweils anderen übergeben werden. In den meisten Fällen werden diese beiden Zertifikate von demselben Root-Zertifikat signiert, sodass dasselbe Root-Zertifikat für den Datenbankserver und den Client zur Authentifizierung des jeweils anderen Zertifikats verwendet werden kann. Für die Authentifizierung des Benutzers wird manchmal mTLS verwendet, weil die Benutzeridentität vom Datenbankserver über das Zertifikat authentifiziert wird. Dieser Vorgang ist für das Übergeben von IAM-Token nicht erforderlich, kann aber beim Übergeben von IAM-Token verwendet werden.

Client mit einem Wallet

Ein Client-Wallet ist obligatorisch, wenn das Clientzertifikat mit mTLS gespeichert wird. Das Root-Zertifikat kann jedoch entweder in demselben Wallet oder im Standardzertifikatspeicher des Systems gespeichert werden.

Client ohne Wallet

Bei Verwendung von TLS können Clients unter den folgenden Bedingungen ohne Wallet konfiguriert werden: 1) Einseitige TLS wird konfiguriert, wenn der Client kein eigenes Zertifikat besitzt, und 2) das Root-Zertifikat, mit dem das Datenbankserverzertifikat signiert wurde, wird im Standardzertifikatspeicher des Systems gespeichert. Das Root-Zertifikat befindet sich wahrscheinlich bereits dort, wenn das Serverzertifikat von einer allgemeinen Certificate Authority signiert wird. Wenn es sich um ein selbstsigniertes Zertifikat handelt, muss das Root-Zertifikat im Standardzertifikatspeicher des Systems installiert werden, damit kein Client-Wallet verwendet wird.

Einzelheiten zur Konfiguration von TLS zwischen dem Datenbankclient und dem Datenbankserver, einschließlich der oben beschriebenen Optionen, finden Sie in der Oracle Database-Sicherheitsdokumentation unter Transport Layer Security-Authentifizierung konfigurieren.

Informationen zur Verwendung selbstsignierter Zertifikate und zu weiteren walletbezogenen Aufgaben finden Sie in der Oracle Database-Sicherheitsdokumentation unter Public Key Infrastructure-(PKI-)Elemente verwalten.

Oracle Cloud Infrastructure-(OCI-)Identity and Access Management-(IAM-)Authentifizierung in Oracle Database aktivieren, deaktivieren und erneut aktivieren

Hier erfahren Sie, wie Sie die Identity and Access Management-(IAM-)Authentifizierung in Oracle Database aktivieren, deaktivieren und erneut aktivieren.

Oracle Cloud Infrastructure-(OCI-)Identity and Access Management-(IAM-)Authentifizierung in Oracle Database aktivieren

Hier finden Sie Informationen zum Aktivieren oder erneuten Aktivieren des IAM-Benutzerzugriffs auf Oracle Database.

Hinweis

Oracle Database unterstützt die Oracle-Integration DBaaS für Oracle Cloud Infrastructure (OCI) IAM mit Identitätsdomains sowie das Legacy-IAM, das keine Identitätsdomains enthält. Sowohl Standard- als auch Nicht-Standarddomainbenutzer und -gruppen werden bei der Verwendung von IAM mit Identitätsdomains unterstützt.
  1. Prüfen Sie die Voraussetzungen für die IAM-Autorisierung und -Authentifizierung in Oracle Database. Weitere Informationen finden Sie unter Voraussetzungen für die Oracle Cloud Infrastructure-(OCI-)Identity and Access Management-(IAM-)Authentifizierung in Oracle Database.
  2. Aktivieren Sie die Oracle Cloud Infrastructure-IAM-Authentifizierung und -Autorisierung mit dem Befehl ALTER SYSTEM.
    ALTER SYSTEM SET IDENTITY_PROVIDER_TYPE=OCI_IAM SCOPE=BOTH;
  3. Prüfen Sie den Wert des Systemparameters IDENTITY_PROVIDER_TYPE.
    SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';
    
    NAME                     VALUE
    ----------------------   -------
    identity_provider_type   OCI_IAM

Oracle Cloud Infrastructure-(OCI-)Identity and Access Management-(IAM-)Authentifizierung in Oracle Database deaktivieren

Beschreibt die Schritte zum Deaktivieren des IAM-Benutzerzugriffs mittels externer Authentifizierung für Oracle Database.

So deaktivieren Sie den IAM-Benutzerzugriff auf Ihre Oracle Database-Instanz:

  1. Deaktivieren Sie die IAM-Integration mit dem Befehl ALTER SYSTEM.
    ALTER SYSTEM RESET IDENTITY_PROVIDER_TYPE SCOPE=BOTH;
  2. Wenn Sie auch die IAM-Policy entfernen möchten, die Datenbankzugriff ermöglicht, müssen Sie möglicherweise die IAM-Gruppen und die eingerichteten Policys, die IAM-Benutzern den Datenbankzugriff ermöglichen, prüfen und entweder ändern oder entfernen.

Oracle Database-Tools mit Identity and Access Management-(IAM-)Authentifizierung verwenden

Lesen Sie die Hinweise zur Verwendung von Oracle Database-Tools bei aktivierter IAM-Authentifizierung.

  • Oracle APEX wird für IAM-Benutzer mit Oracle Database nicht unterstützt.
  • Database Actions wird für IAM-Benutzer mit Oracle Database nicht unterstützt. Informationen zur Verwendung regulärer Datenbankbenutzer mit Oracle Database finden Sie unter Datenbankbenutzern Zugriff auf Database Actions erteilen.
  • Oracle Machine Learning-Notizbücher und andere Komponenten werden für von IAM autorisierte Benutzer mit Oracle Database nicht unterstützt. Informationen zur Verwendung regulärer Datenbankbenutzer mit Oracle Database finden Sie unter Vorhandenen Datenbankbenutzeraccount zu Oracle Machine Learning-Komponenten hinzufügen.

Gruppen, Policys, Benutzer, Rollen und Datenbankkennwörter in Oracle Cloud Infrastructure (OCI) Identity and Access Management (IAM) verwalten

Das Oracle Exadata Database Service on Exascale-Infrastruktursystem bietet verschiedene Methoden der Serviceverwaltung.

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

Hier finden Sie die Schritte zum Schreiben von Policy-Anweisungen für eine IAM-Gruppe, um IAM-Benutzerzugriff auf Oracle Cloud Infrastructure-Ressourcen zu ermöglichen, insbesondere Oracle Database-Instanzen, die IAM-Datenbanktoken verwenden.

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 notwendig, um IAM-Token für den Zugriff auf Oracle Database verwenden zu können. Eine Policy ist nicht erforderlich, wenn für den Zugriff auf Oracle Database die IAM-Datenbankkennwortverifizierung verwendet wird.

  1. Erstellen Sie eine IAM-Gruppe für IAM-Benutzer, die auf die Datenbank zugreifen. Lesen Sie die OCI-IAM-Dokumentation zum Erstellen von Gruppen und Hinzufügen von IAM-Benutzern zu einer Gruppe.

    Erstellen Sie beispielsweise die Gruppe 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 und dann auf Policys.
    2. Um eine Policy zu schreiben, klicken Sie auf Policy erstellen, und geben Sie einen Namen und eine Beschreibung ein.
    3. Erstellen Sie mit Policy Builder eine Policy. Beispiel: So erstellen Sie eine Policy, die Benutzern in der IAM-Gruppe DBUsers den Zugriff auf beliebige Oracle-Datenbanken in ihrem Mandanten gestattet:
      Allow group DBUsers to use database-connections in tenancy

      Dabei ist database-connections der Name der OCI-Ressource für die Datenbankverbindung. Use ist das Verb, das minimalen Zugriff auf die Datenbank gewährt. Sie können sowohl use als auch manage verwenden.

      Beispiel: So erstellen Sie eine Policy, die den Zugriff durch Mitglieder der Gruppe DBUsers nur auf Oracle-Datenbanken im Compartment testing_compartment beschränkt:
      allow group DBUsers to use database-connections 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 database-connections in compartment testing_compartment where target.database.id = 'ocid1.database.oc1.iad.aaaabbbbcccc'
    4. Klicken Sie auf Erstellen.

      Weitere Informationen zu Policys finden Sie unter "Policys verwalten".

Hinweise zum Erstellen von Policys zur Verwendung mit IAM-Benutzern in Oracle Database:
  • Policys können IAM-Benutzern den Zugriff auf Oracle Database-Instanzen im gesamten Mandanten oder in einem Compartment gestatten oder den Zugriff auf eine einzelne Oracle Database-Instanz begrenzen.
  • Sie müssen für Instanz-Principals und Resource Principals dynamische Gruppen verwenden. 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 Einzelheiten finden Sie unter Mit Policys und Rollen auf Cloud-Ressourcen zugreifen und Dynamische Gruppen verwalten.

Oracle Cloud Infrastructure-(OCI-)Identity and Access Management-(IAM-)Benutzer in Oracle Database autorisieren

Hier finden Sie die Schritte zum Autorisieren von IAM-Benutzern auf einer Oracle Database-Instanz.

Um IAM-Benutzer für den Zugriff auf Oracle Database zu autorisieren, ordnen Sie globale Datenbankbenutzer mit CREATE USER- oder ALTER USER-Anweisungen (mit Klausel IDENTIFIED GLOBALLY AS) IAM-Gruppen oder direkt IAM-Benutzern zu.

Die Autorisierung von IAM-Benutzern für eine Oracle Database-Instanz erfolgt durch Zuordnung von globalen IAM-Benutzern (Schemas) zu IAM-Benutzern (exklusive Zuordnung) oder IAM-Gruppen (gemeinsame Schemazuordnung).

So autorisieren Sie IAM-Benutzer für eine Datenbankinstanz:

  1. Melden Sie sich bei der Datenbank, die für die Verwendung von IAM aktiviert ist, als Benutzer mit DBA-Berechtigungen an. Ein Benutzer mit DBA-Rolle benötigt für diese Schritte die erforderlichen Systemberechtigungen CREATE USER und ALTER USER.
  2. Erstellen Sie eine Zuordnung zwischen dem Oracle Database-Benutzer (Schema) mit CREATE USER- oder ALTER USER-Anweisungen und der Klausel IDENTIFIED GLOBALLY AS, und geben Sie den IAM-Gruppennamen an. 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).

    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 Oracle Database die IAM-Authentifizierung aktiviert ist.

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

Sie können einem globalen Oracle Database-Benutzer exklusiv einen lokalen IAM-Benutzer zuordnen.

  1. Melden Sie sich bei der Datenbank, die für die Verwendung von IAM aktiviert ist, als Benutzer mit DBA-Berechtigungen an. Ein Benutzer mit DBA-Rolle benötigt die für diese Schritte erforderlichen Systemberechtigungen CREATE USER und ALTER USER.
  2. Erstellen Sie eine Zuordnung zwischen dem Oracle Database-Benutzer (Schema) mit CREATE USER- oder ALTER USER-Anweisungen und der Klausel IDENTIFIED GLOBALLY AS, und geben Sie den lokalen IAM-Benutzernamen 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'

Sie können entweder mit dem Instanz-Principal oder mit dem Resource Principal Datenbanktoken abrufen, um eine Verbindung zwischen Ihrer Anwendung und einer Oracle Database-Instanz herzustellen.

Wenn Sie einen Instanz-Principal oder Ressourcen-Principal verwenden, müssen Sie eine dynamische Gruppe zuordnen. Somit können Instanz-Principals und Resource Principals nicht exklusiv zugeordnet werden. Sie können nur eine gemeinsame Zuordnung verwenden und die Instanz oder Ressourceninstanz in eine dynamische IAM-Gruppe einfügen.

Oracle Cloud Infrastructure-(OCI-)Identity and Access Management-(IAM-)Rollen in Oracle 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.

Das Erstellen globaler Rollen ist optional, aber nützlich, wenn Benutzer einem gemeinsamen Schema zugewiesen werden.

Mit einer globalen Rolle können Sie optional Benutzer voneinander 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 Oracle Database zusätzliche Rollen zu erteilen, müssen globale Oracle Database-Rollen IAM-Gruppen zugewiesen werden.

  1. Melden Sie sich bei der Datenbank, die für die Verwendung von IAM aktiviert ist, als Benutzer mit DBA-Berechtigungen an. Für diese Schritte ist ein Benutzer mit den DBA-Berechtigungen CREATE ROLE und ALTER ROLE erforderlich.
  2. Legen Sie die Datenbankautorisierung für Oracle Database-Rollen mit der Anweisung CREATE ROLE oder ALTER ROLE fest. Fügen Sie die Klausel IDENTIFIED GLOBALLY AS ein, und geben Sie dabei den IAM-Gruppennamen an. 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';
  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';

Führen Sie die folgenden Schritte für jede IAM-Gruppe aus, um weitere globale Rollenzuordnungen für andere IAM-Gruppen hinzuzufügen.

Oracle Cloud Infrastructure-(OCI-)Identity and Access Management-(IAM-)Datenbankkennwort für IAM-Benutzer erstellen

Um einen IAM-Benutzer hinzuzufügen und ihm die Anmeldung bei Oracle Database mit einem Benutzernamen und Kennwort zu gestatten, müssen Sie ein IAM-Datenbankkennwort erstellen.

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

Verwandte Themen

Clientverbindung konfigurieren

Konfigurieren Sie verschiedene Clients für die Nutzung der IAM-Authentifizierung.

Clientverbindung für SQL*Plus konfigurieren, die eine IAM-Datenbankkennwortverifizierung verwendet

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

Melden Sie sich als IAM-Benutzer mit der folgenden Syntax bei der Datenbank 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 sind insgesamt maximal 128 Byte zulässig.

Das folgende Beispiel zeigt die Anmeldung des IAM-Benutzers peter_fitch bei einer Datenbankinstanz.
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 dem Datenbankadministrator nach, ob Sie über eine Policy verfügen, die Ihnen Zugriff auf die Datenbank im Compartment oder in Ihrem Mandanten gestattet, 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. (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:
      • Ein db-token mit einem API-key über die OCI-Befehlszeilenschnittstelle (CLI) abrufen:
        oci iam db-token get
      • db-token mit einem Sicherheitstoken (oder Sessiontoken) abrufen:
        oci iam db-token get --auth security_token
      • db-token mit einem Delegationstoken abrufen: Bei der Cloud Shell-Anmeldung wird das Delegationstoken automatisch generiert und im Verzeichnis /etc abgelegt. Um dieses Token abzurufen, führen Sie in der OCI-CLI den folgenden Befehl aus:
        oci iam db-token get
      • db-token mit einem Instanz-Principal über die OCI-CLI abrufen:
        oci iam db-token get --auth instance_principal

      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.

      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 verwenden.

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

  5. Befolgen Sie den vorhandenen Prozess zum Herunterladen des Wallets aus der Datenbank. Befolgen Sie dann die Anweisungen, um es für die Verwendung mit SQL*Plus zu konfigurieren.
    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 wurde, kann sich der IAM-Benutzer durch Ausführen des folgenden Befehls zum Starten von SQL*Plus bei der Datenbankinstanz anmelden. 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 das db-token ab, signiert es mit dem Private Key und sendet das Token dann an die 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.

Clientverbindungen, die ein Token nutzen, das mit einem IAM-Benutzernamen und Datenbankkennwort angefordert wurde

Sie können eine Clientverbindung erstellen, die ein Token verwendet, das mit einem IAM-Benutzernamen und Datenbankkennwort angefordert wurde.

  • IAM-Benutzer können zum Herstellen einer Verbindung zur Oracle-DBaaS-Instanz ein IAM-Token nutzen, das mit einem IAM-Benutzernamen und einem IAM-Datenbankkennwort abgerufen wurde.

    Weitere Informationen finden Sie unter Clientverbindungen, die ein Token nutzen, das mit einem IAM-Benutzernamen und Datenbankkennwort angefordert wurde.

  • Ändern Sie zum Festlegen dieser Parameter entweder die Datei sqlnet.ora oder die Datei tnsnames.ora.

    Weitere Informationen finden Sie unter Parameter für Clientverbindungen, die ein Token nutzen, das mit einem IAM-Benutzernamen und Datenbankkennwort angefordert wurde.

  • Sie können den Datenbankclient so konfigurieren, dass zum Abrufen des IAM-Datenbanktokens der angegebene IAM-Benutzername und das IAM-Datenbankkennwort verwendet wird.

    Weitere Informationen finden Sie unter Datenbankclient zum Abrufen eines Tokens mit einem IAM-Benutzernamen und Datenbankkennwort konfigurieren.

  • Sie können festlegen, dass das IAM-Datenbanktoken mit einem IAM-Benutzernamen und einem Secure External Password Store (SEPS) angefordert werden kann.

    Weitere Informationen finden Sie unter Secure External Password Store-(SEPS-)Wallet zum Abrufen eines IAM-Tokens konfigurieren.

Instanz-Principal für Datenbankzugriff mit IAM-Authentifizierung verwenden

Nachdem der ADMIN-Benutzer OCI IAM für die Datenbank aktiviert hat, kann eine Anwendung mit einem Instanz-Principal und einem OCI-IAM-Datenbanktoken auf die Datenbank zugreifen.

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

Weitere Informationen finden Sie unter Auf die Datenbank mit einem Instanz-Principal oder einem Resource Principal 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 Datenbankinstanz an.
  2. Erteilen Sie dem IAM-Benutzer die Berechtigung, über den Proxy eine Verbindung zum lokalen Datenbankbenutzeraccount herzustellen. 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 exklusiv 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 IAM-Benutzer mit Proxy zu einem Datenbankbenutzer an. Führen Sie die Befehle SHOW USER und SELECT SYS_CONTEXT aus.

    Beispiel: 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 OCI-IAM-Benutzer eine Verbindung von einer Datenbankinstanz zu einer anderen herstellen.

Mit einem Datenbanklink für einen angemeldeten Benutzer oder einem festen Benutzerdatenbanklink können Sie als OCI-IAM-Benutzer eine Verbindung zu einer Datenbank herstellen.

Hinweis

Der aktuelle Benutzerdatenbanklink wird für die Verbindung als OCI-IAM-Benutzer zu einer Datenbank in Exadata Cloud Infrastructure nicht unterstützt.
  • Datenbanklink für einen angemeldeten Benutzer: Bei einem Datenbanklink für einen angemeldeten Benutzer 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.