En este tema, se describe la configuración paso a paso de los permisos de Google Cloud y Cloud Storage:
- Prepara tu bucket de Cloud Storage de destino.
- Preparar una clave de Cloud Key Management Service para proteger tus datos
- Proporcionar los datos de configuración del bucket de Cloud Storage al equipo de Transfer Appliance
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 tu transferencia.
Un ID de sesión que necesitará para configurar su dispositivo.
Un formulario que deberá completar una vez que haya configurado su 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 mover tus datos de Transfer Appliance al bucket de Cloud Storage de destino que prepares. Las cuentas de servicio son cuentas especiales que usa una aplicación, no una persona, para realizar el 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 destino de Cloud Storage, sigue estos pasos:
En un correo electrónico titulado Bucket de destino de preparación de Google Transfer Appliance, 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 el siguiente ejemplo:
ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com
En este ejemplo,
SESSION_ID
es el ID de 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. Es 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 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 los recursos de Google Cloud en tu nombre, en particular, para copiar los datos del dispositivo a Cloud Storage. Debes otorgar a estas cuentas las funciones necesarias para copiar datos del dispositivo a tu bucket de Cloud Storage.
Los buckets de Cloud Storage están vinculados a 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
Abre la página Buckets de Cloud Storage en la consola de Google Cloud.
Haz clic en Crear bucket para abrir el formulario de creación de buckets.
Ingresa la información de tu bucket y haz clic en Continuar para completar cada paso:
Especifica un Nombre, sujeto a los requisitos de nombre de buckets.
Selecciona una clase de almacenamiento predeterminada para el bucket. La clase de almacenamiento predeterminada se asigna de forma predeterminada a todos los objetos subidos en el bucket. Luego, selecciona una ubicación para los datos del bucket.
Selecciona un modelo de control de acceso para determinar cómo controlar el acceso a los objetos del bucket.
De manera opcional, puedes agregar etiquetas de bucket y elegir un método de encriptación.
No establecer una política de retención en el bucket
Haz 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:
LOCATION
: Es la ubicación del bucket de Cloud Storage que deseas.PROJECT_ID
: El ID del proyecto en el que se creará el bucket.BUCKET_NAME
: Es el nombre del bucket que crearás, sujeto a los requisitos para nombrar los buckets.
No establecer una política de retención en el bucket
A fin de otorgar permiso a las cuentas de servicio de Transfer Appliance para usar tu bucket de Cloud Storage, haz lo siguiente:
Consola de Google Cloud
- En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.
Haz clic en el menú ampliado del bucket (
) asociado al bucket al que le otorgas una función.
Elige Edit bucket permissions.
Haz clic en el botón Agregar principales.
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 para esta transferencia en particular.El agente de servicio de transferencia de datos local. Es 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 para este proyecto en particular.
En el menú desplegable Selecciona 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.
Haz clic en Guardar.
Línea de comandos
Usa el comando
gsutil iam ch
:gsutil iam ch \ serviceAccount:ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com:roles/storage.admin \ serviceAccount:project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com:roles/storage.admin \ gs://BUCKET_NAME
En este ejemplo:
SESSION_ID
: El ID de sesión para esta transferencia en particular.TENANT_IDENTIFIER
: Es un número generado específico para este proyecto en particular.BUCKET_NAME
: Es el nombre del bucket que crearás.
- En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.
Prepara la clave de Cloud KMS
Transfer Appliance protege tus datos en el dispositivo mediante su encriptación antes de que nos los envíes. Se usa una clave pública de Cloud Key Management Service (Cloud KMS) para encriptar tus datos en Transfer Appliance, y una clave privada a fin de desencriptarlos.
Usamos la cuenta de servicio de la 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 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, completaste la configuración de tu proyecto de Google Cloud y puedes continuar con los pasos descritos en Recibe tu dispositivo.
Crea y administra claves de encriptación. Sigue las instrucciones a continuación para crear y administrar las claves de encriptación que se usan en tu transferencia. Preparas una clave de desencriptación asimétrica de Cloud KMS y le agregas la cuenta de servicio de la 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, haz lo siguiente:
Si no tienes un llavero de claves de Cloud Key Management Service, haz lo siguiente para crear uno:
Consola de Google Cloud
Ve a la página Claves criptográficas en la consola de Google Cloud.
Haz clic en Crear llavero de claves.
En el campo Nombre del llavero de claves, ingresa el nombre de tu llavero de claves.
En el menú desplegable Ubicación del llavero de claves, selecciona una ubicación, como
"us-east1"
.Haz 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
: El ID del proyecto de Google Cloud en el que se encuentra el bucket de almacenamiento.
Para crear una clave de desencriptación asimétrica, sigue estos pasos:
Consola de Google Cloud
Ve a la página Claves criptográficas en la consola de Google Cloud.
Haz clic en el nombre del llavero para el que deseas crear una clave.
Haz clic en Crear clave.
En la sección ¿Qué tipo de clave deseas crear?, elige Clave generada.
Ingresa el nombre en el campo Nombre de la clave.
Haz clic en el menú desplegable Nivel de protección y selecciona Software.
Haz clic en el menú desplegable Propósito y selecciona Desencriptación asimétrica.
Haz clic en el menú desplegable Algoritmo y selecciona 4096-bit RSA - OAEP Padding - SHA256 Digest.
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 de claves. Por ejemplo,global
PROJECT_ID
: El ID del proyecto de Google Cloud en el que se encuentra el bucket de almacenamiento.
Para agregar la cuenta de servicio de la sesión como principal a la clave asimétrica, sigue estos pasos:
Consola de Google Cloud
Ve a la página Claves criptográficas en la consola de Google Cloud.
Haz clic en el llavero de claves que contiene la clave asimétrica.
Selecciona la casilla de verificación de la clave que deseas.
En el panel de información, haz clic en Agregar principal.
Se muestra la opción Agregar principales.
En el campo Principales nuevas, ingresa la cuenta de servicio de sesión que proporciona 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 para esta transferencia en particular.En el campo Selecciona un rol, agrega el rol Visualizador de claves CryptoKey públicas de Cloud KMS.
Haz clic en Agregar otro rol.
En el campo Seleccionar una función, agrega la función Desencriptador de CryptoKeys de Cloud KMS.
Haz clic en Guardar.
Línea de comandos
Ejecuta el siguiente comando para otorgar a la cuenta de servicio de la sesión la función
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 de claves. Por ejemplo,global
SESSION_ID
: El ID de sesión para esta transferencia en particular.
Ejecuta el siguiente comando para otorgar a la cuenta de servicio de la sesión la función
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
: El ID de sesión para esta transferencia en particular.
Para obtener la ruta de tu clave asimétrica, sigue estos pasos:
Consola de Google Cloud
Ve a la página Claves criptográficas en la consola de Google Cloud.
Haz clic en el llavero de claves que contiene la clave de desencriptación asimétrica.
Haz clic en el nombre de la clave de desencriptación asimétrica.
Selecciona la versión de clave que deseas y haz clic en Más more_vert.
Haz clic en Copiar nombre del recurso.
Un ejemplo de formato de clave es:
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 el 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 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
: El ID del proyecto de Google Cloud en el que se encuentra el 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 el que se encuentra el 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 la string debajo de
NAME
que termina en/cryptoKeyVersions/VERSION_NUMBER
, en la queVERSION_NUMBER
es el número de versión de tu clave.
Proporcione al equipo de Transfer Appliance datos de configuración del bucket
Enviamos un correo electrónico titulado Prepara los permisos y el almacenamiento de Google Transfer Appliance para recopilar información sobre tu bucket de Cloud Storage. Usamos la información que proporcionas para configurar la transferencia de 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 la opción de Encriptación:
- Clave de encriptación administrada por Google, si elegiste que Google la administre.
- Clave de encriptación administrada por el cliente, si decides 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 Google Cloud Storage 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
file1.txt
dirA/file2.txt
dirA/dirB/file3.txt
/
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 de objeto y sus nombres de objeto resultantes en Cloud Storage, si la ruta de acceso del 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.