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

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

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

Antes de empezar

Asegúrate de que has recibido un correo del equipo de Transfer Appliance con el asunto Google Transfer Appliance Prepare Permissions and Storage (Google Transfer Appliance: prepara los permisos y el almacenamiento). Este correo incluye 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 deberás rellenar una vez que hayas configurado tu cuenta.

Preparar el segmento de Cloud Storage de destino

Para almacenar tus datos en Cloud Storage, debes preparar un segmento. Los segmentos son los contenedores básicos que almacenan tus datos en Cloud Storage.

Usamos dos cuentas de servicio para transferir tus datos de Transfer Appliance al segmento de Cloud Storage de destino que hayas preparado. Las cuentas de servicio son cuentas especiales que usan las aplicaciones, no las personas, para realizar tareas. 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 segmento de Cloud Storage. Concede a estas cuentas los roles necesarios para copiar datos del dispositivo a tu segmento de Cloud Storage.

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

  1. En un correo titulado Google Transfer Appliance Prepare Destination Bucket (Google Transfer Appliance: prepara el cubo de destino), el equipo de Transfer Appliance te proporciona las siguientes cuentas de servicio:

    • Una cuenta de servicio de sesión vinculada a esta transferencia concreta. Tiene el siguiente aspecto:

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

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

    • Un agente de servicio vinculado al servicio de transferencia de datos on‐premise, que usamos para transferir datos del dispositivo a tu segmento de Cloud Storage. Tiene un aspecto similar 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 concreto.

    Anota las cuentas de servicio para los pasos siguientes.

    Las cuentas de servicio permiten que Transfer Appliance manipuleGoogle Cloud recursos en tu nombre, concretamente para copiar datos del dispositivo a Cloud Storage. Concede a estas cuentas los roles necesarios para copiar datos del dispositivo a tu segmento de Cloud Storage.

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

    Si no tienes ningún segmento de Cloud Storage, crea uno:

    Google Cloud Consola

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

      Abre la página Segmentos de Cloud Storage.

    2. Haz clic en Crear segmento para abrir el formulario de creación de segmentos.

    3. Introduce la información del contenedor 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 definas una política de retención en el segmento.

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

    Google Cloud Consola

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

      Ir a Contenedores

    2. Haz clic en el menú Desbordamiento del segmento () asociado al segmento al que vas a asignar un rol al principal.

    3. Elige Editar permisos de segmento.

    4. Haz clic en el botón + Añadir principales.

    5. En el campo New principals (Nuevos principales), introduce las siguientes identidades:

      • La cuenta de servicio de la sesión. Tiene el siguiente aspecto:

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

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

      • Agente del servicio de transferencia de datos on-premise. Tiene un aspecto similar 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.

    6. En el menú desplegable Seleccionar un rol, elige el rol Administrador de almacenamiento.

      Los roles que selecciones aparecerán en el panel con una breve descripción de los permisos que conceden.

    7. Haz clic en Guardar.

    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: El nombre del segmento que vas a crear.
    • SESSION_ID: el ID de sesión de esta transferencia concreta.
    • TENANT_IDENTIFIER: número generado específico de este proyecto.

Preparar la clave de Cloud KMS

Transfer Appliance protege tus datos en el dispositivo cifrándolos antes de que nos lo devuelvas. Se usa una clave pública de Cloud Key Management Service (Cloud KMS) para encriptar tus datos en Transfer Appliance, y una clave privada para desencriptarlos.

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

Tienes las siguientes opciones para gestionar las claves de cifrado:

  • Google-owned and Google-managed encryption keys. Puedes solicitar que creemos y gestionemos las claves de Cloud KMS por ti. Si quieres usar este método, ya has terminado de configurar tu proyecto Google Cloud y puedes continuar con los pasos descritos en Recibir tu dispositivo.

  • Crea y gestiona las claves de cifrado tú mismo. Para crear y gestionar las claves de encriptado que se usan en la transferencia, sigue las instrucciones que se indican a continuación. Prepara una clave de descifrado asimétrica de Cloud KMS y añade la cuenta de servicio de sesión a la clave. La cuenta de servicio de la sesión usa la clave de desencriptado 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 conjunto de claves de Cloud Key Management Service, haz lo siguiente para crear uno:

    Google Cloud Consola

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

      Ir a la página Claves criptográficas

    2. Haz clic en Crear conjunto de claves.

    3. En el campo Nombre del conjunto de claves, introduce el nombre que quieras para tu conjunto de claves.

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

    5. Haz 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 del conjunto de claves. Por ejemplo, global.
    • KEY_RING: el nombre del conjunto de claves.
    • PROJECT_ID: el Google Cloud ID de proyecto en el que se encuentra tu segmento de almacenamiento.
  2. Para crear una clave de desencriptado asimétrica, sigue estos pasos:

    .

    Google Cloud Consola

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

      Ir a la página Claves criptográficas

    2. Haga clic en el nombre del conjunto de claves para el que quiera crear una clave.

    3. Haz clic en Crear clave.

    4. En la sección ¿Qué tipo de clave quieres crear?, elige Clave generada.

    5. En el campo Nombre de la clave, introduce el nombre de la clave.

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

    7. Haga clic en el desplegable Propósito y seleccione Descifrado asimétrico.

    8. Haz clic en el desplegable Algoritmo y selecciona RSA de 4096 bits - Relleno OAEP - Digestión SHA256.

    9. Haz clic en Crear.

    Línea de comandos

    Ejecuta el siguiente comando para crear una clave de desencriptado 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: nombre de la clave de Cloud Key Management Service. Por ejemplo, ta-key.
    • KEY_RING: el nombre del conjunto de claves.
    • LOCATION: la ubicación de Cloud Key Management Service del conjunto de claves. Por ejemplo, global.
    • PROJECT_ID: el Google Cloud ID de proyecto en el que se encuentra tu segmento de almacenamiento.
  3. Añade la cuenta de servicio de sesión como principal a la clave asimétrica haciendo lo siguiente:

    Google Cloud Consola

    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 conjunto de claves que contiene tu clave asimétrica.

    3. Seleccione la casilla de la clave asimétrica.

    4. En el panel de información, haz clic en Añadir principal.

      Se muestra Añadir principales.

    5. En el campo Nuevos principales, introduce la cuenta de servicio de sesión que te ha proporcionado el equipo de Transfer Appliance. Tiene el siguiente aspecto:

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

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

    6. En el campo Selecciona un rol, añade el rol Lector de claves públicas de CryptoKey de Cloud KMS.

    7. Haz clic en Añadir otro rol.

    8. En el campo Selecciona un rol, añade el rol Desencriptador de CryptoKey de Cloud KMS.

    9. Haz clic en Guardar.

    Línea de comandos

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

      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: nombre de la clave de Cloud Key Management Service. Por ejemplo, ta-key.
      • KEY_RING: el nombre del conjunto de claves.
      • LOCATION: la ubicación de Cloud Key Management Service del conjunto de claves. Por ejemplo, global.
      • SESSION_ID: el ID de sesión de esta transferencia concreta.
    2. Ejecuta el siguiente comando para conceder el rol roles/cloudkms.publicKeyViewer a la cuenta de servicio de la sesión:

      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: nombre de la clave de Cloud Key Management Service. Por ejemplo, ta-key.
      • KEY_RING: el nombre del conjunto de claves.
      • LOCATION: la ubicación de Cloud Key Management Service del conjunto de claves. Por ejemplo, global.
      • SESSION_ID: el ID de sesión de esta transferencia concreta.
  4. Para obtener la ruta de tu clave asimétrica, haz lo siguiente:

    Google Cloud Consola

    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 conjunto de claves que contiene tu clave de desencriptado asimétrica.

    3. Haga clic en el nombre de la clave de desencriptado asimétrica.

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

    5. Haz clic en Copiar nombre de 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 Google Cloud ID de proyecto en el que se encuentra tu segmento de almacenamiento.
      • LOCATION: la ubicación de Cloud Key Management Service del conjunto de claves.
      • KEY_RING: el nombre del conjunto de claves.
      • KEY: nombre de la clave de Cloud Key Management Service.
      • VERSION_NUMBER: número de versión de la clave.

      El equipo de Transfer Appliance necesita la ruta completa de la clave, incluido el número de versión, para poder aplicar la clave correcta a sus datos.

    Línea de comandos

    Ejecuta el siguiente comando para ver 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: el nombre del conjunto de claves.
    • KEY: el nombre de tu clave asimétrica.
    • LOCATION: la Google Cloud ubicación del conjunto de claves.
    • PROJECT_ID: ID del proyecto Google Cloud en el que se encuentra tu segmento de almacenamiento.

    La siguiente respuesta de ejemplo se parece al resultado que se devuelve:

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

    En este ejemplo:

    • PROJECT_ID: el Google Cloud ID de proyecto en el que se encuentra tu segmento de almacenamiento.
    • LOCATION: la ubicación de Cloud Key Management Service del conjunto de claves.
    • KEY_RING: el nombre del conjunto de claves.
    • KEY: nombre de la clave de Cloud Key Management Service.
    • VERSION_NUMBER: número de versión de la clave.

    El equipo de Transfer Appliance necesita la cadena que aparece en NAME y que termina en /cryptoKeyVersions/VERSION_NUMBER, donde VERSION_NUMBER es el número de versión de tu clave.

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

Enviamos un correo con el asunto Google Transfer Appliance Prepare Permissions and Storage (Google Transfer Appliance: prepara los permisos y el almacenamiento) para recoger información sobre tu depósito de Cloud Storage. Usamos la información que nos proporcionas para configurar la transferencia de Transfer Appliance a Cloud Storage.

En el formulario al que se accede desde ese correo, introduzca la siguiente información:

  • El Google Cloud ID del proyecto.
  • Selecciona la opción que prefieras en Cifrado:
    • Google-owned and Google-managed encryption key, si has elegido que Google gestione tu clave de cifrado.
    • Clave de encriptado gestionada por el cliente, si has elegido gestionar tu propia clave de encriptado. Selecciona la clave de encriptado que quieras en el menú desplegable Seleccionar una clave de encriptado gestionada por el cliente.
  • El Google Cloud nombre del segmento de destino de Cloud Storage que se ha usado en esta transferencia.
  • Opcional: un prefijo de objeto. Si no se especifica un prefijo de objeto, los objetos se transfieren a Cloud Storage con la ruta de origen, sin incluir la ruta raíz, antes del nombre de archivo en el sistema de archivos. Por ejemplo, si tiene los siguientes 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 son:
    • file1.txt
    • dirA/file2.txt
    • dirA/dirB/file3.txt
    El prefijo de objeto se añade al nombre de destino del objeto en Cloud Storage, después del carácter / del nombre del segmento de destino y antes de cualquier nombre de ruta del que se haya transferido el objeto, sin incluir la ruta raíz de origen. Esto puede ayudarte a distinguir entre los objetos transferidos de otros trabajos de transferencia.

    En la siguiente tabla se muestran varios ejemplos de prefijos de objetos y los nombres de objeto resultantes en Cloud Storage si la ruta del 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

Siguientes pasos

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