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

En este tema, se describe cómo configurar los permisos de Google Cloud y Cloud Storage paso a paso, incluidos los siguientes pasos:

  • Prepara tu depósito de destino de Cloud Storage.
  • Preparar una clave de Cloud Key Management Service para proteger tus datos
  • Proporciona al equipo de Transfer Appliance los datos de configuración de tu depósito de Cloud Storage.

Antes de comenzar

Asegúrate de tener lo siguiente:

  • El correo electrónico del equipo de Transfer Appliance titulado Depósito de destino de Google Transfer Appliance. En este correo electrónico, se enumeran las cuentas de servicio necesarias para tu transferencia.

  • El correo electrónico del equipo de Transfer Appliance titulado Credenciales de acceso de Google Transfer Appliance. Completarás el formulario 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 depósito. Los depósitos son los contenedores básicos en los que se conservan tus datos en Cloud Storage.

Usamos dos cuentas de servicio para mover tus datos de Transfer Appliance al depósito de destino de Cloud Storage que preparas. Las cuentas de servicio son cuentas especiales que utiliza una aplicación, no una persona, para trabajar. 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 depósito de Cloud Storage. Le otorgas a estas cuentas las funciones necesarias para copiar datos del dispositivo a tu depósito de Cloud Storage.

Para preparar el depósito de destino de Cloud Storage, sigue estos pasos:

  1. En un correo electrónico titulado Depósito de destino de Google Transfer Appliance, 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:

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

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

    • Una cuenta de servicio estática que está vinculada al servicio del servicio de transferencia de datos locales, que usamos para transferir datos del dispositivo a tu depósito de Cloud Storage:

      cloud-ingest-dcp@cloud-ingest-prod.iam.gserviceaccount.com

    Toma 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 copien los datos del dispositivo de Cloud Storage en Cloud Storage. Le otorgas a estas cuentas las funciones necesarias para copiar datos del dispositivo a tu depósito de Cloud Storage.

  2. Los depósitos de Cloud Storage están vinculados a proyectos de Google Cloud. Para crear un depósito de Cloud Storage, elige un proyecto en el que colocarlo. Ejecuta el siguiente comando para enumerar los ID de proyecto disponibles:

    gcloud projects list
    
  3. Si no tienes un depósito 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 permiso a las cuentas de servicio de Transfer Appliance para que usen tu depósito 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 depósito () asociado al depósito al que le otorgas una función.

    3. Elige Edit bucket permissions.

    4. Haz clic en el botón + Agregar miembros (Add members).

    5. En el campo Miembros nuevos, ingresa las siguientes identidades:

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

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

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

      • La cuenta de servicio estática Se ve como el siguiente ejemplo:

        cloud-ingest-dcp@cloud-ingest-prod.iam.gserviceaccount.com

    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:cloud-ingest-dcp@cloud-ingest-prod.iam.gserviceaccount.com:roles/storage.admin \
    gs://BUCKET_NAME
    

    En este ejemplo:

    • SESSION_ID: el ID de sesión de esta transferencia en particular.
    • BUCKET_NAME: El nombre del depósito que crearás.

Prepara la clave de Cloud KMS

Transfer Appliance protege tus datos en el dispositivo mediante la encriptación de los datos antes de enviarnos el dispositivo de vuelta. Se usa un clave público de Cloud Key Management Service (Cloud KMS para encriptar tus datos en Transfer Appliance), y se usa una clave privada. para desencriptar tus datos.

Usamos la cuenta de servicio de sesión de la preparación del depósito de Cloud Storage de destino para subir los datos del dispositivo a tu depósito de Cloud Storage.

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

  • Claves de encriptación administradas por Google. Puedes solicitar que creamos y administre las claves de Cloud KMS por ti. Si deseas usar este método, ve a los pasos en Proporciona al equipo de Transfer Appliance los datos de configuración del depósito.

  • Crea y administra las claves de encriptación tú mismo. Sigue las instrucciones a continuación para crear y administrar las claves de encriptación que usas para tu transferencia. Preparas una clave de desencriptación asimétrica de Cloud KMS y agregas la cuenta de servicio de sesión a la clave. 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, haz lo siguiente:

  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: la ubicación de Cloud Key Management Service para el llavero de claves. Por ejemplo, global
    • KEY_RING: el nombre del llavero de claves.
    • PROJECT_ID: el ID del proyecto de Google Cloud en el que se encuentra tu depósito de almacenamiento.
  2. Para crear una clave de desencriptación asimétrica, haz lo siguiente:

    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 quieras 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. Haga clic en el menú desplegable Nivel de protección y seleccione Software.

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

    8. Haz clic en el menú desplegable Algorithm y selecciona 4096 bits 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: el nombre de la clave de Cloud Key Management Service. Por ejemplo, ta-key
    • KEY_RING: el nombre del llavero de claves.
    • LOCATION: la ubicación de Cloud Key Management Service para el llavero de claves. Por ejemplo, global
    • PROJECT_ID: el ID del proyecto de Google Cloud en el que se encuentra tu depósito de almacenamiento.
  3. Para agregar la cuenta de servicio de sesión como miembro a la clave asimétrica, haz lo siguiente:

    Google Cloud Console

    1. Ve a la página Claves criptográficas de 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 miembro.

      Se muestra Agregar miembros.

    5. En el campo Miembros nuevos, ingresa la cuenta de servicio de sesión proporcionada por el equipo de Transfer Appliance. Se ve como el siguiente ejemplo:

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

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

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

    7. Haz clic en Agregar otra función.

    8. En el campo Seleccionar una función, agrega la función Desencriptador de clave criptográfica 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: el nombre de la clave de Cloud Key Management Service. Por ejemplo, ta-key
      • KEY_RING: 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: el ID de sesión de 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: el nombre de la clave de Cloud Key Management Service. Por ejemplo, ta-key
      • KEY_RING: 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: el ID de sesión de esta transferencia en particular.
  4. Para obtener la ruta de tu clave asimétrica, haz lo siguiente:

    Google Cloud Console

    1. Ve a la página Claves criptográficas de 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 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 el que se encuentra tu depósito de almacenamiento.
      • LOCATION: la ubicación de Cloud Key Management Service para el llavero de claves.
      • KEY_RING: el nombre del llavero de claves.
      • KEY: 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, de modo que puedan aplicar la clave correcta a tus datos.

    Línea de comandos

    Ejecuta el siguiente comando para enumerar la ruta de acceso 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: La ubicación de Google Cloud del llavero de claves.
    • PROJECT_ID: el ID del proyecto de Google Cloud en el que se encuentra tu 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: el ID del proyecto de Google Cloud en el que se encuentra tu depósito de almacenamiento.
    • LOCATION: la ubicación de Cloud Key Management Service para el llavero de claves.
    • KEY_RING: el nombre del llavero de claves.
    • KEY: 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 de NAME que termina en /cryptoKeyVersions/VERSION_NUMBER, en la que VERSION_NUMBER es el número de versión de tu clave.

Proporcionar al equipo de Transfer Appliance los datos de configuración del depósito

Enviamos un correo electrónico titulado Credenciales de acceso de Google Transfer Appliance para recopilar información sobre su depósito de Cloud Storage. Usamos la información que proporcionas para configurar la transferencia de Transfer Appliance a Cloud Storage.

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

  • El ID del proyecto de Google Cloud Platform.
  • Selecciona la opción para 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. En el menú desplegable Seleccionar una clave de encriptación administrada por el cliente, selecciona la clave de encriptación deseada.
  • El nombre del depósito de destino de Google Cloud Storage usado 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
    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.