Verbindung mit einem zugeordneten Proxybenutzer herstellen

Um eine Verbindung zu einem DB-System mit einem zugeordneten Proxybenutzer herzustellen, ordnen Sie zunächst MySQL-Proxybenutzer IAM-Gruppen zu, und stellen Sie dann mit dem zugeordneten Proxybenutzer eine Verbindung zum DB-System her.

  1. Ordnen Sie den Benutzer mit dem Proxy MySQL einer IAM-Gruppe zu, um die Identität und Berechtigungen des Benutzers MySQL abzurufen. Siehe Stellvertreterbenutzer MySQL einer IAM-Gruppe zuordnen.
  2. Stellen Sie eine Verbindung zum DB-System mit dem zugeordneten Proxybenutzer MySQL her. Siehe Verbindung mit einem zugeordneten Proxybenutzer herstellen.

MySQL-Proxybenutzer einer IAM-Gruppe zuordnen

Ordnen Sie einen MySQL-Benutzer mit einem Proxy einer IAM-Gruppe zu, um Zugriff auf den MySQL Server des DB-Systems zu erteilen.

Befehlszeilenclient verwenden

Verwenden Sie einen Befehlszeilenclient wie MySQL-Client oder MySQL Shell, um MySQL-Benutzer mit Proxy IAM-Gruppen zuzuordnen.

Diese Aufgabe erfordert Folgendes:
  • Die OCIDs der IAM-Gruppen und des Mandanten, in dem die Gruppen definiert sind.
  • Ein ausgeführtes DB-System.
  • Ein korrekt konfiguriertes VCN, das entweder über eine Compute-Instanz oder einen lokalen Rechner Befehlszeilenzugriff auf das DB-System erteilt.
  • Ein korrekt konfigurierter Befehlszeilenclient.
  • Das erforderliche Setup für die Verwendung des Plug-ins authentication_oci finden Sie unter Voraussetzungen.
Führen Sie die folgenden Schritte aus, um MySQL mit Proxy versehene Benutzer, <pUser1>, <pUser2> und <pUserN> IAM-Gruppen, <IAMGroup1OCID>, <IAMGroup2OCID> bzw. <IAMGroupNOCID> zuzuordnen:
Hinweis

Sie können eine beliebige Anzahl von MySQL-Benutzern mit Proxy für IAM-Gruppen erstellen und zuordnen.
  1. Erstellen Sie MySQL-Benutzer, <pUser1>, <pUser2> und <pUserN> als Proxy:
    CREATE USER <pUser1> IDENTIFIED BY <password> ACCOUNT LOCK;
    CREATE USER <pUser2> IDENTIFIED BY <password> ACCOUNT LOCK;
    CREATE USER <pUserN> IDENTIFIED BY <password> ACCOUNT LOCK;
  2. Erteilen Sie den MySQL-Benutzern mit der GRANT-Anweisung die erforderlichen Berechtigungen (wie Datenbankberechtigungen, Tabellenberechtigungen und Spaltenberechtigungen). Siehe GRANT-Anweisung.
    MySQL-Benutzer mit Proxy, <pUser1>, <pUser2> und <pUserN> mit den erforderlichen Berechtigungen werden erstellt.
  3. Ordnen Sie die MySQL-Benutzer mit Proxy IAM-Gruppen zu:
    CREATE USER ''@'<Hostname>' IDENTIFIED WITH 'authentication_oci'
    AS '{"tenancy": "<TenancyOCID>",
    "group_mapping": {"<IAMGroup1OCID>": "<pUser1>",
                      "<IAMGroup2OCID>": "<pUser2>",
                      "<IAMGroupNOCID>": "<pUserN>" }}';
    Wenn ein IAM-Benutzer Teil mehrerer IAM-Gruppen ist und Sie diese IAM-Gruppen verschiedenen MySQL-Benutzern mit Proxy zuordnen, wird der IAM-Benutzer dem ersten MySQL-Benutzer mit Proxy zugeordnet (entspricht der IAM-Gruppe, zu der der der IAM-Benutzer gehört), der im Feld group_mapping definiert ist. Beispiel: Wenn ein IAM-Benutzer sowohl zu <IAMGroup2OCID> als auch zu <IAMGroupNOCID> gehört, wird er dem ersten MySQL-Benutzer mit Proxy <pUser2> zugeordnet, der der ersten IAM-Gruppe entspricht, zu der der der IAM-Benutzer gehört, <IAMGroup2OCID>.
    • CREATE USER: Erstellen Sie einen anonymen Benutzer, der mit den richtigen Zugangsdaten eine Verbindung von <Hostname> herstellen kann. Der Host kann auf einen bestimmten Host oder eine bestimmte Hostgruppe beschränkt sein. Siehe CREATE USER.
    • <Hostname>: Geben Sie den Hostnamen an, von dem der Benutzer eine Verbindung herstellt.

      Die Kombination aus Benutzername und Hostname muss für jeden Mandanten eindeutig sein. Wenn Sie ''@'hostname1' einem Mandanten in einer Gruppenzuordnungsanforderung zuordnen, können Sie diese Kombination aus Benutzername und Hostname nicht für eine andere Anforderung in einem anderen Mandanten wiederverwenden. Um mehrere Zuordnungen zu verschiedenen Mandanten auszuführen, verwenden Sie andere Kombinationen aus Benutzername und Hostname, wie ''@'hostname2'.

    • authentication_oci: Geben Sie den Namen des Authentifizierungs-Plug-ins auf dem MySQL-Server an.
    • tenancy: Geben Sie die OCID des Mandanten an, in dem sich der Benutzer und das DB-System befinden. Sie können einen Mandanten pro CREATE USER-Anweisung angeben.
    • group_mapping: Geben Sie eine Liste der Gruppen-OCIDs für Proxybenutzernamen an. Die Gruppen-OCIDs müssen zu dem im Parameter tenancy definierten Mandanten gehören. Um Gruppen aus einem anderen Mandanten zuzuordnen, führen Sie den Befehl CREATE USER mit den erforderlichen Mandanten, Gruppen und Benutzern erneut aus.
  4. Erteilen Sie dem in Schritt 3 erstellten anonymen Benutzer Proxyberechtigungen:
    GRANT PROXY ON '<pUser1>' TO ''@'<Hostname>';
    GRANT PROXY ON '<pUser2>' TO ''@'<Hostname>';
    GRANT PROXY ON '<pUserN>' TO ''@'<Hostname>';
Die MySQL-Benutzer <pUser1>, <pUser1> und <pUserN> mit Proxy werden den IAM-Gruppen <IAMGroup1OCID>, <IAMGroup2OCID> bzw. <IAMGroupNOCID> zugeordnet, sodass die IAM-Gruppenmitglieder mit allen den MySQL-Benutzern mit Proxy zugewiesenen Identitys und Berechtigungen auf MySQL Server zugreifen können.

Verbindung mit einem zugeordneten Proxybenutzer herstellen

Stellen Sie eine Verbindung zu einem DB-System mit einem zugeordneten Proxybenutzer her. Der zugeordnete Proxybenutzer übernimmt die Identität und Berechtigungen eines MySQL-Benutzers mit Proxy. Lokale, föderierte und bereitgestellte Benutzer können ein IAM-Sicherheitstoken verwenden, um eine Verbindung zu einem DB-System herzustellen. Nur lokale und bereitgestellte Benutzer können jedoch ein API-Schlüsselpaar verwenden, um eine Verbindung zu einem DB-System herzustellen.

Befehlszeilenclient verwenden

Über einen Befehlszeilenclient wie MySQL-Client oder MySQL Shell können Sie eine Verbindung zu einem DB-System mit einem zugeordneten Proxybenutzer herstellen.

Für diese Aufgabe sind folgende Voraussetzungen erforderlich:
  • Ein ausgeführtes DB-System.
  • Eine Konfigurationsdatei. Siehe SDK- und CLI-Konfigurationsdatei.
  • Ein korrekt konfiguriertes VCN, das entweder über eine Compute-Instanz oder einen lokalen Rechner Befehlszeilenzugriff auf das DB-System erteilt.
  • Die Benutzer-OCID oder Benutzer-ID aus der Identitätsproviderdomain des zugeordneten Proxybenutzers.
  • Das erforderliche Setup für die Verwendung des Plug-ins authentication_oci finden Sie unter Voraussetzungen.
Führen Sie einen der folgenden Schritte aus, um eine Verbindung zum DB-System mit einem zugeordneten Proxybenutzer herzustellen:
  1. Über MySQL-Client: Führen Sie den folgenden Befehl aus:
    mysql -h <DBSystemEndpointIPAddress> --port <PortNumber> --oci-config-file=<PathToOciConfig> 
    --authentication-oci-client-config-profile=<ConfigProfile> -u <UserOCIDOrUserIDFromIdp>
    • h: Geben Sie die IP-Adresse des Endpunkts des DB-Systems an.
    • port: Geben Sie den Port an, auf dem das DB-System horcht. Der Standardwert ist 3306.
    • oci-config-file: (Optional) Geben Sie den Speicherort der Konfigurationsdatei an. Wenn Sie diese Option nicht angeben, liest der MySQL-Client die Konfiguration aus dem Standardspeicherort, %HOMEDRIVE%%HOMEPATH%\.oci\config für Windows-Systeme und ~/.oci/config für alle anderen Betriebssysteme.
    • authentication-oci-client-config-profile: (Optional) Geben Sie den Namen des Konfigurationsprofils an, das Sie in der Konfigurationsdatei angeben, deren Konfigurationsoptionen der MySQL-Client für die Authentifizierung verwenden soll. Wenn Sie diese Option nicht angeben, liest der MySQL-Client die im Profil DEFAULT genannten Konfigurationsoptionen.
    • u: Geben Sie je nachdem, ob Sie eine Verbindung zu einem lokalen, föderierten oder bereitgestellten Benutzer herstellen, die OCID (Oracle Cloud-ID) oder die Benutzer-ID aus der Identitätsproviderdomain an:
      • Lokaler Benutzer: Geben Sie die IAM-Benutzer-OCID des lokalen Benutzers an.
      • Föderierter Benutzer: Geben Sie die Benutzer-ID aus der Identitätsproviderdomain an.
      • Benutzer mit API-Schlüsseln durch Provisioning bereitgestellt: Geben Sie die IAM-Benutzer-OCID des lokalen Benutzers an.
      • Benutzer mit IAM-Sicherheitstoken durch Provisioning bereitgestellt: Geben Sie die Benutzer-ID aus der Identitätsproviderdomain an.
  2. Über MySQL Shell 8.0: Führen Sie den folgenden Befehl aus:
    mysqlsh <UserOCIDOrUserIDFromIdp>@<Hostname> --auth-method=authentication_oci_client
    • <UserOCIDOrUserIDFromIdp>: Geben Sie je nachdem, ob Sie eine Verbindung zu einem lokalen, föderierten oder bereitgestellten Benutzer herstellen, die OCID (Oracle Cloud-ID) oder die Benutzer-ID aus der Identitätsproviderdomain an:
      • Lokaler Benutzer: Geben Sie die IAM-Benutzer-OCID des lokalen Benutzers an.
      • Föderierter Benutzer: Geben Sie die Benutzer-ID aus der Identitätsproviderdomain an.
      • Benutzer mit API-Schlüsseln durch Provisioning bereitgestellt: Geben Sie die IAM-Benutzer-OCID des lokalen Benutzers an.
      • Benutzer mit IAM-Sicherheitstoken durch Provisioning bereitgestellt: Geben Sie die Benutzer-ID aus der Identitätsproviderdomain an.
    • <Hostname>: Geben Sie die IP-Adresse des Endpunkts des DB-Systems an.
    • auth-method=authentication_oci_client: Geben Sie den Namen des Client-Plug-ins an, das zur Authentifizierung der Anforderung verwendet wird. MySQL Shell verwendet nur die Standard-CLI-Konfiguration.
      Hinweis

      Diese Authentifizierungsmethode unterstützt nur das klassische MySQL-Protokoll.
    Hinweis

    Mit Shell MySQL 8.0.33 oder höher kann der Speicherort der Konfigurationsdatei mit der Option oci.configFile konfiguriert werden.
  3. Von MySQL Shell 8.1 oder höher: Führen Sie den folgenden Befehl aus:
    mysqlsh <UserOCIDOrUserIDFromIdp>@<Hostname> --oci-config-file=<PathToOciConfig> 
    --authentication-oci-client-config-profile=<ConfigProfile> --auth-method=authentication_oci_client
    • <UserOCIDOrUserIDFromIdp>: Geben Sie je nachdem, ob Sie eine Verbindung zu einem lokalen, föderierten oder bereitgestellten Benutzer herstellen, die OCID (Oracle Cloud-ID) oder die Benutzer-ID aus der Identitätsproviderdomain an:
      • Lokaler Benutzer: Geben Sie die IAM-Benutzer-OCID des lokalen Benutzers an.
      • Föderierter Benutzer: Geben Sie die Benutzer-ID aus der Identitätsproviderdomain an.
      • Benutzer mit API-Schlüsseln durch Provisioning bereitgestellt: Geben Sie die IAM-Benutzer-OCID des lokalen Benutzers an.
      • Benutzer mit IAM-Sicherheitstoken durch Provisioning bereitgestellt: Geben Sie die Benutzer-ID aus der Identitätsproviderdomain an.
    • <Hostname>: Geben Sie die IP-Adresse des Endpunkts des DB-Systems an.
    • oci-config-file: (Optional) Geben Sie den Speicherort der Konfigurationsdatei an. Wenn Sie diese Option nicht angeben, liest die Shell MySQL die Konfiguration aus dem Standardspeicherort, %HOMEDRIVE%%HOMEPATH%\.oci\config für Windows-Systeme und ~/.oci/config für alle anderen Betriebssysteme.
    • authentication-oci-client-config-profile: (Optional) Geben Sie den Namen des Konfigurationsprofils an, das Sie in der Konfigurationsdatei angeben, deren Konfigurationsoptionen MySQL Shell für die Authentifizierung verwenden soll. Wenn Sie diese Option nicht angeben, liest die Shell MySQL die im Profil DEFAULT genannten Konfigurationsoptionen.
    • auth-method=authentication_oci_client: Geben Sie den Namen des Client-Plug-ins an, das zur Authentifizierung der Anforderung verwendet wird.
      Hinweis

      Diese Authentifizierungsmethode unterstützt nur das klassische MySQL-Protokoll.
Der zugeordnete Proxybenutzer <UserOCIDOrUserIDFromIdp> ist mit dem DB-System verbunden.