Mit einem Google-Serviceaccount auf Google Cloud Platform-Ressourcen zugreifen
Mit einem Google-Serviceaccount können Sie von einer Autonomous Database-Instanz aus auf Google Cloud Platform-(GCP-)Ressourcen zugreifen.
- Mit einem Google-Serviceaccount auf Google Cloud-Ressourcen zugreifen
Wenn Sie die auf einem Google-Serviceaccount basierende Authentifizierung mit Autonomous Database verwenden, kann eine Anwendung sicher auf Google Cloud Platform-(GCP-)Ressourcen zugreifen, ohne Zugangsdaten basierend auf langfristigen IAM-Zugriffsschlüsseln für die GCP-Ressourcen zu erstellen und zu speichern. - Google-Serviceaccount aktivieren und GCP-Serviceaccountnamen suchen
Vor der Verwendung einer Google Cloud Platform-(GCP-)Ressource mit einem Google-Serviceaccount müssen Sie den GCP-Zugriff für Ihre Autonomous Database-Instanz aktivieren. - Weisen Sie dem Google-Serviceaccount Rollen zu, und geben Sie Zugriff auf GCP-Ressourcen an
Um Google Cloud Platform-(GCP-)Ressourcen aus einer Autonomous Database-Instanz zu verwenden, müssen Sie oder ein Google Cloud-Administrator dem Google-Serviceaccount, auf den Ihre Anwendung zugreift, Rollen und Berechtigungen zuweisen. Neben der Zuweisung von Rollen für den Google-Serviceaccount müssen für alle GCP-Ressourcen, die Sie einen Google Cloud-Administrator verwenden möchten, Google IAM-Principals hinzugefügt werden. - Google-Serviceaccount mit DBMS_CLOUD verwenden
Wenn SieDBMS_CLOUD
-Aufrufe ausführen, um auf Google Cloud Platform-(GCP-)Ressourcen zuzugreifen und den Zugangsdatennamen alsGCP$PA
angeben, erfolgt die Authentifizierung auf Google Cloud Platform-Seite mit einem Google-Serviceaccount. - Google-Serviceaccount deaktivieren
Um den Zugriff eines Google-Serviceaccounts auf Google Cloud Platform-(GCP-)Ressourcen zu deaktivieren, verwenden SieDBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
. - Google-Serviceaccount - Hinweise
zur Verwendung des Google-Serviceaccounts.
Übergeordnetes Thema: Policys und Rollen für den Zugriff auf Ressourcen konfigurieren
Mit einem Google-Serviceaccount auf Google Cloud-Ressourcen zugreifen
Wenn Sie die kontobasierte Google-Serviceauthentifizierung mit Autonomous Database verwenden, kann eine Anwendung sicher auf Google Cloud Platform-(GCP-)Ressourcen zugreifen, ohne Zugangsdaten basierend auf langfristigen IAM-Zugriffsschlüsseln für die GCP-Ressourcen zu erstellen und zu speichern.
Ein Google-Dienstkonto ist ein spezielles GCP-Konto, das von einer Anwendung verwendet wird. Sie können einen Google-Serviceaccount verwenden, um autorisierte GCP-REST-API-Aufrufe von einer Anwendung auszuführen (nachdem dem Serviceaccount Zugriffsberechtigungen über die IAM-Rollenkonfiguration erteilt wurden). Wenn eine Anwendung Aufrufe mit einer auf dem GCP-Serviceaccount basierenden Authentifizierung durchführt, generiert der anfängliche Aufruf ein temporäres Zugriffstoken über OAuth2.0. Das OAuth2.0-Zugriffstoken ist eine Stunde lang gültig. Nachfolgende Anforderungen innerhalb einer Stunde verwenden das OAuth2.0-Zugriffstoken, um autorisierte GCP-REST-API-Aufrufe auszuführen.
Beispiel: Sie möchten Daten aus Google Cloud Storage in Ihre Autonomous Database laden, einen Vorgang für die Daten ausführen und die geänderten Daten dann wieder in Google Cloud Storage schreiben. Sie können dies tun, ohne einen Serviceaccount zu verwenden, wenn Sie über GCP-Benutzerzugangsdaten für den Zugriff auf Google Cloud Storage verfügen. Die Verwendung eines rollenbasierten Google-Serviceaccounts für den Zugriff auf GCP-Ressourcen in Autonomous Database bietet jedoch die folgenden Vorteile:
- Sie können rollenbasierten Zugriff mit verschiedenen Policys für verschiedene Benutzer oder Schemas erstellen, die Zugriff auf GCP-Ressourcen von einer Autonomous Database-Instanz benötigen. Dadurch können Sie eine Policy festlegen, um den Zugriff auf Ressourcen je nach Rolle zu begrenzen. Beispiel: Sie legen eine Policy fest, die für einen Google Cloud-Speicher-Bucket nach Rolle auf schreibgeschützten Zugriff beschränkt ist.
-
Google-Serviceaccountbasierte Zugangsdaten bieten eine bessere Sicherheit, da Sie keine langfristigen Benutzerzugangsdaten im Code bereitstellen müssen, wenn Ihre Anwendung auf GCP-Ressourcen zugreift. Autonomous Database verwaltet die temporären Zugangsdaten für den Google-Serviceaccount und muss die Zugangsdaten der GCP-Ressourcenbenutzer nicht in der Datenbank speichern.
Informationen zu Google-Serviceaccounts finden Sie unter Serviceaccounts.
Übergeordnetes Thema: Google-Serviceaccount für den Zugriff auf Google Cloud Platform-Ressourcen verwenden
Google-Serviceaccount aktivieren und GCP-Serviceaccountnamen suchen
Bevor Sie eine Google Cloud Platform-(GCP-)Ressource mit einem Google-Serviceaccount verwenden, müssen Sie den GCP-Zugriff für Ihre Autonomous Database-Instanz aktivieren.
Weitere Informationen finden Sie unter Prozedur ENABLE_PRINCIPAL_AUTH.
Übergeordnetes Thema: Google-Serviceaccount für den Zugriff auf Google Cloud Platform-Ressourcen verwenden
Dem Google-Serviceaccount Rollen zuweisen und Zugriff auf GCP-Ressourcen bereitstellen
Um Google Cloud Platform-(GCP-)Ressourcen aus einer Autonomous Database-Instanz zu verwenden, müssen Sie oder ein Google Cloud-Administrator dem Google-Serviceaccount, auf den Ihre Anwendung zugreift, Rollen und Berechtigungen zuweisen. Neben der Zuweisung von Rollen für den Google-Serviceaccount müssen für alle GCP-Ressourcen, die Sie einen Google Cloud-Administrator verwenden möchten, Google IAM-Principals hinzugefügt werden.
Aktivieren Sie zunächst den Google-Serviceaccount in Ihrer Autonomous Database-Instanz. Weitere Informationen finden Sie unter Google-Serviceaccount aktivieren und GCP-Serviceaccountnamen suchen.
Nachdem Sie diese Schritte ausgeführt haben, werden die Rollen und Principals zugewiesen. Auf diese Weise kann Ihre Anwendung, die auf der Autonomous Database-Instanz ausgeführt wird, mit einem Google-Serviceaccount auf die GCP-Ressource zugreifen.
Übergeordnetes Thema: Google-Serviceaccount für den Zugriff auf Google Cloud Platform-Ressourcen verwenden
Google-Serviceaccount mit DBMS_CLOUD verwenden
Wenn Sie DBMS_CLOUD
-Aufrufe für den Zugriff auf Google Cloud Platform-(GCP-)Ressourcen ausführen und den Zugangsdatennamen als GCP$PA
angeben, erfolgt die Authentifizierung auf der Seite der Google Cloud-Plattform mit einem Google-Serviceaccount.
Führen Sie die erforderlichen Schritte aus, falls noch nicht geschehen:
-
Aktivieren Sie das ADMIN-Schema oder ein anderes Schema, um die Google-Serviceaccount-Authentifizierung zu verwenden. Weitere Informationen finden Sie unter Google-Serviceaccount aktivieren und GCP-Serviceaccountnamen suchen.
-
Führen Sie die Google Cloud Platform-Rollenzuweisungen für die Ressourcen aus, auf die Sie zugreifen möchten. Weitere Informationen finden Sie unter Google-Serviceaccount Rollen zuweisen und Zugriff auf GCP-Ressourcen bereitstellen.
So verwenden Sie eine DBMS_CLOUD
-Prozedur oder -Funktion mit Google-Serviceaccountauthentifizierung:
In den folgenden Themen finden Sie weitere Informationen:
-
Weitere Informationen zu Anforderungen im virtuellen gehosteten GCP-Stil finden Sie unter Anforderungsendpunkte.
-
Siehe Funktion LIST_OBJECTS.
Übergeordnetes Thema: Google-Serviceaccount für den Zugriff auf Google Cloud Platform-Ressourcen verwenden
Google-Serviceaccount deaktivieren
Um den Zugriff eines Google-Serviceaccounts auf Google Cloud Platform-(GCP-)Ressourcen zu deaktivieren, verwenden Sie DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
.
Wenn der Wert für provider
GCP
lautet und für username
ein anderer Benutzer als der ADMIN
-Benutzer angegeben ist, entzieht die Prozedur dem angegebenen Benutzer die Berechtigungen. In diesem Fall können der Benutzer ADMIN
und andere Benutzer GCP$PA
weiterhin verwenden.
Beispiel: So entziehen Sie Berechtigungen für adb_user
:
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
(
provider => 'GCP',
username => 'adb_user');
END;
/
Wenn der provider
-Wert GCP
und der username
ADMIN
lautet, deaktiviert die Prozedur den Zugriff auf den Google-Serviceaccount in der Autonomous Database-Instanz. Der Standardwert für username
ist ADMIN
.
Beispiele:
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
(
provider => 'GCP' );
END;
/
Weitere Informationen finden Sie unter Prozedur DISABLE_PRINCIPAL_AUTH.
Übergeordnetes Thema: Google-Serviceaccount für den Zugriff auf Google Cloud Platform-Ressourcen verwenden
Google-Serviceaccount - Hinweise
Hinweise zur Verwendung des Google-Servicekontos.
-
Beschränkung der Google Cloud Platform-(GCP-)Zeichen:
DBMS_CLOUD
unterstützt keine URI mit einem "_", um auf einen Google Cloud Storage-Bucket-Namen zuzugreifen. Wenn Ihr Google Cloud Storage-Bucket-Name ein "_" enthält, wird möglicherweise der folgende Fehler angezeigt:SELECT * FROM DBMS_CLOUD.LIST_OBJECTS('GCP$PA', 'https://app_bucket.storage.googleapis.com/'); ORA-20006: Unsupported object store URI - https://app_bucket.storage.googleapis.com/ ORA-06512: at "C##CLOUD$SERVICE.DBMS_CLOUD", line 1306
-
Autonomous Database-Instanz mit einem Google-Serviceaccount klonen: Wenn Sie eine Instanz mit aktiviertem Google-Serviceaccount klonen, wird die Konfiguration des Google-Serviceaccounts nicht in den Klon übertragen. Führen Sie die Schritte aus, um das Google-Dienstkonto auf dem Klon zu aktivieren, wenn Sie das Google-Dienstkonto auf einer geklonten Instanz aktivieren möchten.
Übergeordnetes Thema: Google-Serviceaccount für den Zugriff auf Google Cloud Platform-Ressourcen verwenden