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

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

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

Antes de comenzar

Asegúrate de tener un correo electrónico del equipo de Transfer Appliance titulado Google Transfer Appliance Prepare Permissions and Storage. Este correo electrónico contiene lo siguiente:

  • Los nombres de las cuentas de servicio necesarias para la transferencia

  • Un ID de sesión que necesitarás para configurar tu dispositivo.

  • Un formulario que debes completar una vez que configures tu cuenta.

Prepara el bucket de destino de Cloud Storage

Para almacenar tus datos en Cloud Storage, debes preparar un bucket. Los buckets son los contenedores básicos que conservan tus datos en Cloud Storage.

Usamos dos cuentas de servicio para transferir tus datos de Transfer Appliance al servicio de Cloud Storage el bucket que preparas. Las cuentas de servicio son cuentas especiales que usan con una aplicación y no con una persona. En este caso, las cuentas de servicio permiten que Transfer Appliance use los recursos de Cloud Storage en tu nombre para copiar datos del dispositivo a tu bucket de Cloud Storage. Otorga a estas cuentas los roles necesarios para copiar datos desde el dispositivo a tu bucket de Cloud Storage.

Para preparar el bucket de destino de Cloud Storage, 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 que esté vinculada a esta transferencia en particular Se ve como el siguiente ejemplo:

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

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

    • Un agente de servicio que está vinculado al Servicio de transferencia de datos locales, que usamos para transferir datos del dispositivo a tu bucket de Cloud Storage. Se verá parecido 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.

    Toma nota de las cuentas de servicio para los próximos pasos.

    Las cuentas de servicio permiten que Transfer Appliance manipule recursos de Google Cloud en tu nombre, para copiar datos del de Google Cloud a Cloud Storage. Otorga a estas cuentas los roles necesarios para copiar datos del dispositivo al bucket de Cloud Storage.

  2. Los buckets de Cloud Storage están vinculados a los proyectos de Google Cloud. El bucket que selecciones debe estar en el mismo proyecto que se usó para pedir el dispositivo.

    Si no tienes un bucket de Cloud Storage, crea uno:

    Consola de Google Cloud

    1. Abre la página Buckets de Cloud Storage en la consola de Google Cloud.

      Abrir la página Buckets de Cloud Storage

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

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

    4. Haz clic en Listo.

    Línea de comandos

    Usa el comando gcloud storage buckets create:

    gcloud storage buckets create gs://BUCKET_NAME --uniform-bucket-level-access --location=LOCATION --project=PROJECT_ID
    

    En este ejemplo:

    No establezcas una política de retención en el bucket.

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

    Consola de Google Cloud

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

      Ir a Buckets

    2. Haz clic en el menú Ampliado del bucket () asociado al bucket en el que le asignarás un rol al principal.

    3. Elige Editar permisos de depósito.

    4. Haz clic en el botón Agregar principales.

    5. En el campo Principales nuevas, ingresa las siguientes identidades:

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

        ta-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 de servicio del Servicio de transferencia de datos locales. Se verá parecido al siguiente ejemplo:

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

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

    6. En el menú desplegable Seleccionar un rol, selecciona el 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 gcloud storage buckets add-iam-policy-binding:

    gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
    --member=serviceAccount:ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com \
    --role=roles/storage.admin
    gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
    --member=serviceAccount:project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com \
    --role=roles/storage.admin
    

    En este ejemplo:

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

Prepara la clave de Cloud KMS

Transfer Appliance protege tus datos en el dispositivo encriptando los datos antes de que nos lo envíes. Un servicio de Cloud Key Management Service Se usa una clave pública (Cloud KMS) para encriptar tus datos en Transfer Appliance, y se usa que se usan para desencriptar tus datos.

Usamos la cuenta de servicio de sesión de Prepara el bucket de Cloud Storage de destino para subir el 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, terminaste de configurar tu proyecto de Google Cloud y puedes seguir con los pasos que se describen en Recibe tu dispositivo.

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

Para preparar las claves de Cloud KMS, haz lo siguiente:

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

    Consola de Google Cloud

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

      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. Por ejemplo, global
    • KEY_RING: Es el nombre del llavero de claves.
    • PROJECT_ID: El ID del proyecto de Google Cloud en la que se encuentra tu bucket de almacenamiento.
  2. Sigue estos pasos para crear una clave de desencriptación asimétrica:

    Consola de Google Cloud

    1. Ve a la página Claves criptográficas de la Consola de Google Cloud

      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 Clave generada.

    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 RSA de 4,096 bits - Relleno OAEP - Resumen SHA256

    9. Haz 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. Por ejemplo, global
    • PROJECT_ID: El ID del proyecto de Google Cloud en las que se encuentra tu bucket de almacenamiento.
  3. Para agregar la cuenta de servicio de la sesión como principal a la clave asimétrica, haz lo siguiente:

    Consola de Google Cloud

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

      Ir a la página Claves criptográficas

    2. Haz clic en el llavero de claves que contiene tu 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 mostrará Agregar principales.

    5. En el campo Principales nuevas, ingresa la cuenta de servicio de la sesión que se proporcionó. por el equipo de Transfer Appliance. Se ve como el siguiente ejemplo:

      ta-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 Selecciona un rol, agrega el rol de Visualizador de claves públicas de CryptoKey de Cloud KMS.

    7. Haz clic en Agregar otra función.

    8. En el campo Selecciona un rol, agrega el rol de Desencriptador de CryptoKey de Cloud KMS.

    9. Haga clic en Save.

    Línea de comandos

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

      gcloud kms keys add-iam-policy-binding KEY \
      --keyring=KEY_RING --location=LOCATION \
      --member=serviceAccount:ta-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. Por ejemplo, global
      • SESSION_ID: Es el ID de sesión de esta transferencia en particular.
    2. Ejecuta el siguiente comando para otorgar a la cuenta de servicio de la sesión. el rol roles/cloudkms.publicKeyViewer:

      gcloud kms keys add-iam-policy-binding KEY \
      --keyring=KEY_RING --location=LOCATION \
      --member=serviceAccount:ta-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: 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 de esta transferencia en particular.
  4. Para obtener la ruta de acceso de tu clave asimétrica, haz lo siguiente:

    Consola de Google Cloud

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

      Ir a la página Claves criptográficas

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

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

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

    5. Haz clic en Copiar nombre del recurso.

      Un ejemplo del formato de clave es el siguiente:

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

      En este ejemplo:

      • PROJECT_ID: El ID del proyecto de Google Cloud en las que se encuentra tu bucket de almacenamiento.
      • LOCATION: Es 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 la clave, incluido el número de versión, para que puedan aplicar la clave correcta a tus datos.

    Línea de comandos

    Ejecuta el siguiente comando para mostrar 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: Es el nombre de tu clave asimétrica.
    • LOCATION: La ubicación de Google Cloud de la clave de Google.
    • PROJECT_ID: Es el ID del proyecto de Google Cloud que se encuentra tu bucket 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: El ID del proyecto de Google Cloud en las que se encuentra tu bucket de almacenamiento.
    • LOCATION: Es 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: Es el número de versión de la clave.

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

Proporciona al equipo de Transfer Appliance datos sobre la configuración del bucket

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

En el formulario vinculado desde ese correo electrónico, ingresa la siguiente información:

  • El ID del proyecto de Google Cloud
  • Selecciona tu opción de encriptación:
    • Clave de encriptación administrada por Google, si decides que Google pueda administrar tu clave de encriptación.
    • Clave de encriptación administrada por el cliente, si elegiste administrar la tuya clave de encriptación. Selecciona la clave de encriptación que deseas Selecciona una clave de encriptación administrada por el cliente.
  • El nombre del bucket de destino de Google Cloud Storage que se usa para esta transferencia.
  • Opcional: Un prefijo de objeto. 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
    Ninguno /destination_bucket/sub_folder_name/object_name
    prefix/ /destination_bucket/prefix/sub_folder_name/object_name

Próximos pasos

Configurar puertos de red IP para Transfer Appliance para que funcione en tu red