Identity and Access Management-(IAM-)Authentifizierung mit Autonomous Database verwenden
Hinweis:
Die Autonomous Database-Integration mit Oracle Cloud Infrastructure (OCI) IAM wird in kommerziellen Mandanten mit Identity-Domains unterstützt sowie mit Legacy-Oracle Cloud Infrastructure IAM ohne Identity-Domains. Oracle Cloud Infrastructure-IAM mit Identitätsdomains wurde mit neuen OCI-Mandanten eingeführt, die nach dem 8. November 2021 erstellt wurden. Autonomous Database unterstützt Benutzer und Gruppen in Standard- und Nicht-Standardidentitätsdomains.Identity and Access Management-(IAM-)Authentifizierung mit Autonomous Database
Die Oracle Cloud Infrastructure-IAM-Integration mit Autonomous Database unterstützt sowohl die Authentifizierung mit einem Datenbankkennwort als auch die tokenbasierte Authentifizierung. Ausführliche Informationen über die Architektur zur Verwendung von IAM-Benutzern in Autonomous Database finden Sie unter IAM-Benutzer für Oracle Autonomous Database authentifizieren und autorisieren.
Authentifizierung mit einem IAM-Datenbankkennwort
Hinweis:
Jeder unterstützte Datenbankclient ab 12c kann für den IAM-Datenbankkennwortzugriff auf Autonomous Database verwendet werden.Mit einem Oracle Cloud Infrastructure-IAM-Datenbankkennwort kann sich ein IAM-Benutzer bei einer Autonomous 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. Durch die Verbindung eines IAM-Benutzers mit der Kennwortverifizierung können Sie sich bei Autonomous Database mit einem beliebigen unterstützten Datenbankclient 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 mit einem Oracle Cloud Infrastructure-IAM-Instanz-Principal oder -Resource Principal ein IAM-Datenbanktoken abrufen und sich mit diesem Token bei einer Autonomous 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 Authentifizierung und Autorisierung von IAM-Benutzern für Oracle Autonomous 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 Database
Bevor Sie die Identity and Access Management-(IAM-)Authentifizierung in Autonomous Database verwenden, müssen Sie Folgendes sicherstellen:
Fügen Sie mit dem Networking-Service dem VCN (virtuellen Cloud-Netzwerk) und den Subnetzen, in denen sich Ihre Autonomous Database-Ressourcen befinden, ein Servicegateway, eine Routingregel und eine Egress-Sicherheitsregel hinzu.
- Erstellen Sie ein Servicegateway im VCN (virtuellen Cloud-Netzwerk), in dem sich Ihre Autonomous Database-Ressourcen befinden, indem Sie die Anweisungen unter Aufgabe 1: Servicegateway erstellen in der Oracle Cloud Infrastructure-Dokumentation befolgen.
- Nachdem Sie das Servicegateway erstellt haben, fügen Sie eine Routingregel und eine Egress-Sicherheitsregel zu jedem Subnetz (im VCN) hinzu, in dem sich Autonomous Database-Ressourcen befinden. Nur so können diese Ressourcen die Identity and Access Management-(IAM-)Authentifizierung über das Gateway verwenden.
- Gehen Sie zur Seite Subnetzdetails für das Subnetz.
- Klicken Sie auf der Registerkarte Informationen zum Subnetz auf den Namen der Routentabelle des Subnetzes, um die Seite Routentabellendetails anzuzeigen.
- 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.
- Zurück zur Seite Subnetzdetails für das Subnetz.
- Klicken Sie in der Tabelle Sicherheitslisten des Subnetzes auf den Namen der Sicherheitsliste des Subnetzes, um die Seite Sicherheitslistendetails anzuzeigen.
- Klicken Sie im Seitenmenü unter Ressourcen auf Egress-Regeln.
- 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
- 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.
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 Database ä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 Autonomous Databases 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 Autonomous Database aktivieren können. Es kann jedoch jeweils nur ein externes Authentifizierungsschema aktiviert sein.
- Deaktivieren Sie die IAM-Integration mit der Prozedur DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION:
Beispiel:
Zusätzliche Informationen finden Sie unter Prozedur DISABLE_EXTERNAL_AUTHENTICATION.BEGIN DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION; END; /
- Führen Sie die auf den folgenden Seiten beschriebenen Schritte aus, um ein anderes externes Authentifizierungsschema Ihrer Wahl zu konfigurieren:
- Ermöglichen Sie es IAM-Benutzern erneut, eine Verbindung zu Autonomous Database mit Oracle Cloud Infrastructure-(IAM-)Authentifizierung und -Berechtigung 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 aufTRUE
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 Parameterforce
aufFALSE
gesetzt. Wenn eine andere externe Authentifizierungsmethode aktiviert ist undforce
aufFALSE
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.
- 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 von Policy-Anweisungen für eine IAM-Gruppe, um IAM-Benutzerzugriff auf Oracle Cloud Infrastructure-Ressourcen zu ermöglichen, insbesondere auf Autonomous Database-Instanzen.
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 mit IAM-Token auf Autonomous Database zuzugreifen. Eine Policy ist nicht erforderlich, wenn Sie für den Zugriff auf Autonomous Database IAM-Datenbankkennwörter verwenden.So ermöglichen Sie es Autonomous Database, die Anmeldung von IAM-Benutzern bei der Datenbank mit IAM-Token zuzulassen:
Hinweise zum Erstellen von Policys zur Verwendung mit IAM-Benutzern in Autonomous Database:
-
Policys können IAM-Benutzern den Zugriff auf Autonomous Database-Instanzen im gesamten Mandanten und in einem Compartment gestatten oder den Zugriff auf eine einzelne Autonomous Database-Instanz begrenzen.
-
Sie können entweder mit dem Instanz-Principal oder mit dem Ressourcen-Principal Datenbanktoken abrufen, um eine Verbindung von Ihrer Anwendung zu einer Autonomous 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 zu Autonomous Database hinzufügen
Um IAM-Benutzer hinzuzufügen und Zugriff auf Autonomous 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 Autonomous Database-Instanz erfolgt durch Zuordnung von globalen IAM-Benutzern (Schemas) zu IAM-Benutzern (exklusive Zuordnung) oder IAM-Gruppen (Zuordnung zu gemeinsamem Schema).
So autorisieren Sie IAM-Benutzer auf einer Autonomous Database-Instanz:
Hinweis:
Datenbankbenutzer, die nichtIDENTIFIED GLOBALLY
sind, können sich weiterhin wie zuvor anmelden, selbst wenn für Autonomous Database die IAM-Authentifizierung aktiviert ist.
So ordnen Sie einem globalen Oracle Database-Benutzer exklusiv einen lokalen IAM-Benutzer zu:
-
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
undALTER USER
, die Sie für diese Schritte benötigen). -
Erstellen Sie eine Zuordnung zwischen dem Autonomous Database-Benutzer (Schema) mit
CREATE USER
- oderALTER USER
-Anweisungen und der KlauselIDENTIFIED 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'
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 Autonomous 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 Sie entweder eine exklusive IAM-Zuordnung zu einem Benutzer (Schema) oder eine gemeinsame Benutzerzuordnung in Autonomous Database verwenden. 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 Database zusätzliche Rollen zu erteilen, müssen globale Autonomous Database-Rollen IAM-Gruppen zugewiesen werden.
So ordnen Sie IAM-Gruppen globale Autonomous Database-Rollen zu:
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 ihm die Anmeldung bei Autonomous 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.
Verbindung zu Autonomous Database mit Identity and Access Management-(IAM-)Authentifizierung herstellen
Nachdem der Datenbankbenutzer ADMIN die globalen Benutzer und globalen Rollen den IAM-Benutzern und IAM-Gruppen zugeordnet hat, melden sich Benutzer mit ihren Oracle Cloud Infrastructure-IAM-Zugangsdaten bei der Autonomous Database-Instanz an oder greifen über einOracle Cloud Infrastructure-IAM-Datenbanktoken auf die Datenbank zu.
Sie können sich weiterhin mit Ihrem Benutzernamen und Kennwort für Ihren lokalen Datenbankaccount (nicht-globaler Datenbankbenutzeraccount) bei Autonomous Database anmelden.
Als Oracle Cloud Infrastructure-IAM-Benutzer können Sie mit einem Datenbankclient auf eine Autonomous 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.
-
JDBC-Thin mit Unterstützung für die IAM-Tokenauthentifizierung wird wie folgt unterstützt:
-
JDBC-Version 19.13.0.0.1 (oder höher): Weitere Informationen zu JDBC-Treibern finden Sie unter JDBC- und UCP-Downloads.
-
JDBC-Version 21.4.0.0.1 (oder höher): Weitere Informationen zu JDBC-Treibern finden Sie unter JDBC- und UCP-Downloads.
Weitere Informationen finden Sie unter Unterstützung für tokenbasierte IAM-Authentifizierung:
-
- SQL*Plus und Oracle Instant Client: Unterstützt mit SQL*Plus und Instant Client auf Linux-Versionen 19.13 oder höher und Instant Client auf Linux-Versionen 21.4 oder höher.
Weitere Informationen finden Sie unter Auf Identity and Access Management-(IAM)-Token basierte Authentifizierung.
-
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 Clientverbindungen, die ein Token verwenden, das mit einem IAM-Namen und Datenbankkennwort angefordert wurde.
-
.NET-Clients (neueste Version von Linux oder Windows). .NET-Softwarekomponenten können Sie kostenlos von folgenden Sites herunterladen:
Hinweis:
Wenn sich Ihre Autonomous Database-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 Database on Dedicated Exadata Infrastructure-Instanz mit IAM herstellen
IAM-Benutzer können sich entweder mit einer IAM-Datenbankkennwortverifizierung oder einem IAM-Token bei der Autonomous Database on Dedicated Exadata Infrastructure-Instanz anmelden.
Die Verwendung der IAM-Datenbankkennwortverifizierung ähnelt dem Oracle Database-Kennwortauthentifizierungsprozess. Die Kennwortverifizierung (verschlüsselter Hash des Kennworts) wird jedoch nicht in Autonomous Database on Dedicated Exadata Infrastructure gespeichert, sondern im IAM-Benutzerprofil von Oracle Cloud Infrastructure (OCI).
Die zweite Verbindungsmethode, bei der ein IAM-Token für die Datenbank verwendet wird, ist moderner. Die Verwendung eines tokenbasierten Zugriffs ist für Cloud-Ressourcen wie Autonomous Database on Dedicated Exadata 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.
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, damit der IAM-Benutzer eine Verbindung zur Autonomous Database on Dedicated Exadata Infrastructure-Instanz herstellen kann.
Clientverbindungen, die ein Token verwenden
Für den IAM-Tokenzugriff auf Autonomous Database on Dedicated Exadata Infrastructure fordert die Clientanwendung oder das Clienttool ein Datenbanktoken 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.
-
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.
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.
TOKEN_AUTH
aktualisiert wurde, kann sich der IAM-Benutzer bei der Autonomous Database-Instanz anmelden, indem Sie den folgenden Befehl ausführen, 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, signiert es mit dem Private Key und sendet das Token dann an Autonomous 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 Database mit Identity and Access Management-(IAM-)Authentifizierung verwenden
Nachdem der ADMIN-Benutzer Oracle Cloud Infrastructure-IAM auf Autonomous Database aktiviert hat, kann eine Anwendung mit einem Instanz-Principal über ein Oracle Cloud Infrastructure-IAM-Datenbanktoken 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 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.
-
Melden Sie sich als Benutzer mit den Systemberechtigungen
ALTER USER
bei der Autonomous Database-Instanz an. -
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, undpeterfitch_schema
ist der globale Datenbankbenutzer, der ausschließlich dem Benutzerpeterfitch
zugeordnet ist.ALTER USER hrapp GRANT CONNECT THROUGH peterfitch_schema;
Nun kann sich der IAM-Benutzer mit dem Proxy bei der Datenbankinstanz anmelden. Beispiel:
CONNECT peterfitch[hrapp]@connect_string
Enter password: password
CONNECT [hrapp]/@connect_string
Proxyauthentifizierung des IAM-Benutzers validieren
-
Melden Sie sich als Benutzer mit den Systemberechtigungen
CREATE USER
undALTER USER
bei der Autonomous Database-Instanz an. -
Stellen Sie eine Verbindung als IAM-Benutzer her, und führen Sie die Befehle
SHOW USER
undSELECT SYS_CONTEXT
aus. Angenommen, Sie möchten die Proxyauthentifizierung des IAM-Benutzerspeterfitch
prüfen, wenn dieser über einen Proxy auf den Datenbankbenutzerhrapp
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 eine Verbindung von einer Autonomous Database-Instanz zu einer anderen herstellen.
Mit einem angemeldeten oder festen Benutzerdatenbanklink können Sie als Oracle Cloud Infrastructure-IAM-Benutzer eine Verbindung zu einer autonomen Datenbank herstellen.
Hinweis:
Der aktuelle Benutzerdatenbanklink wird für die Verbindung als Oracle Cloud Infrastructure IAM-Benutzer zu Autonomous Database 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 auf Autonomous Database deaktivieren
Beschreibt die Schritte zum Deaktivieren des IAM-Benutzerzugriffs über externe Authentifizierung für Autonomous Database.
ALTER SYSTEM
deaktivieren, wie unten dargestellt:ALTER SYSTEM RESET IDENTITY_PROVIDER_TYPE SCOPE=BOTH;
Wenn Sie den Zugriff auf IAM auch aus der Ressource (autonome Containerdatenbank oder autonome Datenbank) aktualisieren möchten, müssen Sie die IAM-Gruppe und die eingerichteten Policys möglicherweise entfernen oder ändern, um den Zugriff auf IAM aus diesen Ressourcen zuzulassen.
Hinweise zur Verwendung von Autonomous Database-Tools mit Identity and Access Management-(IAM-)Authentifizierung
Bietet Hinweise zur Verwendung von Autonomous Database-Tools mit aktivierter IAM-Authentifizierung.
- Oracle APEX wird für IAM-Benutzer mit Autonomous Database nicht unterstützt. Informationen zur Verwendung regulärer Datenbankbenutzer mit Autonomous Database finden Sie unter Auf Oracle Application Express Administration Services zugreifen.
-
Database Actions wird für IAM-Benutzer mit Autonomous Database nicht unterstützt. Informationen zur Verwendung regulärer Datenbankbenutzer mit Autonomous Database finden Sie unter Benutzerzugriff auf Database Actions aktivieren.