Utilisation d'un compte de service Google pour accéder aux ressources Google Cloud Platform
Vous pouvez utiliser un compte de service Google pour accéder aux ressources Google Cloud Platform (GCP) à partir d'une instance Autonomous Database.
- A propos de l'utilisation d'un compte de service Google pour accéder aux ressources Google Cloud
Lorsque vous utilisez l'authentification basée sur un compte de service Google avec Autonomous Database, une application peut accéder en toute sécurité aux ressources Google Cloud Platform (GCP) sans créer et enregistrer d'informations d'identification basées sur des clés d'accès IAM à long terme pour les ressources GCP. - Activation d'un compte de service Google et recherche du nom du compte de service GCP
Avant d'utiliser une ressource Google Cloud Platform (GCP) avec un compte de service Google, vous devez activer l'accès GCP pour votre instance Autonomous Database. - Affectation de rôles au compte de service Google et octroi de l'accès aux ressources GCP
Pour utiliser les ressources Google Cloud Platform (GCP) à partir d'une instance Autonomous Database, vous ou un administrateur Google Cloud devez affecter des rôles et des privilèges au compte de service Google auquel votre application accède. En plus d'affecter des rôles pour le compte de service Google, pour toutes les ressources GCP que vous souhaitez utiliser un administrateur Google Cloud, vous devez ajouter des principaux Google IAM. - Utilisation d'un compte de service Google avec DBMS_CLOUD
Lorsque vous effectuez des appelsDBMS_CLOUD
pour accéder aux ressources Google Cloud Platform (GCP) et que vous indiquez le nom d'informations d'identificationGCP$PA
, l'authentification côté Google Cloud Platform utilise un compte de service Google. - Désactivation du compte de service Google
Pour désactiver l'accès du compte de service Google aux ressources Google Cloud Platform (GCP), utilisezDBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
. - Notes sur le compte de service Google
Remarques concernant l'utilisation du compte de service Google.
Rubrique parent : Configuration de stratégies et de rôles pour accéder aux ressources
A propos de l'utilisation d'un compte de service Google pour accéder aux ressources Google Cloud
Lorsque vous utilisez l'authentification basée sur un compte de service Google avec Autonomous Database, une application peut accéder en toute sécurité aux ressources Google Cloud Platform (GCP) sans créer et enregistrer d'informations d'identification basées sur des clés d'accès IAM à long terme pour les ressources GCP.
Un compte de service Google est un type spécial de compte GCP utilisé par une application. Vous pouvez utiliser un compte de service Google pour effectuer des appels d'API REST GCP autorisés à partir d'une application (après que le compte de service dispose de droits d'accès via la configuration de rôle IAM). Lorsqu'une application effectue des appels avec l'authentification basée sur un compte de service GCP, l'appel initial génère un jeton d'accès temporaire via OAuth2.0. Le jeton d'accès OAuth2.0 est valide pendant une heure. Les demandes suivantes dans l'heure utilisent le jeton d'accès OAuth2.0 pour effectuer des appels d'API REST GCP autorisés.
Par exemple, vous pouvez charger des données à partir de Google Cloud Storage dans votre instance Autonomous Database, effectuer une opération sur les données, puis réécrire les données modifiées dans Google Cloud Storage. Vous pouvez le faire sans utiliser de compte de service si vous disposez d'informations d'identification utilisateur GCP pour accéder à Google Cloud Storage. Cependant, l'utilisation d'un compte de service Google basé sur les rôles pour accéder aux ressources GCP à partir d'Autonomous Database présente les avantages suivants :
- Vous pouvez créer un accès basé sur les rôles, avec différentes stratégies pour différents utilisateurs ou schémas qui ont besoin d'accéder aux ressources GCP à partir d'une instance Autonomous Database. Vous pouvez ainsi définir une stratégie pour limiter l'accès aux ressources par rôle. Par exemple, vous pouvez définir une stratégie qui est limitée à un accès en lecture seule, par rôle, à un bucket Google Cloud Storage.
-
Les informations d'identification basées sur le compte de service Google offrent une meilleure sécurité, car vous n'avez pas besoin de fournir des informations d'identification utilisateur à long terme dans le code lorsque votre application accède aux ressources GCP. Autonomous Database gère les informations d'identification temporaires pour le compte de service Google et n'a pas besoin de stocker les informations d'identification utilisateur de ressource GCP dans la base de données.
Pour plus d'informations sur les comptes de service Google, reportez-vous à Comptes de service.
Activation d'un compte de service Google et recherche du nom du compte de service GCP
Avant d'utiliser une ressource Google Cloud Platform (GCP) avec un compte de service Google, vous devez activer l'accès GCP pour votre instance Autonomous Database.
Pour plus d'informations, reportez-vous à Procédure ENABLE_PRINCIPAL_AUTH.
Affectation de rôles au compte de service Google et octroi de l'accès aux ressources GCP
Pour utiliser les ressources Google Cloud Platform (GCP) d'une instance Autonomous Database, vous ou un administrateur Google Cloud devez affecter des rôles et des privilèges au compte de service Google auquel votre application accède. En plus d'affecter des rôles pour le compte de service Google, pour toutes les ressources GCP que vous souhaitez utiliser un administrateur Google Cloud, vous devez ajouter des principaux Google IAM.
Vous devez au préalable activer le compte de service Google sur votre instance Autonomous Database. Pour plus d'informations, reportez-vous à Activation d'un compte de service Google et recherche du nom du compte de service GCP.
Une fois ces étapes terminées, les rôles et les principaux sont affectés. Cela permet à votre application exécutée sur l'instance Autonomous Database d'accéder à la ressource GCP avec un compte de service Google.
Utilisation du compte de service Google avec DBMS_CLOUD
Lorsque vous effectuez des appels DBMS_CLOUD
pour accéder aux ressources Google Cloud Platform (GCP) et que vous indiquez le nom des informations d'identification en tant que GCP$PA
, l'authentification côté Google Cloud Platform utilise un compte de service Google.
Sinon, procédez comme suit :
-
Activez le schéma ADMIN ou un autre schéma pour utiliser l'authentification de compte de service Google. Pour plus d'informations, reportez-vous à Activation d'un compte de service Google et recherche du nom du compte de service GCP.
-
Effectuez les affectations de rôle Google Cloud Platform pour les ressources auxquelles vous souhaitez accéder. Pour plus d'informations, reportez-vous à Affectation de rôles au compte de service Google et octroi de l'accès aux ressources GCP.
Pour utiliser une procédure ou une fonction DBMS_CLOUD
avec l'authentification de compte de service Google, procédez comme suit :
Pour plus d'informations, reportez-vous à :
-
Pour plus d'informations sur les demandes de type hébergé virtuel GCP, reportez-vous à Adresses de demande.
-
Reportez-vous à Fonction LIST_OBJECTS.
Désactivation du compte de service Google
Pour désactiver l'accès de compte de service Google aux ressources Google Cloud Platform (GCP), utilisez DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
.
Lorsque la valeur provider
est GCP
et que la valeur username
est un utilisateur autre que l'utilisateur ADMIN
, la procédure révoque les privilèges de l'utilisateur indiqué. Dans ce cas, l'utilisateur ADMIN
et les autres utilisateurs peuvent continuer à utiliser GCP$PA
.
Par exemple, pour révoquer des privilèges pour adb_user
:
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
(
provider => 'GCP',
username => 'adb_user');
END;
/
Lorsque la valeur provider
est GCP
et que username
est ADMIN
, la procédure désactive l'accès au compte de service Google sur l'instance Autonomous Database. La valeur par défaut de username
est ADMIN
.
Par exemple :
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
(
provider => 'GCP' );
END;
/
Pour plus d'informations, reportez-vous à DISABLE_PRINCIPAL_AUTH Procédure.
Remarques sur le compte de service Google
Remarques sur l'utilisation du compte de service Google.
-
Restriction de caractères Google Cloud Platform (GCP) :
DBMS_CLOUD
ne prend pas en charge un URI contenant un "_" pour accéder à un nom de bucket Google Cloud Storage. Si le nom de votre bucket Google Cloud Storage contient un "_", l'erreur suivante peut s'afficher :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
-
Clonage d'une instance Autonomous Database avec un compte de service Google : lorsque vous clonez une instance avec un compte de service Google activé, la configuration du compte de service Google n'est pas transférée vers le clone. Effectuez les étapes permettant d'activer le compte de service Google sur le clone si vous souhaitez activer le compte de service Google sur une instance clonée.