Mit einem Google-Serviceaccount auf Google Cloud Platform-Ressourcen zugreifen
Sie können einen Google-Serviceaccount verwenden, um von einer Autonomous Database-Instanz auf Google Cloud Platform-(GCP-)Ressourcen zuzugreifen.
- Informationen zum Verwenden eines Google-Serviceaccounts für den Zugriff auf Google Cloud-Ressourcen
Wenn Sie die Google-Serviceaccountbasierte 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. - Rollen dem Google-Serviceaccount zuweisen und Zugriff für GCP-Ressourcen erteilen
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. Zusätzlich zum Zuweisen 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 für den Zugriff auf Google Cloud Platform-(GCP-)Ressourcen vornehmen und den Zugangsdatennamen alsGCP$PA
angeben, erfolgt die Authentifizierung auf der Seite der Google Cloud Platform mit einem Google-Serviceaccount. - Google-Serviceaccount deaktivieren
Um den Google-Serviceaccountzugriff 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 zum Zugriff auf Ressourcen konfigurieren
Mit einem Google-Serviceaccount auf Google Cloud-Ressourcen zugreifen
Wenn Sie die Google-Serviceaccountbasierte 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.
Ein Google-Dienstkonto ist eine spezielle Art von GCP-Konto, das von einer Anwendung verwendet wird. Mit einem Google-Serviceaccount können Sie autorisierte GCP-REST-API-Aufrufe aus einer Anwendung ausführen (nachdem dem Serviceaccount über die IAM-Rollenkonfiguration Zugriffsberechtigungen erteilt wurden). Wenn eine Anwendung Aufrufe mit der kontobasierten Authentifizierung des GCP-Service durchführt, generiert der erste 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 in Google Cloud Storage zurückschreiben. Sie können dies ohne einen Serviceaccount tun, 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 aus 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 aus einer Autonomous Database-Instanz benötigen. Auf diese Weise können Sie eine Policy festlegen, um den Zugriff auf Ressourcen nach Rolle zu begrenzen. Beispiel: Sie legen eine Policy fest, die auf schreibgeschützten Zugriff, nach Rolle, auf einen Google Cloud Storage-Bucket beschränkt ist.
-
Die kontobasierten Zugangsdaten des Google-Service bieten eine bessere Sicherheit, da Sie keine langfristigen Benutzerzugangsdaten im Code angeben müssen, wenn Ihre Anwendung auf GCP-Ressourcen zugreift. Autonomous Database verwaltet die temporären Zugangsdaten für den Google-Serviceaccount und muss keine GCP-Ressourcenbenutzerzugangsdaten in der Datenbank speichern.
Informationen zu Google-Servicekonten finden Sie unter Servicekonten.
Ü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. Zusätzlich zum Zuweisen 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 als Voraussetzung zuerst 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. Dadurch kann Ihre Anwendung, die in 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 tätigen und den Zugangsdatennamen als GCP$PA
angeben, erfolgt die Authentifizierung auf der Google Cloud Platform-Seite mit einem Google-Serviceaccount.
Führen Sie die erforderlichen Schritte aus, wenn dies noch nicht geschehen ist:
-
Aktivieren Sie das ADMIN-Schema oder ein anderes Schema, um die Google-Serviceaccountauthentifizierung 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 Dem Google-Serviceaccount Rollen zuweisen und Zugriff auf GCP-Ressourcen bereitstellen.
So verwenden Sie eine DBMS_CLOUD
-Prozedur oder -Funktion mit der Google-Serviceaccountauthentifizierung:
In den folgenden Themen finden Sie weitere Informationen:
-
Weitere Informationen zu virtuellen gehosteten Anforderungen im GCP-Stil finden Sie unter Anforderungsendpunkte.
-
Siehe LIST_OBJECTS-Funktion.
Übergeordnetes Thema: Google-Serviceaccount für den Zugriff auf Google Cloud Platform-Ressourcen verwenden
Google-Serviceaccount deaktivieren
Um den Zugriff des Google-Servicekontos auf Google Cloud Platform-(GCP-)Ressourcen zu deaktivieren, verwenden Sie DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
.
Wenn der Wert für provider
GCP
ist und username
ein anderer Benutzer als der Benutzer ADMIN
ist, entzieht die Prozedur dem angegebenen Benutzer die Berechtigungen. In diesem Fall können der Benutzer ADMIN
und andere Benutzer weiterhin GCP$PA
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 Wert für provider
GCP
lautet und username
ADMIN
ist, deaktiviert die Prozedur den Zugriff auf den Google-Serviceaccount in der Autonomous Database-Instanz. Der Standardwert für username
ist ADMIN
.
Beispiel:
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 Nutzung des Google-Dienstkontos.
-
Zeichenbeschränkung für Google Cloud Platform (GCP):
DBMS_CLOUD
unterstützt keine URI mit einem "_" für den Zugriff auf einen Google Cloud Storage-Bucket-Namen. 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 klonen, für die ein Google-Serviceaccount aktiviert ist, wird die Google-Serviceaccountkonfiguration nicht auf 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