Configura Cloud Storage y los permisos de Google Cloud paso a paso

En este tema, se describe cómo configurar los permisos de Google Cloud y Cloud Storage paso a paso, incluido lo siguiente:

  • Preparar tu bucket de destino de Cloud Storage
  • Preparar una clave de Cloud Key Management Service para proteger tus datos
  • Proporcionar al equipo de Transfer Appliance tus datos de configuración del bucket de Cloud Storage

Antes de comenzar

Asegúrate de tener lo siguiente:

  • El correo electrónico del equipo de Transfer Appliance titulado Google Transfer Appliance Prepare Destination Bucket. En este correo electrónico, se enumeran las cuentas de servicio necesarias para la transferencia.

  • El correo electrónico del equipo de Transfer Appliance se llama Credenciales de acceso de Google Transfer Appliance. Completarás el formulario que se incluye en este correo electrónico, que el equipo de Transfer Appliance usa para configurar tu transferencia.

Prepara el bucket de destino de Cloud Storage

Para almacenar tus datos en Cloud Storage, debes preparar un bucket. Los depósitos son los contenedores básicos que conservan tus datos dentro de Cloud Storage.

Usamos dos cuentas de servicio para mover tus datos de Transfer Appliance al bucket de Cloud Storage de destino que preparas. Las cuentas de servicio son cuentas especiales que una aplicación usa, no una persona, para realizar un trabajo. En este caso, las cuentas de servicio permiten que Transfer Appliance use recursos de Cloud Storage en tu nombre para copiar datos del dispositivo a tu bucket de Cloud Storage. Otorga a estas cuentas las funciones necesarias para copiar datos del dispositivo a tu bucket de Cloud Storage.

Para preparar el bucket de Cloud Storage de destino, sigue estos pasos:

  1. En un correo electrónico titulado Google Transfer Appliance Prepare Destination Bucket, el equipo de Transfer Appliance te proporciona las siguientes cuentas de servicio:

    • Una cuenta de servicio de sesión vinculada a esta transferencia en particular. Se ve como en el siguiente ejemplo:

      SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com

      En este ejemplo, SESSION_ID es el ID de sesión de esta transferencia en particular.

    • Un agente de servicio vinculado al Servicio de transferencia de datos locales, que usamos para transferir datos del dispositivo a Cloud Storage bucket. Es similar al siguiente ejemplo:

      project-IDENTIFIER@storage-transfer-service.gserviceaccount.com

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

    Tome nota de las cuentas de servicio para los pasos siguientes.

    Las cuentas de servicio permiten que Transfer Appliance manipule los recursos de Google Cloud en tu nombre, es decir, que copie los datos del dispositivo a Cloud Storage. Otorga a estas cuentas las funciones necesarias para copiar datos del dispositivo a tu bucket de Cloud Storage.

  2. Los depósitos de Cloud Storage están vinculados a proyectos de Google Cloud. A fin de crear un bucket de Cloud Storage, elige un proyecto para colocar el bucket. Ejecuta el siguiente comando para enumerar los ID del proyecto disponibles:

    gcloud projects list
    
  3. Si no tienes un bucket de Cloud Storage, haz lo siguiente para crear uno:

    Google Cloud Console

    1. Abre el navegador de Cloud Storage en Google Cloud Console.

      Abrir el navegador de Cloud Storage

    2. Haz clic en Crear bucket para abrir el formulario de creación de buckets.

      Bucket nuevo.

    3. Ingresa la información de tu depósito y haz clic en Continuar para completar cada paso:

    4. Haga clic en Listo.

    Línea de comandos

    Usa el comando gsutil mb:

    gsutil mb -b on -l LOCATION -p PROJECT_ID gs://BUCKET_NAME
    

    En este ejemplo:

  4. A fin de otorgar a las cuentas de servicio de Transfer Appliance permiso para usar tu bucket de Cloud Storage, haz lo siguiente:

    Google Cloud Console

    1. En Cloud Console, ve a la página Navegador de Cloud Storage.

      Ir al navegador

    2. Haz clic en el menú ampliado del bucket () asociado al bucket en el que le estás asignando una función al principal.

    3. Elige Edit bucket permissions.

    4. Haga clic en el botón + Agregar principales.

    5. En el campo Nuevos principales, ingresa las siguientes identidades:

      • La cuenta de servicio de la sesión. Se ve como en el siguiente ejemplo:

        SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com

        En este ejemplo, SESSION_ID es el ID de sesión de esta transferencia en particular.

      • El agente del servicio de transferencia de datos locales. Es similar al siguiente ejemplo:

        project-IDENTIFIER@storage-transfer-service.gserviceaccount.com

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

    6. En el menú desplegable Seleccionar una función, selecciona la función Administrador de almacenamiento.

      Las funciones que seleccionas aparecen en el panel con una descripción breve del permiso que otorgan.

    7. Haga clic en Save.

    Línea de comandos

    Usa el comando gsutil iam ch:

    gsutil iam ch \
    serviceAccount:SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com:roles/storage.admin \
    serviceAccount:project-IDENTIFIER@storage-transfer-service.gserviceaccount.com \
    gs://BUCKET_NAME
    

    En este ejemplo:

    • SESSION_ID: Es el ID de sesión para esta transferencia en particular.
    • IDENTIFIER: un número generado específico para este proyecto en particular.
    • BUCKET_NAME: Es el nombre del bucket que deseas crear.

Prepara la clave de Cloud KMS

Transfer Appliance protege tus datos en el dispositivo mediante la encriptación de los datos antes de que los envíes de vuelta. Se usa una clave pública de Cloud Key Management Service (Cloud KMS) para encriptar los datos en Transfer Appliance y se usa una clave privada. para desencriptar sus datos.

Usamos la cuenta de servicio de sesión de Prepara el bucket de Cloud Storage de destino para subir los datos del dispositivo a tu bucket de Cloud Storage.

Tienes las siguientes opciones para administrar las claves de encriptación:

  • Claves de encriptación administradas por Google. Puedes solicitar que creemos y administremos las claves de Cloud KMS por ti. Si deseas usar este método, ve a los pasos de la sección Cómo proporcionar al equipo de Transfer Appliance los datos de configuración del bucket.

  • Crea y administra claves de encriptación por tu cuenta. Para crear y administrar las claves de encriptación que se usan en tu transferencia, sigue las instrucciones que se indican a continuación. Preparas una clave de desencriptación asimétrica de Cloud KMS y le agregas la cuenta de servicio de sesión. La cuenta de servicio de sesión usa la clave de desencriptación asimétrica para desencriptar y copiar tus datos en Cloud Storage.

Para preparar las claves de Cloud KMS, sigue estos pasos:

  1. Si no tienes un llavero de claves de Cloud Key Management Service, haz lo siguiente para crear uno:

    Google Cloud Console

    1. Ve a la página Claves criptográficas en Cloud Console.

      Ir a la página Claves criptográficas

    2. Haz clic en Crear llavero de claves.

    3. En el campo Nombre del llavero de claves, ingresa el nombre de tu llavero de claves.

    4. En el menú desplegable Ubicación del llavero de claves, selecciona una ubicación, como "us-east1".

    5. Haga clic en Crear.

    Línea de comandos

    gcloud kms keyrings create KEY_RING --location=LOCATION --project=PROJECT_ID
    

    En este ejemplo:

    • LOCATION: Es la ubicación de Cloud Key Management Service para el llavero de claves. Por ejemplo, global
    • KEY_RING: Es el nombre del llavero de claves.
    • PROJECT_ID: Es el ID del proyecto de Google Cloud en el que se encuentra el bucket de almacenamiento.
  2. Para crear una clave de desencriptación asimétrica, sigue estos pasos:

    Google Cloud Console

    1. Ve a la página Claves criptográficas en Cloud Console.

      Ir a la página Claves criptográficas

    2. Haz clic en el nombre del llavero de claves para el que deseas crear una clave.

    3. Haz clic en Crear clave.

    4. En la sección ¿Qué tipo de clave deseas crear?, elige Generated key.

    5. Ingresa el nombre en el campo Nombre de la clave.

    6. Haz clic en el menú desplegable Nivel de protección y selecciona Software.

    7. Haz clic en el menú desplegable Propósito y selecciona Desencriptación asimétrica.

    8. Haz clic en el menú desplegable Algoritmo y selecciona 4096-bit RSA - OAEP Padding - SHA256 Digest

    9. Haga clic en Crear.

    Línea de comandos

    Ejecuta el siguiente comando para crear una clave de desencriptación asimétrica:

    gcloud kms keys create KEY --keyring=KEY_RING \
    --location=LOCATION --purpose=asymmetric-encryption \
    --default-algorithm=rsa-decrypt-oaep-4096-sha256 \
    --project=PROJECT_ID
    

    En este ejemplo:

    • KEY: Es el nombre de la clave de Cloud Key Management Service. Por ejemplo, ta-key
    • KEY_RING: Es el nombre del llavero de claves.
    • LOCATION: Es la ubicación de Cloud Key Management Service para el llavero de claves. Por ejemplo, global
    • PROJECT_ID: Es el ID del proyecto de Google Cloud en el que se encuentra el bucket de almacenamiento.
  3. Para agregar la cuenta de servicio de sesión como principal a la clave asimétrica, haz lo siguiente:

    Google Cloud Console

    1. Ve a la página Claves criptográficas en Google Cloud Console.

      Ir a la página Claves criptográficas

    2. Haz clic en el llavero de claves que contiene la clave asimétrica.

    3. Selecciona la casilla de verificación de la clave que deseas.

    4. En el panel de información, haz clic en Agregar principal.

      Se muestra la opción Agregar principales.

    5. En el campo Nuevos principales, ingresa la cuenta de servicio de sesión que proporciona el equipo de Transfer Appliance. Se ve como en el siguiente ejemplo:

      SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com

      En este ejemplo, SESSION_ID es el ID de sesión de esta transferencia en particular.

    6. En el campo Seleccionar una función, agrega la función Visualizador de claves públicas de CrytoKey de Cloud KMS.

    7. Haz clic en Agregar otra función.

    8. En el campo Seleccionar una función, agrega la función Desencriptador de CryptoKeys de Cloud KMS.

    9. Haga clic en Save.

    Línea de comandos

    1. Ejecuta el siguiente comando para otorgar la función roles/cloudkms.cryptoKeyDecrypter a la cuenta de servicio de sesión:

      gcloud kms keys add-iam-policy-binding KEY \
      --keyring=KEY_RING --location=LOCATION \
      --member=serviceAccount:SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com \
      --role=roles/cloudkms.cryptoKeyDecrypter
      

      En este ejemplo:

      • KEY: Es el nombre de la clave de Cloud Key Management Service. Por ejemplo, ta-key
      • KEY_RING: Es el nombre del llavero de claves.
      • LOCATION: Es la ubicación de Cloud Key Management Service para el llavero de claves. Por ejemplo, global
      • SESSION_ID: Es el ID de sesión para esta transferencia en particular.
    2. Ejecuta el siguiente comando para otorgar la función roles/cloudkms.publicKeyViewer a la cuenta de servicio de sesión:

      gcloud kms keys add-iam-policy-binding KEY \
      --keyring=KEY_RING --location=LOCATION \
      --member=serviceAccount:SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com \
      --role=roles/cloudkms.publicKeyViewer
      

      En este ejemplo:

      • KEY: Es el nombre de la clave de Cloud Key Management Service. Por ejemplo, ta-key
      • KEY_RING: Es el nombre del llavero de claves.
      • LOCATION: La ubicación de Cloud Key Management Service para el llavero de claves. Por ejemplo, global
      • SESSION_ID: Es el ID de sesión para esta transferencia en particular.
  4. Para obtener la ruta de acceso de la clave asimétrica, haz lo siguiente:

    Google Cloud Console

    1. Ve a la página Claves criptográficas en Google Cloud Console.

      Ir a la página Claves criptográficas

    2. Haz clic en el llavero de claves que contiene la clave de desencriptación asimétrica.

    3. Haz clic en el nombre de la clave asimétrica de desencriptación.

    4. Selecciona la versión de clave que deseas y haz clic en Más .

    5. Haz clic en Copiar nombre de recurso.

      Este es un ejemplo de formato de clave:

      projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/VERSION_NUMBER

      En este ejemplo:

      • PROJECT_ID: Es el ID del proyecto de Google Cloud en el que se encuentra el bucket de almacenamiento.
      • LOCATION: La ubicación de Cloud Key Management Service para el llavero de claves.
      • KEY_RING: Es el nombre del llavero de claves.
      • KEY: Es el nombre de la clave de Cloud Key Management Service.
      • VERSION_NUMBER: El número de versión de la clave

      El equipo de Transfer Appliance requiere toda la ruta de acceso de la clave, incluido el número de versión, para que pueda aplicar la clave correcta a tus datos.

    Línea de comandos

    Ejecuta el siguiente comando para enumerar la ruta completa de tu clave asimétrica, incluido su número de versión:

    gcloud kms keys versions list --keyring=KEY_RING \
    --key=KEY --location=LOCATION \
    --project=PROJECT_ID
    

    En este ejemplo:

    • KEY_RING: Es el nombre del llavero de claves.
    • KEY: El nombre de tu clave asimétrica.
    • LOCATION: Es la ubicación de Google Cloud del llavero de claves.
    • PROJECT_ID: Es el ID del proyecto de Google Cloud en el que se encuentra el depósito de almacenamiento.

    El resultado muestra una respuesta similar al siguiente ejemplo:

    NAME STATE
    projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/VERSION_NUMBER
    ENABLED
    

    En este ejemplo:

    • PROJECT_ID: Es el ID del proyecto de Google Cloud en el que se encuentra el bucket de almacenamiento.
    • LOCATION: La ubicación de Cloud Key Management Service para el llavero de claves.
    • KEY_RING: Es el nombre del llavero de claves.
    • KEY: Es el nombre de la clave de Cloud Key Management Service.
    • VERSION_NUMBER: El número de versión de la clave

    El equipo de Transfer Appliance requiere la string en NAME que termina en /cryptoKeyVersions/VERSION_NUMBER, en la que VERSION_NUMBER es el número de versión de tu clave.

Proporcione al equipo de Transfer Appliance los datos de configuración del bucket

Enviamos un correo electrónico con el título Credenciales de acceso de Google Transfer Appliance para recopilar información sobre tu bucket de Cloud Storage. Usamos la información que proporciones para configurar la transferencia de Transfer Appliance a Cloud Storage.

En el correo electrónico que envió el equipo de Transfer Appliance, titulado Google Transfer Appliance Credentials, ingresa la siguiente información:

  • El ID del proyecto de Google Cloud Platform.
  • Selecciona una opción para la Encriptación:
    • Clave de encriptación administrada por Google, si elegiste que Google administre tu clave de encriptación.
    • Clave de encriptación administrada por el cliente, si elegiste administrar tu propia clave de encriptación. Selecciona la clave de encriptación deseada en el menú desplegable Selecciona una clave de encriptación administrada por el cliente.
  • El nombre del bucket de destino de Cloud Storage de Google Cloud que se usa para esta transferencia.
  • Un prefijo del objeto (opcional). Sin un prefijo, los objetos se transfieren a Cloud Storage con la ruta de acceso de la fuente, sin la ruta raíz, antes de establecer el nombre del archivo en el sistema de archivos. Por ejemplo, si tienes estos archivos:
    • /source_root_path/file1.txt
    • /source_root_path/dirA/file2.txt
    • /source_root_path/dirA/dirB/file3.txt
    Los nombres de los objetos en Cloud Storage serán los siguientes:
    • file1.txt
    • dirA/file2.txt
    • dirA/dirB/file3.txt
    El prefijo del objeto se agrega al nombre de destino del objeto en Cloud Storage, después del carácter / del nombre del bucket de destino y antes de cualquier nombre de ruta desde la que se haya transferido el objeto, sin incluir la ruta de acceso raíz de la fuente. Esto puede ayudarte a distinguir entre objetos transferidos de otros trabajos de transferencia.

    En la siguiente tabla, se muestran varios ejemplos de prefijos del objeto y los nombres de objeto resultantes en Cloud Storage, si la ruta de acceso al objeto de origen es /source_root_path/sub_folder_name/object_name:
    Prefijo Nombre del objeto de destino
    Ninguna /destination_bucket/sub_folder_name/object_name
    prefix/ /destination_bucket/prefix/sub_folder_name/object_name

Próximos pasos

Configura puertos de red IP para que Transfer Appliance funcione en tu red.