Vous pouvez configurer l'accès aux données sources dans Microsoft Azure Storage à l'aide de l'accès partagé de signature d'application.
Régions où le service est disponible
Le service de transfert de stockage peut transférer des données depuis les régions de stockage Microsoft Azure suivantes: <ph type="x-smartling-placeholder">- </ph>
- Amériques:États-Unis est 2, États-Unis est 2, Ouest des États-Unis, Ouest des États-Unis 2, Ouest des États-Unis 3, Centre des États-Unis, Centre-Nord des États-Unis, Centre-Sud des États-Unis, Centre-Ouest des États-Unis, Canada Centre, Canada Est, Brésil Sud
- Asie-Pacifique : Australia Central (Australie centre), Australia East (Australie est), Australia Southeast (Australie sud-est), Inde Centre, Inde Sud, Inde Ouest, Asie Sud-Est, Asie Est, Japon Est, Japon Ouest, Corée Sud, Corée Centre
- Europe, Moyen-Orient, Afrique (EMEA) : France Centrale, Allemagne Centre-Ouest, Norvège Est, Suède Centre, Suisse Nord, Europe du Nord, Europe de l'Ouest, Royaume-Uni Sud, Royaume-Uni Ouest, Qatar Centre, Émirats arabes unis Nord, Afrique du Sud (Nord)
Configurer l'accès
Pour configurer l'accès à un conteneur de stockage Microsoft Azure, procédez comme suit :
Créez un utilisateur Microsoft Azure Storage ou utilisez-en un existant pour accéder au compte de stockage de votre conteneur d'objets blob Microsoft Azure Storage.
Créez un jeton SAP au niveau du conteneur. Voir Accordez un accès limité aux ressources Azure Storage à l'aide de signatures d'accès partagé pour obtenir des instructions.
Les services autorisés doivent inclure Blob.
Pour Types de ressources autorisés, sélectionnez Conteneur et Objet.
Les autorisations autorisées doivent inclure Read (Lecture) et List (Liste). Si le transfert est configuré de manière à supprimer les objets de la source, vous devez également inclure l'autorisation Supprimer.
Le délai d'expiration par défaut pour les jetons SAP est de 8 heures. Définissez une qui vous permet de finaliser votre transfert.
Ne spécifiez aucune adresse IP dans le champ Allowed IP addresses (Adresses IP autorisées). Le service de transfert de stockage utilise différentes adresses IP et n'est pas compatible avec le protocole restriction d'adresse.
La valeur Protocoles autorisés doit correspondre à HTTPS uniquement.
Une fois le jeton créé, notez la valeur renvoyée pour le jeton SAS. Vous avez besoin de cette valeur lorsque vous configurez votre transfert avec le service de transfert de stockage.
Enregistrer vos identifiants Microsoft dans Secret Manager
Secret Manager est un service sécurisé qui stocke et gère les données sensibles comme les mots de passe. Il utilise un chiffrement fort, des accès et les journaux d'audit pour protéger vos secrets.
Le service de transfert de stockage peut utiliser Secret Manager pour protéger votre environnement Azure identifiants de connexion. Le service de transfert de stockage est compatible avec signature d'accès partagé de jetons (SAS) et Clés partagées Azure dans Secret Manager.
Lorsque vous spécifiez une clé partagée, le service de transfert de stockage utilise cette clé pour générer service SAS dont le champ d'application est limité au conteneur Azure spécifié dans le transfert d'un projet.
Activer l'API
Activez l'API Secret Manager
Configurer des autorisations supplémentaires
Autorisations d'utilisateur
L'utilisateur qui crée le secret doit disposer du rôle suivant:
- Administrateur Secret Manager (
roles/secretmanager.admin
)
Découvrez comment attribuer un rôle.
Autorisations de l'agent de service
L'agent de service de transfert de stockage nécessite le rôle IAM suivant:
- Accesseur de secrets Secret Manager (
roles/secretmanager.secretAccessor
)
Pour attribuer le rôle à votre agent de service, procédez comme suit:
Cloud Console
Suivez les instructions pour récupérer l'adresse e-mail de votre agent de service.
Accédez à la page IAM de la console Google Cloud.
Cliquez sur Accorder l'accès.
Dans la zone de texte Nouveaux comptes principaux, saisissez l'adresse e-mail de l'agent de service.
Dans la liste déroulante Sélectionner un rôle, recherchez et sélectionnez Secret Manager Accesseur de secrets.
Cliquez sur Enregistrer.
gcloud
Utilisez la commande gcloud projects add-iam-policy-binding
pour ajouter l'IAM
à votre agent de service.
Suivez les instructions pour récupérer l'adresse e-mail de votre agent de service.
Dans la ligne de commande, saisissez la commande suivante:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member='serviceAccount:SERVICE_AGENT_EMAIL' \ --role='roles/secretmanager.secretAccessor'
Créer un secret
Créez un secret avec Secret Manager:
Cloud Console
Accédez à la page Secret Manager dans la console Google Cloud.
Cliquez sur Créer un secret.
Saisissez un nom.
Dans la zone de texte Valeur du secret, saisissez vos identifiants dans l'une des dans les formats suivants.
{ "sas_token" : "SAS_TOKEN_VALUE" }
ou
{ "access_key" : "ACCESS_KEY" }
Cliquez sur Créer un secret.
Une fois le secret créé, notez le nom complet de la ressource du secret:
Sélectionnez l'onglet Overview (Présentation).
Copiez la valeur de l'ID de ressource. Il utilise le format suivant:
projects/1234567890/secrets/SECRET_NAME
gcloud
Pour créer un secret à l'aide de l'outil de ligne de commande gcloud, transmettez la méthode
Identifiants au format JSON à la commande gcloud secrets create
:
printf '{
"sas_token" : "SAS_TOKEN_VALUE"
}' | gcloud secrets create SECRET_NAME --data-file=-
ou
printf '{
"access_key" : "ACCESS_KEY"
}' | gcloud secrets create SECRET_NAME --data-file=-
Récupérez le nom complet de la ressource du secret:
gcloud secrets describe SECRET_NAME
Notez la valeur de name
dans la réponse. Il utilise le format suivant:
projects/1234567890/secrets/SECRET_NAME
Pour en savoir plus sur la création et la gestion des secrets, consultez Documentation Secret Manager
Transmettre votre secret à la commande de création de job
Utiliser Secret Manager avec Le service de transfert de stockage nécessite l'utilisation de l'API REST pour créer un job de transfert.
Transmettez le nom de ressource Secret Manager en tant que valeur du paramètre
Champ transferSpec.azureBlobStorageDataSource.credentialsSecret
:
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",
"credentialsSecret": "SECRET_RESOURCE_ID",
},
"gcsDataSink": {
"bucketName": "CLOUD_STORAGE_BUCKET_NAME"
}
}
}
Restrictions relatives aux adresses IP
Si vous limitez l'accès à vos ressources Azure à l'aide d'un pare-feu Azure Storage, vous devez ajouter les plages d'adresses IP utilisées par les nœuds de calcul du service de transfert de stockage à votre liste les adresses IP autorisées.
Comme ces plages d'adresses IP peuvent changer, nous publions les valeurs actuelles au format JSON à une adresse permanente:
https://www.gstatic.com/storage-transfer-service/ipranges.json
Lorsqu'une nouvelle plage est ajoutée au fichier, nous attendons au moins sept jours avant l'utilisation de cette plage pour les requêtes du service de transfert de stockage.
Nous vous recommandons d'extraire les données de ce document au moins une fois par semaine votre configuration de sécurité à jour. Pour un exemple de script Python qui extrait des plages d'adresses IP d'un fichier JSON, consultez cet article sur le cloud privé virtuel, documentation.
Pour ajouter ces plages en tant qu'adresses IP autorisées, suivez les instructions du document Microsoft Article Azure, Configurer les pare-feu et les réseaux virtuels Azure Storage