Configura tu proyecto de Google Cloud con la aplicación de configuración

En este documento, se describe cómo configurar los permisos de Google Cloud y Cloud Storage con la aplicación de configuración de Cloud para dispositivos.

La aplicación de configuración de Cloud del dispositivo te solicita información, como tu ID de sesión de transferencia, el bucket de Cloud Storage de destino y las preferencias de Cloud Key Management Service (Cloud KMS). Con la información que proporciones, la aplicación de configuración de Cloud de Appliance configura tus permisos de Google Cloud, tu bucket de Cloud Storage preferido y tu clave de Cloud KMS para tu transferencia.

Antes de comenzar

Asegúrate de tener lo siguiente:

  • El nombre del proyecto y la ubicación de la empresa que se usan para ordenar el dispositivo.

  • El ID del dispositivo, el ID de sesión, el nombre del bucket, el prefijo del bucket y la clave de encriptación especificados cuando se solicita el dispositivo. Puedes encontrarlos en el correo electrónico titulado Prepara permisos y almacenamiento de Google Transfer Appliance.

  • El agente de servicio del Servicio de transferencia de almacenamiento que se muestra en el correo electrónico titulado Google Transfer Appliance Prepare permissions and Storage (Prepara permisos y almacenamiento de Google Transfer Appliance) Se parece al siguiente ejemplo:

    project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com

    En este ejemplo, TENANT_IDENTIFIER es un número generado específico para este proyecto en particular.

    Usamos el Servicio de transferencia de almacenamiento para transferir datos del dispositivo a tu bucket de Cloud Storage.

Asigna funciones IAM

Debes tener las funciones de IAM correctas en el proyecto y en el bucket de Cloud Storage.

Si eres el propietario del proyecto, roles/owner es suficiente. Ve a la siguiente sección, Descarga la aplicación de configuración de Cloud para dispositivos.

Si no tienes roles/owner, debes tener los siguientes roles:

  • roles/serviceusage.serviceUsageAdmin: Para habilitar las APIs necesarias en el proyecto
  • roles/iam.serviceAccountCreator: Para crear cuentas de servicio nuevas
  • roles/iam.serviceAccountKeyAdmin: Para crear y descargar claves de cuentas de servicio. Se puede otorgar a nivel de proyecto o a la cuenta de servicio del dispositivo una vez que la app de permisos la creó.
  • roles/storagetransfer.admin: Para crear la cuenta de servicio del Servicio de transferencia de almacenamiento.
  • roles/transferappliance.viewer: Se usa para recuperar el bucket de Cloud Storage y los detalles de la clave de Cloud Key Management Service.
  • roles/storage.admin: Se puede otorgar a nivel de proyecto si no creaste un bucket de Cloud Storage, o se puede otorgar a nivel de bucket si usas un bucket de Cloud Storage existente.
  • roles/cloudkms.admin: Se puede otorgar a nivel de proyecto si no creaste una clave de Cloud KMS, o se puede otorgar a nivel de clave si usas una existente.

Visualiza las funciones

A fin de ver las funciones de IAM que tienen las principales para un proyecto y sus recursos, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página IAM.

    Ir a la página IAM

  2. En esta página, se muestran todas las principales que tienen roles de IAM en tu proyecto.

Descarga la aplicación de configuración de la nube del dispositivo

Para descargar la aplicación de configuración de la nube del dispositivo, sigue estos pasos:

  1. Abre la página de bienvenida de la consola de Google Cloud.

    Abrir la página de bienvenida de la consola de Google Cloud

  2. Verifica que el nombre del proyecto usado para la transferencia se muestre en el selector de proyectos. El selector de proyectos te indica en qué proyecto estás trabajando actualmente.

    Selecciona un proyecto de Google Cloud en el selector de proyectos

    Si no ves el nombre del proyecto que usas para la transferencia, haz clic en el selector de proyectos y, luego, selecciona el proyecto correcto.

  3. Haz clic en Activar Cloud Shell.

    Iniciar devshell desde la barra de menús

  4. En Cloud Shell, usa el comando wget para descargar la aplicación de configuración de Cloud para dispositivos:

    wget https://storage.googleapis.com/transferappliance/cloudsetup/ta_cloudsetup_x86_64-linux -O ta_cloudsetup_x86_64-linux
    

Ejecuta la aplicación de configuración de Cloud para dispositivos

En Cloud Shell, ejecuta el siguiente comando para iniciar la aplicación de configuración de Cloud para dispositivos:

chmod 0777 ta_cloudsetup_x86_64-linux && ./ta_cloudsetup_x86_64-linux

La app te guiará a través de los pasos necesarios para configurar tu proyecto.

Resultado de la aplicación

La aplicación de configuración de la nube del dispositivo completa las siguientes acciones:

  • Otorga permisos a las cuentas de servicio del dispositivo que se usan para transferir datos a tu bucket de Cloud Storage.
  • Si elegiste usar una clave de encriptación administrada por el cliente, otorga permiso a las cuentas de servicio del dispositivo para acceder a los datos de clave de Cloud KMS.
  • Muestra la siguiente información:

    • El nombre del recurso de la clave criptográfica de Google Cloud, si elegiste usar una clave de encriptación de Cloud KMS administrada por el cliente.
    • El nombre del bucket de destino de Google Cloud Cloud Storage.
    • Un prefijo del bucket de destino de Google Cloud Storage, si proporcionaste uno.
    • Si corresponde, el nombre de la cuenta de servicio de transferencia en línea y el nombre del agente de servicio del Servicio de transferencia de almacenamiento.

La información que se muestra también se almacena en el directorio principal de Cloud Shell, llamado SESSION_ID-output.txt, en el que SESSION_ID es el ID de sesión de esta transferencia en particular.

Los nombres de las cuentas de servicio a las que se les otorgó permiso para esta transferencia en particular se almacenan en el directorio principal en Cloud Shell, denominado cloudsetup.log.

Envía información de CMEK a Google

Si especificaste una clave de encriptación administrada por el cliente, envíanos la información de la clave mediante el formulario vinculado desde el correo electrónico titulado Google Transfer Appliance Prepare permissions and Storage.

Descarga claves de cuentas de servicio

Descarga y guarda una clave de cuenta de servicio para la cuenta de servicio de transferencia en línea.

gcloud iam service-accounts keys create key.json \
  --iam-account=APPLIANCE_SERVICE_ACCOUNT_EMAIL

El valor de APPLIANCE_SERVICE_ACCOUNT_EMAIL se muestra en el resultado de la app de permisos:

...

Appliance Service Account Name:
example-sa@example-project.iam.gserviceaccount.com

Cuando recibas tu dispositivo, sube la clave al directorio /tmp en el dispositivo.

Soluciona problemas

Error 400: La cuenta de servicio no existe

Problema:

La aplicación de configuración de la nube del dispositivo muestra el siguiente mensaje:

Service account ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com
does not exist.

Donde SESSION_ID es el ID de sesión que se proporciona a la aplicación de configuración de Cloud de Appliance.

Solution:

Verifica el ID de sesión para tu transferencia. El ID de sesión es único para cada sesión de transferencia y lo comparte el equipo de Transfer Appliance. Si no recibiste un ID de sesión, comunícate con data-support@google.com.

Error: Enumera las ubicaciones de KMS

Problema:

La aplicación de configuración de la nube del dispositivo muestra el siguiente mensaje:

Error: listing kms locations

Solution:

Haz lo siguiente en Cloud Shell:

  1. Ejecuta gcloud auth login para volver a autenticarte.

  2. Reintenta la aplicación de configuración de Cloud del dispositivo.

Si el error persiste, comunícate con el equipo de Transfer Appliance mediante un correo electrónico a data-support@google.com.

Error: Se crea un error de restricción de clave de Cloud KMS

Problema:

La aplicación de configuración de la nube del dispositivo muestra un mensaje similar al siguiente:

Error: creating cloud kms key violates constraint error: code = FailedPrecondition
desc= europe-west6 violates constraint 'constraints/gcp.resourceLocations' on
the resource 'projects/test/locations/europe-west6'

Solution:

Es posible que tu proyecto de Google Cloud tenga políticas de la organización que no permitan la creación de claves de Cloud Key Management Service en ciertas ubicaciones. Las siguientes son soluciones posibles:

  • Elige otra ubicación para crear la clave de Cloud Key Management Service.
  • Actualiza la política de la organización para permitir la creación de claves de Cloud Key Management Service en la ubicación que desees.

Para obtener más información, consulta Cómo restringir las ubicaciones de recursos.