Avant de transférer des données depuis un bucket Azure Storage, vous devez configurer l'accès à ce bucket pour que le service de transfert de stockage puisse récupérer ses objets.
Le service de transfert de stockage est compatible avec les méthodes d'authentification Azure suivantes :
Jeton de signature d'accès partagé (SAP). Les jetons SAP peuvent être spécifiés directement lors de la création d'un job de transfert ou stockés dans Secret Manager.
Les clés partagées Azure peuvent être stockées dans Secret Manager et le secret transmis lors de la création d'un job de transfert.
Les identifiants fédérés sont transmis dans un objet
federatedIdentityConfiglors de la création de la tâche de transfert.
Ce document explique également comment ajouter des adresses IP de nœuds de calcul service de transfert de stockage à votre pare-feu Azure Storage pour autoriser l'accès. Pour en savoir plus, consultez les restrictions d'adresses IP.
Régions où le service est disponible
Le service de transfert de stockage peut transférer des données depuis les régions Microsoft Azure Storage suivantes :- Amériques : USA Est, USA Est 2, USA Ouest, USA Ouest 2, USA Ouest 3, USA Centre, USA Centre Nord, USA Centre Sud, USA Centre Ouest, 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 Centre, Allemagne Centre Ouest, Norvège Est, Suède Centre, Suisse Nord, Europe Nord, Europe Ouest, Royaume-Uni Sud, Royaume-Uni Ouest, Qatar Centre, Émirats arabes unis Nord, Afrique du Sud Nord
Option 1 : S'authentifier à l'aide d'un jeton SAP
Pour configurer l'accès à un conteneur de stockage Microsoft Azure à l'aide d'un jeton SAP, procédez comme suit. Vous pouvez également enregistrer votre jeton SAP dans Secret Manager. Pour ce faire, suivez les instructions de la section S'authentifier à l'aide d'une clé partagée Azure ou d'un jeton SAP dans Secret Manager.
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. Pour savoir comment procéder, consultez la section Accorder un accès limité aux ressources Azure Storage à l'aide de signatures d'accès partagé.
Les services autorisés doivent inclure Blob.
Pour Allowed resource types (Types de ressources autorisés), sélectionnez Container (Conteneur) et Object (Objet).
Les autorisations accordées doivent inclure Lecture et Liste. Si le transfert est configuré pour supprimer des 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 durée d'expiration raisonnable vous permettant 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 la restriction d'adresses IP.
Le champ Allowed protocols (Protocoles autorisés) doit être défini sur HTTPS only (HTTPS seulement).
Une fois le jeton créé, notez la valeur du jeton SAP qui est renvoyée. Vous aurez besoin de cette valeur lorsque vous configurerez votre transfert avec le service de transfert de stockage.
Option 2 : S'authentifier à l'aide d'une clé partagée Azure ou d'un jeton SAP dans Secret Manager
Secret Manager est un service sécurisé qui stocke et gère les données sensibles telles que les mots de passe. Il utilise un chiffrement robuste, un contrôle des accès basé sur les rôles et la journalisation d'audit pour protéger vos secrets.
Le service de transfert de stockage est compatible avec les noms de ressources Secret Manager qui font référence à vos identifiants Azure stockés de manière sécurisée.
Pour utiliser une clé partagée Azure, vous devez l'enregistrer dans Secret Manager. Les jetons SAP peuvent être enregistrés dans Secret Manager ou transmis directement.
Lorsque vous spécifiez une clé partagée, le service de transfert de stockage l'utilise pour générer une SAS de service dont la portée est limitée au conteneur Azure spécifié dans le job de transfert.
Activer l'API
Activer l'API Secret Manager
Rôles requis pour activer les API
Pour activer les API, vous devez disposer de l'autorisation serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation grâce au rôle Propriétaire (roles/owner). Sinon, vous pouvez obtenir cette autorisation grâce au rôle Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.
Configurer des autorisations supplémentaires
Autorisations des utilisateurs
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 du 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 :
Cloud Console
Suivez les instructions pour récupérer l'adresse e-mail de votre agent de service.
Accédez à la page IAM dans 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 le menu déroulant Sélectionner un rôle, recherchez et sélectionnez Accesseur de secrets Secret Manager.
Cliquez sur Enregistrer.
gcloud
Utilisez la commande gcloud projects add-iam-policy-binding pour ajouter le rôle 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'un des 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 Nom 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 les 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 la documentation Secret Manager.