Puedes configurar el acceso a los datos de origen en Microsoft Azure Storage mediante firmas de acceso compartido (SAS).
Regiones admitidas
El Servicio de transferencia de almacenamiento puede transferir datos desde las siguientes regiones de Microsoft Azure Storage:- América: Este de EE.UU., este 2 de EE.UU., oeste de EE.UU., oeste de EE.UU. 2, oeste de EE.UU. 3, centro de EE.UU., centro centro de EE.UU., centro centro de EE.UU., centro oeste de EE.UU., Canadá central, este este, Brasil sur
- Asia-Pacífico: Australia Central, Australia Este, Australia Sudeste, India Central, India Meridional, India Occidental, Sudeste Asiático, Asia Oriental, Japón Este, Japón Oeste, Corea del Sur, Corea Central
- Europa, Oriente Medio y África (EMEA): Francia Central, Alemania, Centro Oeste, Noruega, Este, Suecia Central, Suiza norte, Europa del Norte, Europa Occidental, Reino Unido, Reino Unido, Oeste del Reino Unido, Catar Central, Emiratos Árabes Unidos, norte de Sudáfrica
Configurar acceso
Sigue estos pasos para configurar el acceso a un contenedor de almacenamiento de Microsoft Azure:
Crea un usuario de Microsoft Azure Storage o usa uno existente para acceder a la cuenta de almacenamiento de tu contenedor de Microsoft Azure Storage Blob.
Cree un token SAS a nivel de contenedor. Consulta Concede acceso limitado a los recursos de Azure Storage mediante firmas de acceso compartido para obtener instrucciones.
Los servicios permitidos deben incluir Blob.
En Tipos de recursos permitidos, selecciona Contenedor y Objeto.
Los permisos permitidos deben incluir Read y List. Si la transferencia está configurada para borrar objetos de la fuente, también debes incluir el permiso Borrar.
El tiempo de vencimiento predeterminado para los tokens SAS es de 8 horas. Establece una hora de vencimiento razonable que te permita completar la transferencia de forma correcta.
No especifiques ninguna dirección IP en el campo Direcciones IP permitidas. El Servicio de transferencia de almacenamiento usa varias direcciones IP y no admite la restricción de direcciones IP.
Los protocolos permitidos deben ser solo HTTPS.
Una vez que se haya creado el token, anota el valor del token de SAS que se muestra. Necesitas este valor cuando configuras tu transferencia con el Servicio de transferencia de almacenamiento.
Guarda tu token de SAS en Secret Manager (vista previa)
Secret Manager es un servicio seguro que almacena y administra datos sensibles, como contraseñas. Usa encriptación sólida, control de acceso basado en funciones y registro de auditoría para proteger tus secretos.
El Servicio de transferencia de almacenamiento puede aprovechar Secret Manager para proteger tu token de Azure SAS. Carga tu token en Secret Manager y, luego, pasa el nombre del recurso del Secret al Servicio de transferencia de almacenamiento.
Habilitar la API
Habilita la API de Secret Manager.
Configura permisos adicionales
Permisos de usuario
El usuario que crea el secreto debe tener la siguiente función:
- Administrador de Secret Manager (
roles/secretmanager.admin
)
Aprende a otorgar una función.
Permisos del agente de servicio
El agente de servicio del Servicio de transferencia de almacenamiento requiere la siguiente función de IAM:
- Descriptor de acceso a secretos de Secret Manager (
roles/secretmanager.secretAccessor
)
Para otorgar la función a tu agente de servicio, haz lo siguiente:
consola de Cloud
Sigue las instrucciones para recuperar el correo electrónico de tu agente de servicio.
Ve a la página de IAM en la consola de Google Cloud.
Haz clic en Grant access.
En el cuadro de texto Principales nuevas, ingresa el correo electrónico del agente de servicio.
En el menú desplegable Seleccionar una función, busca y selecciona Administrador de acceso secreto a Secret Manager.
Haz clic en Guardar.
gcloud
Usa el comando gcloud projects add-iam-policy-binding
para agregar la función de IAM a tu agente de servicio.
Sigue las instrucciones para recuperar el correo electrónico de tu agente de servicio.
En la línea de comandos, ingresa el siguiente comando:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member='serviceAccount:SERVICE_AGENT_EMAIL' \ --role='roles/secretmanager.secretAccessor'
Crea un secreto
Crea un secreto con Secret Manager:
consola de Cloud
Ve a la página Secret Manager en Google Cloud Console.
Haz clic en Crear secreto.
Ingresa un nombre.
En el cuadro de texto Valor del Secret, ingresa tus credenciales con el siguiente formato:
{ "sas_token" : "SAS_TOKEN_VALUE" }
Haz clic en Crear secreto.
Una vez que se haya creado el secreto, anota el nombre completo del recurso:
Selecciona la pestaña Descripción general.
Copia el valor de Resource ID. Usa el siguiente formato:
projects/1234567890/secrets/SECRET_NAME
gcloud
Para crear un secreto nuevo con la herramienta de línea de comandos de gcloud, pasa las credenciales con formato JSON al comando gcloud secrets create
:
printf '{
"sas_token" : "SAS_TOKEN_VALUE"
}' | gcloud secrets create SECRET_NAME --data-file=-
Recupera el nombre completo del recurso del secreto:
gcloud secrets describe SECRET_NAME
Anota el valor de name
en la respuesta. Usa el siguiente formato:
projects/1234567890/secrets/SECRET_NAME
Para obtener más detalles sobre cómo crear y administrar Secrets, consulta la documentación de Secret Manager.
Pasa tu secreto al comando de creación de trabajos
Durante este período de vista previa, el uso de Secret Manager con el Servicio de transferencia de almacenamiento requiere el uso de la API de REST para crear un trabajo de transferencia.
Pasa el nombre del recurso de Secret Manager como el valor del campo
transferSpec.azureBlobStorageDataSource.secretResource
:
POST https://storagetransfer.googleapis.com/v1/transferJobs
{
"description": "Transfer with Secret Manager",
"status": "ENABLED",
"projectId": "PROJECT_ID",
"transferSpec": {
"azureBlobStorageDataSource": {
"storageAccount": "AZURE_SOURCE_NAME",
"container": "AZURE_CONTAINER",
"secretResource": "SECRET_RESOURCE_ID",
},
"gcsDataSink": {
"bucketName": "CLOUD_STORAGE_BUCKET_NAME"
}
}
}
Restricciones de IP
Si restringes el acceso a tus recursos de Azure mediante un firewall de Azure Storage, debes agregar los rangos de IP que usan los trabajadores del Servicio de transferencia de almacenamiento a tu lista de IP permitidas.
Debido a que estos rangos de IP pueden cambiar, publicamos los valores actuales como un archivo JSON en una dirección permanente:
https://www.gstatic.com/storage-transfer-service/ipranges.json
Cuando se agregue un rango nuevo al archivo, esperaremos al menos 7 días antes de usarlo para las solicitudes del Servicio de transferencia de almacenamiento.
Te recomendamos que extraigas datos de este documento al menos una vez a la semana para mantener actualizada la configuración de seguridad. Para ver una secuencia de comandos de Python de muestra que recupera rangos de IP de un archivo JSON, consulta este artículo de la documentación de la nube privada virtual.
Para agregar estos rangos como IP permitidas, sigue las instrucciones del artículo de Microsoft Azure, Configura firewalls y redes virtuales de Azure Storage.