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 ni enregistrer d'informations d'identification basées sur des clés d'accès IAM à long terme pour les ressources GCP. - Activation du 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 au compte de service Google, pour toutes les ressources GCP que vous souhaitez utiliser un administrateur Google Cloud, vous devez ajouter des principaux Google IAM. - Utiliser le 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 des informations d'identificationGCP$PA
, l'authentification côté plate-forme Google Cloud s'effectue à l'aide d'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
. - Remarques sur les comptes de service Google
Remarques sur 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 ni 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 (une fois 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 le 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 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. Toutefois, 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, définir une stratégie qui est limitée à l'accès en lecture seule, par rôle, à un bucket Google Cloud Storage.
-
Les informations d'identification basées sur un 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ôle 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 au compte de service Google, pour toutes les ressources GCP que vous souhaitez utiliser un administrateur Google Cloud, vous devez ajouter des principaux Google IAM.
Avant d'activer le compte de service Google sur votre instance Autonomous Database, vous devez au préalable l'activer. Pour plus d'informations, voir 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 GCP$PA
, l'authentification côté Google Cloud Platform se produit à l'aide d'un compte de service Google.
Si vous ne l'avez pas déjà fait, effectuez les étapes prérequises suivantes :
-
Activez le schéma ADMIN ou un autre schéma pour utiliser l'authentification de compte de service Google. Pour plus d'informations, voir 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 à la section Assign Roles to the Google Service Account and Provide Access for GCP Resources.
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 du 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 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
, procédez comme suit :
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 pour username
est ADMIN
.
Par exemple :
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
(
provider => 'GCP' );
END;
/
Pour plus d'informations, reportez-vous à Procédure DISABLE_PRINCIPAL_AUTH.
Remarques sur le compte de service Google
Notes pour l'utilisation du compte de service Google.
-
Restriction de caractère 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 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 reportée sur 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.