IAM-Proxyauthentifizierung konfigurieren
Mit der Proxyauthentifizierung kann ein IAM-Benutzer über einen Proxy auf ein Datenbankschema zugreifen, um Aufgaben wie die Anwendungswartung auszuführen.
IAM-Proxyauthentifizierung konfigurieren
IAM-Benutzer können über die Proxyauthentifizierung eine Verbindung zu Oracle DBaaS herstellen.
Die Proxyauthentifizierung wird in der Regel verwendet, um den realen Benutzer zu authentifizieren und ihn dann zu autorisieren, ein Datenbankschema mit den Schemaberechtigungen und Rollen zu verwenden, um eine Anwendung zu verwalten. Alternativen wie das Freigeben des Kennworts für das Anwendungsschema gelten als unsicher. Zudem lässt sich nicht prüfen, welcher tatsächliche Benutzer eine Aktion ausgeführt hat.
Ein Anwendungsfall wäre eine Umgebung, in der sich ein benannter IAM-Benutzer und Anwendungsdatenbankadministrator mit seinen Zugangsdaten authentifizieren und dann über einen Proxy auf einen Datenbankschemabenutzer (z.B. hrapp) zugreifen kann. Mit dieser Authentifizierung kann der IAM-Administrator die hrapp-Berechtigungen und -Rollen als Benutzer hrapp verwenden, um die Anwendungswartung auszuführen, jedoch weiterhin seine IAM-Zugangsdaten zur Authentifizierung verwenden. Ein Anwendungsdatenbankadministrator kann sich bei der Datenbank anmelden und dann über einen Proxy auf ein Anwendungsschema zugreifen, um dieses Schema zu verwalten.
Sie können die Proxyauthentifizierung sowohl für die Kennwort- als auch für die Tokenauthentifizierungsmethode konfigurieren.
Proxyauthentifizierung für den IAM-Benutzer festlegen
Um die Proxyauthentifizierung für einen IAM-Benutzer zu konfigurieren, muss der IAM-Benutzer bereits über eine Zuordnung zu einem globalen Schema (exklusive oder gemeinsame Zuordnung) verfügen. Ein separates Datenbankschema für den IAM-Benutzer muss für die Weiterleitung per Proxy ebenfalls verfügbar sein.
Wenn Sie sichergestellt haben, dass Ihnen diese Art von Benutzer vorliegt, ändern Sie den Datenbankbenutzer so, dass der IAM-Benutzer über einen Proxy darauf zugreifen kann.
-
Melden sie sich als Benutzer mit den Systemberechtigungen
ALTER USERbei der autonomen KI-Datenbankinstanz an. -
Erteilen Sie dem IAM-Benutzer die Berechtigung, über den Proxy eine Verbindung zum lokalen Datenbankbenutzeraccount herzustellen.
Ein IAM-Benutzer kann im Befehl nicht referenziert werden. Daher muss der Proxy zwischen dem globalen Datenbankbenutzer (dem IAM-Benutzer zugeordnet) und dem Zieldatenbankbenutzer erstellt werden.
Im folgenden Beispiel ist
hrappdas Datenbankschema, auf das ein Proxy angewendet werden soll, undpeterfitch_schemaist der globale Datenbankbenutzer, dem Benutzerpeterfitchexklusiv zugeordnet istALTER 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: passwordSo stellen Sie eine Verbindung über ein Token her:
CONNECT [hrapp]/@connect_stringIAM-Benutzerproxyauthentifizierung validieren
Sie können die Proxykonfiguration des IAM-Benutzers sowohl für Kennwort- als auch für Tokenauthentifizierungsmethoden validieren.
-
Melden Sie sich als Benutzer mit den Systemberechtigungen
CREATE USERundALTER USERbei der Instanz der autonomen KI-Datenbank an. -
Stellen Sie als IAM-Benutzer eine Verbindung her, und ausführen Sie die Befehle
SHOW USERundSELECT SYS_CONTEXTaus.Angenommen, Sie möchten die Proxyauthentifizierung des IAM-Benutzers
peterfitchprüfen, wenn dieser über einen Proxy auf den Datenbankbenutzerhrappzugreift. Führen Sie die folgenden Abfragen aus, nachdem Sie mit einem IAM-Benutzer einen Proxy für die Datenbank erstellt haben. Je nachdem, wie Sie sich authentifizieren und auf die Datenbank zugreifen, erhalten Sie unterschiedliche Werte für diese Abfragen.-
Bei der Kennwortauthentifizierung wird davon ausgegangen, dass sich der IAM-Benutzer in der Standarddomain befindet:
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_PROXY" 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" -
Für die Tokenauthentifizierung für einen Benutzer, der sich in einer Nicht-Standarddomain befindet,
sales_domain: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_PROXY" 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"
-