Uso de la cuenta de servicio de Google para acceder a los recursos de Google Cloud Platform
Puede utilizar una cuenta de servicio de Google para acceder a los recursos de Google Cloud Platform (GCP) desde una instancia de Autonomous Database.
- Acerca del uso de una cuenta de servicio de Google para acceder a los recursos de Google Cloud
Al utilizar la autenticación basada en una cuenta de servicio de Google con Autonomous Database, una aplicación puede acceder de forma segura a los recursos de Google Cloud Platform (GCP) sin crear y guardar credenciales basadas en claves de acceso de IAM a largo plazo para los recursos de GCP. - Activación de la cuenta de servicio de Google y búsqueda del nombre de cuenta de servicio de GCP
Antes de utilizar un recurso de Google Cloud Platform (GCP) con una cuenta de servicio de Google, debe activar el acceso de GCP para la instancia de Autonomous Database. - Asignación de roles a la cuenta de servicio de Google y otorgamiento de acceso para recursos de GCP
Para utilizar recursos de Google Cloud Platform (GCP) desde una instancia de Autonomous Database, usted o un administrador de Google Cloud deben asignar roles y privilegios a la cuenta de servicio de Google a la que accede la aplicación. Además de asignar roles para la cuenta de servicio de Google, para cualquier recurso de GCP que desee utilizar un administrador de Google Cloud debe agregar principales de Google IAM. - Uso de la cuenta de servicio de Google con DBMS_CLOUD
Al realizar llamadas aDBMS_CLOUD
para acceder a los recursos de Google Cloud Platform (GCP) y especificar el nombre de la credencial comoGCP$PA
, la autenticación en el lado de Google Cloud Platform se realiza mediante una cuenta de servicio de Google. - Desactivación de la cuenta de servicio de Google
Para desactivar el acceso de la cuenta de servicio de Google a los recursos de Google Cloud Platform (GCP), utiliceDBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
. - Notas de la cuenta de servicio de Google
Notas para utilizar la cuenta de servicio de Google.
Tema principal: Configuración de políticas y roles para acceder a recursos
Acerca del uso de una cuenta de servicio de Google para acceder a los recursos de Google Cloud
Al utilizar la autenticación basada en cuenta de servicio de Google con Autonomous Database, una aplicación puede acceder de forma segura a los recursos de Google Cloud Platform (GCP) sin crear y guardar credenciales basadas en claves de acceso de IAM a largo plazo para los recursos de GCP.
Una cuenta de servicio de Google es un tipo especial de cuenta GCP utilizada por una aplicación. Puede utilizar una cuenta de servicio de Google para realizar llamadas a la API de REST de GCP autorizadas desde una aplicación (después de que se otorguen permisos de acceso a la cuenta de servicio mediante la configuración de roles de IAM). Cuando una aplicación realiza llamadas con autenticación basada en cuenta de servicio GCP, la llamada inicial genera un token de acceso temporal a través de OAuth2.0. El token de acceso OAuth2.0 es válido durante una hora. Las solicitudes posteriores en una hora utilizan el token de acceso OAuth2.0 para realizar llamadas a la API de REST de GCP autorizadas.
Por ejemplo, puede que desee cargar datos de Google Cloud Storage en Autonomous Database, realizar alguna operación en los datos y, a continuación, volver a escribir los datos modificados en Google Cloud Storage. Puede hacerlo sin utilizar una cuenta de servicio si tiene credenciales de usuario de GCP para acceder a Google Cloud Storage. Sin embargo, el uso de una cuenta de servicio de Google basada en roles para acceder a recursos de GCP desde Autonomous Database tiene las siguientes ventajas:
- You can create role-based access, with different policies for different users or schemas that need access to GCP resources from an Autonomous Database instance. Esto permite definir una política para limitar el acceso a los recursos por rol. Por ejemplo, definir una política que esté limitada al acceso de solo lectura, por rol, a un cubo de Google Cloud Storage.
-
Las credenciales basadas en cuentas de servicio de Google proporcionan una mejor seguridad, ya que no es necesario proporcionar credenciales de usuario a largo plazo en el código cuando la aplicación accede a los recursos de GCP. Autonomous Database gestiona las credenciales temporales de la cuenta de servicio de Google y no necesita almacenar las credenciales de usuario de recurso de GCP en la base de datos.
Consulte Cuentas de servicio para obtener información sobre las cuentas de servicio de Google.
Activación de la cuenta de servicio de Google y búsqueda del nombre de cuenta de servicio de GCP
Antes de utilizar un recurso de Google Cloud Platform (GCP) con una cuenta de servicio de Google, debe activar el acceso de GCP para la instancia de Autonomous Database.
Consulte el procedimiento ENABLE_PRINCIPAL_AUTH para obtener más información.
Asignación de roles a la cuenta de servicio de Google y otorgamiento de acceso para recursos de GCP
Para utilizar los recursos de Google Cloud Platform (GCP) de una instancia de Autonomous Database, usted o un administrador de Google Cloud deben asignar roles y privilegios a la cuenta de servicio de Google a la que accede la aplicación. Además de asignar roles para la cuenta de servicio de Google, para cualquier recurso de GCP que desee utilizar un administrador de Google Cloud debe agregar principales de Google IAM.
Como requisito, active primero la cuenta de servicio de Google en la instancia de Autonomous Database. Consulte Activación de la cuenta de servicio de Google y búsqueda del nombre de cuenta de servicio de GCP para obtener más información.
Después de completar estos pasos, se asignan los roles y los principales. Esto permite que la aplicación que se ejecuta en la instancia de Autonomous Database acceda al recurso de GCP con una cuenta de servicio de Google.
Uso de la cuenta de servicio de Google con DBMS_CLOUD
Al realizar llamadas a DBMS_CLOUD
para acceder a los recursos de Google Cloud Platform (GCP) y especificar el nombre de credencial como GCP$PA
, la autenticación en la plataforma de Google Cloud se realiza mediante una cuenta de servicio de Google.
Si aún no lo ha hecho, realice los siguientes pasos previos:
-
Active el esquema ADMIN u otro esquema para utilizar la autenticación de cuenta de servicio de Google. Consulte Activación de la cuenta de servicio de Google y búsqueda del nombre de cuenta de servicio de GCP para obtener más información.
-
Realice las asignaciones de rol de Google Cloud Platform para los recursos a los que desea acceder. Consulte Asignación de roles a la cuenta de servicio de Google y otorgamiento de acceso para recursos de GCP para obtener más información.
Para utilizar un procedimiento o función DBMS_CLOUD
con la autenticación de cuenta de servicio de Google:
Puede obtener más información en los siguientes enlaces:
-
Consulte Puntos finales de solicitud para obtener más información sobre las solicitudes de estilo alojado virtual de GCP.
-
Consulte LIST_OBJECTS Function.
Desactivación de la cuenta de servicio de Google
Para desactivar el acceso de la cuenta de servicio de Google a los recursos de Google Cloud Platform (GCP), utilice DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
.
Cuando el valor provider
es GCP
y username
es un usuario distinto de ADMIN
, el procedimiento revoca los privilegios del usuario especificado. En este caso, el usuario ADMIN
y otros usuarios pueden seguir utilizando GCP$PA
.
Por ejemplo, para revocar privilegios para adb_user
:
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
(
provider => 'GCP',
username => 'adb_user');
END;
/
Cuando el valor provider
es GCP
y el valor username
es ADMIN
, el procedimiento desactiva el acceso a la cuenta de servicio de Google en la instancia de Autonomous Database. El valor por defecto para username
es ADMIN
.
Por ejemplo:
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH
(
provider => 'GCP' );
END;
/
Consulte el procedimiento DISABLE_PRINCIPAL_AUTH para obtener más información.
Notas de la cuenta de servicio de Google
Notas para usar la cuenta de servicio de Google.
-
Restricción de caracteres de Google Cloud Platform (GCP):
DBMS_CLOUD
no soporta un URI que contenga una "_" para acceder a un nombre de cubo de Google Cloud Storage. Si el nombre del cubo de Google Cloud Storage contiene una "_", es posible que aparezca el siguiente error: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
-
Clonación de una instancia de Autonomous Database con una cuenta de servicio de Google: al clonar una instancia con una cuenta de servicio de Google activada, la configuración de la cuenta de servicio de Google no se transfiere a la clonación. Realice los pasos para activar la cuenta de servicio de Google en el clon si desea activar la cuenta de servicio de Google en una instancia clonada.