Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Automatisez les copies instantanées entre comptes avec Data Lifecycle Manager
L’automatisation des copies d’instantanés entre comptes vous permet de copier vos instantanés Amazon EBS vers des régions spécifiques dans un compte isolé et de chiffrer ces instantanés à l’aide d’une clé de chiffrement. Cela vous permet de vous protéger contre la perte de données en cas de compromission de votre compte.
L’automatisation des copies d’instantanés entre comptes implique deux comptes :
-
Compte source : le compte source est le compte qui crée et partage les instantanés avec le compte cible. Dans ce compte, vous devez créer une politique de capture instantanée EBS qui crée des instantanés à intervalles définis, puis les partage avec d'autres AWS comptes.
-
Compte cible : le compte cible est le compte avec le compte de destination avec lequel les instantanés sont partagés, et qui crée des copies des instantanés partagés. Dans ce compte, vous devez créer une politique d’événement de copie entre comptes qui copie automatiquement les instantanés qui sont partagés avec lui par un ou plusieurs comptes source spécifiés.
Créer des politiques de copie d’instantané entre comptes
Pour préparer les comptes source et cible pour la copie des instantanés entre comptes, vous devez procéder comme suit :
Dans le compte source, créez une politique d’instantanés EBS qui créera les instantanés et partagera ceux-ci avec les comptes cibles requis.
Lorsque vous créez la politique, assurez-vous d'activer le partage entre comptes et de spécifier les AWS comptes cibles avec lesquels partager les instantanés. Il s’agit des comptes avec lesquels les instantanés doivent être partagés. Si vous partagez des instantanés chiffrés, vous devez accorder aux comptes cibles sélectionnés l’autorisation d’utiliser la clé KMS utilisée pour chiffrer le volume source. Pour plus d’informations, consultez Étape 2 : partager la clé clé gérée par le client (compte source).
Seuls les instantanés non chiffrés ou chiffrés à l’aide d’une clé gérée par le client peuvent être partagés. Vous ne pouvez pas partager d’instantanés chiffrés à l’aide de la clé KMS de chiffrement EBS par défaut. Si vous partagez des instantanés chiffrés, vous devez également partager la clé KMS utilisée pour chiffrer le volume source avec les comptes cibles. Pour plus d’informations, consultez Autoriser des utilisateurs d’autres comptes à utiliser une clé KMS dans le Guide du développeur AWS Key Management Service .
Pour plus d’informations sur la création d’une politique d’instantané EBS, consultez Création d'une politique personnalisée Amazon Data Lifecycle Manager pour les instantanés EBS.
Utilisez l’une des méthodes suivantes pour créer la politique d’instantanés EBS.
Si vous partagez des instantanés chiffrés, vous devez accorder au rôle IAM et aux comptes AWS
cibles (que vous avez sélectionnés à l’étape précédente) les autorisations d’utiliser la clé clé gérée par le client utilisée pour chiffrer le volume source.
Ne suivez cette étape que si vous partagez des instantanés chiffrés. Si vous partagez des instantanés non chiffrés, ignorez cette étape.
- Console
-
-
Ouvrez la AWS KMS console à l'adresse https://console.aws.amazon.com/kms.
-
Pour modifier le Région AWS, utilisez le sélecteur de région dans le coin supérieur droit de la page.
-
Dans le panneau de navigation, choisissez Clés gérées par le client, puis sélectionnez la clé CMK à partager avec les comptes cibles.
Prenez note de l’ARN de la clé KMS, car vous aurez besoin de celui-ci plus tard.
-
Sous l’onglet Stratégie de clé, faites défiler la page jusqu’à la section Utilisateurs de clé. Sélectionnez Ajouter, saisissez le nom du rôle IAM sélectionné à l’étape précédente, puis sélectionnez Ajouter.
-
Sous l’onglet Stratégie de clé, faites défiler la page jusqu’à la section Autres comptes AWS . Choisissez Ajouter d'autres AWS comptes, puis ajoutez tous les AWS comptes cibles avec lesquels vous avez choisi de partager les instantanés à l'étape précédente.
-
Sélectionnez Enregistrer les modifications.
- Command line
-
Utilisez la get-key-policycommande pour récupérer la politique de clé actuellement attachée à la clé KMS.
Par exemple, la commande suivante récupère la stratégie d’une clé clé KMS présentant l’ID 9d5e2b3d-e410-4a27-a958-19e220d83a1e
et l’écrit dans un fichier nommé snapshotKey.json
.
$
aws kms get-key-policy \
--policy-name default \
--key-id 9d5e2b3d-e410-4a27-a958-19e220d83a1e
\
--query Policy \
--output text > snapshotKey.json
Ouvrez la politique de clé à l’aide de l’éditeur de texte de votre choix. Ajoutez l'ARN du rôle IAM que vous avez spécifié lors de la création de la politique de capture instantanée et celui ARNs des comptes cibles avec lesquels partager la clé KMS.
Par exemple, dans la stratégie suivante, nous avons ajouté l’ARN du rôle IAM par défaut et l’ARN du compte racine pour le compte cible 222222222222.
Pour suivre le principe du moindre privilège, n’autorisez pas l’accès complet à kms:CreateGrant
. Utilisez plutôt la clé de kms:GrantIsForAWSResource
condition pour autoriser l'utilisateur à créer des autorisations sur la clé KMS uniquement lorsque l'autorisation est créée en son nom par un AWS service, comme indiqué dans l'exemple suivant.
{
"Sid" : "Allow use of the key",
"Effect" : "Allow",
"Principal" : {
"AWS" : [
"arn:aws:iam::111111111111:role/service-role/AWSDataLifecycleManagerDefaultRole
",
"arn:aws:iam::222222222222:root
"
]
},
"Action" : [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource" : "*"
},
{
"Sid" : "Allow attachment of persistent resources",
"Effect" : "Allow",
"Principal" : {
"AWS" : [
"arn:aws:iam::111111111111:role/service-role/AWSDataLifecycleManagerDefaultRole
",
"arn:aws:iam::222222222222:root
"
]
},
"Action" : [
"kms:CreateGrant",
"kms:ListGrants",
"kms:RevokeGrant"
],
"Resource" : "*",
"Condition" : {
"Bool" : {
"kms:GrantIsForAWSResource" : "true"
}
}
}
Enregistrez et fermez le fichier . Utilisez ensuite la put-key-policycommande pour associer la politique de clé mise à jour à la clé KMS.
$
aws kms put-key-policy \
--policy-name default \
--key-id 9d5e2b3d-e410-4a27-a958-19e220d83a1e
\
--policy file://snapshotKey.json
Dans le compte cible, vous devez créer une politique d’événement de copie entre comptes qui copiera automatiquement les instantanés partagés par les comptes source requis.
Cette politique s’exécute uniquement dans le compte cible lorsque l’un des comptes sources spécifiés partage l’instantané avec le compte.
Utilisez l’une des méthodes suivantes pour créer la politique d’événement de copie entre comptes.
- Console
-
Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/.
-
Dans le panneau de navigation, sélectionnez Elastic Block Store, Gestionnaire de cycle de vie, puis Créer une stratégie de cycle de vie d’instantané.
-
Dans l’écran Sélectionner un type de stratégie, choisissez Stratégie d’événement de copie entre comptes, puis Suivant.
-
Pour Description de la stratégie, entrez une brève description de la stratégie.
-
Pour Etiquettes de stratégie, ajoutez les étiquettes à appliquer à la stratégie de cycle de vie. Vous pouvez utiliser ces étiquettes pour identifier et catégoriser vos politiques.
-
Dans la section Paramètres de l’événement, définissez l’événement de partage d’instantané qui entraînera l’exécution de la stratégie. Procédez comme suit :
-
Pour Partage de comptes, spécifiez les AWS comptes sources à partir desquels vous souhaitez copier les instantanés partagés. Choisissez Ajouter un compte, entrez l'identifiant de AWS compte à 12 chiffres, puis sélectionnez Ajouter.
-
Pour Filtrer par description, saisissez la description d’instantané requise en utilisant une expression régulière. Seuls les instantanés partagés par les comptes sources spécifiés et dont les descriptions correspondent au filtre spécifié sont copiés par la politique. Pour plus d’informations, consultez Spécifier les filtres de description d’instantané.
-
Pour le rôle IAM, sélectionnez le rôle IAM autorisé à effectuer des actions de copie d’instantané. Pour utiliser le rôle par défaut fourni par Amazon Data Lifecycle Manager, choisissez Rôle par défaut. Autrement, pour utiliser un rôle IAM personnalisé que vous avez créé précédemment, sélectionnez Choisir un autre rôle, puis sélectionnez le rôle à utiliser.
Si vous copiez des instantanés chiffrés, vous devez accorder au rôle IAM sélectionné les autorisations nécessaires pour utiliser la clé de chiffrement clé KMS utilisée pour chiffrer le volume source. De même, si vous chiffrez l’instantané dans la région de destination à l’aide d’une autre clé KMS, vous devez accorder au rôle IAM l’autorisation d’utiliser la clé KMS de destination. Pour plus d’informations, consultez Étape 4 : autoriser le rôle IAM à utiliser les clés Clés KMS requises (compte cible).
-
Dans la section Copier une action, définissez les actions de copie d’instantané que la stratégie doit exécuter quand elle est activée. La politique peut copier des instantanés vers jusqu’à trois régions. Vous devez spécifier une règle de copie distincte pour chaque région de destination. Pour chaque règle que vous ajoutez, procédez comme suit :
-
Pour Nom, saisissez un nom descriptif pour la copie.
-
Pour Région cible, sélectionnez la région dans laquelle copier les instantanés.
-
Pour Expirer, spécifiez la durée de rétention des copies d’instantané dans la région cible après leur création.
-
Pour chiffrer la copie d’instantané, pour Chiffrement, sélectionnez Activer le chiffrement. Si l’instantané source est chiffré ou si le chiffrement par défaut est activé pour votre compte, alors la copie d’instantané est toujours chiffrée, même si vous n’activez pas le chiffrement ici. Si l’instantané source n’est pas chiffré et que le chiffrement par défaut n’est pas activé pour votre compte, vous pouvez choisir d’activer ou de désactiver le chiffrement. Si vous activez le chiffrement, mais que vous ne spécifiez pas de clé KMS, les instantanés sont chiffrés à l’aide de la clé KMS de chiffrement par défaut dans chaque région de destination. Si vous spécifiez une clé KMS pour la région de destination, vous devez avoir accès à la clé KMS.
-
Pour ajouter des actions de copie d’instantané, choisissez Ajouter de nouvelles régions.
-
Pour Policy status after creation (Statut de la stratégie après création), choisissez Enable policy (Activer la stratégie) pour lancer les exécutions de stratégie lors de la prochaine heure planifiée ou Disable policy (Désactiver la stratégie) pour empêcher l’exécution de la stratégie. Si vous n’activez pas la politique maintenant, elle ne commencera à copier des instantanés que quand vous l’aurez activée manuellement après sa création.
-
Choisissez Create Policy (Créer une politique).
- Command line
-
Utilisez la create-lifecycle-policycommande pour créer une politique. Pour créer une stratégie d’événement de copie entre comptes, pour PolicyType
, spécifiez EVENT_BASED_POLICY
.
Par exemple, la commande suivante crée une stratégie d’événement de copie entre comptes dans le compte cible 222222222222
. La stratégie copie les instantanés qui sont partagés par le compte source 111111111111
. La stratégie copie les instantanés vers sa-east-1
et eu-west-2
. Les instantanés copiés vers sa-east-1
ne sont pas chiffrés et sont retenus pendant 3 jours. Les instantanés copiés vers eu-west-2
sont chiffrés à l’aide de la clé 8af79514-350d-4c52-bac8-8985e84171c7
clé KMS et sont conservés pendant 1 mois. La politique utilise le rôle IAM par défaut.
$
aws dlm create-lifecycle-policy \
--description "Copy policy"
\
--state ENABLED \
--execution-role-arn arn:aws:iam::222222222222:role/service-role/AWSDataLifecycleManagerDefaultRole
\
--policy-details file://policyDetails.json
L’exemple suivant affiche le contenu du fichier policyDetails.json
.
{
"PolicyType" : "EVENT_BASED_POLICY",
"EventSource" : {
"Type" : "MANAGED_CWE",
"Parameters": {
"EventType" : "shareSnapshot",
"SnapshotOwner": ["111111111111
"]
}
},
"Actions" : [{
"Name" :"Copy Snapshot to Sao Paulo and London",
"CrossRegionCopy" : [{
"Target" : "sa-east-1
",
"EncryptionConfiguration" : {
"Encrypted" : false
},
"RetainRule" : {
"Interval" : 3
,
"IntervalUnit" : "DAYS
"
}
},
{
"Target" : "eu-west-2
",
"EncryptionConfiguration" : {
"Encrypted" : true
,
"CmkArn" : "arn:aws:kms:eu-west-2:222222222222:key/8af79514-350d-4c52-bac8-8985e84171c7
"
},
"RetainRule" : {
"Interval" : 1
,
"IntervalUnit" : "MONTHS
"
}
}]
}]
}
Si la demande aboutit, la commande renvoie l’ID de la politique nouvellement créée. Voici un exemple de sortie.
{
"PolicyId": "policy-9876543210abcdef0"
}
Si vous copiez des instantanés chiffrés, vous devez accorder au rôle IAM (que vous avez sélectionné à l’étape précédente) les autorisations d’utiliser la clé gérée par le client utilisée pour chiffrer le volume source.
Suivez cette étape uniquement si vous copiez des instantanés chiffrés. Si vous copiez des instantanés non chiffrés, ignorez cette étape.
Utilisez l’une des méthodes suivantes pour ajouter les politiques requises au rôle IAM.
- Console
-
-
Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.
-
Dans le volet de navigation, sélectionnez Rôles. Recherchez et sélectionnez le rôle IAM que vous avez sélectionné lors de la création de la politique d’événement de copie entre comptes à l’étape précédente. Si vous avez choisi d'utiliser le rôle par défaut, celui-ci est nommé AWSDataLifecycleManagerDefaultRole.
-
Sélectionnez Ajouter une stratégie en ligne, puis l’onglet JSON.
-
Remplacez la politique existante par ce qui suit et spécifiez l’ARN de clé KMS qui a été utilisé pour chiffrer les volumes sources et qui a été partagé avec vous par le compte source à l’étape 2.
Si vous copiez à partir de plusieurs comptes sources, vous devez spécifier l’ARN de clé KMS correspondant à partir de chaque compte source.
Dans l’exemple suivant, la stratégie accorde au rôle IAM l’autorisation d’utiliser la clé 1234abcd-12ab-34cd-56ef-1234567890ab
clé KMS, qui a été partagée par le compte source 111111111111
, et la clé 4567dcba-23ab-34cd-56ef-0987654321yz
clé KMS, qui existe dans le compte cible 222222222222
.
Pour suivre le principe du moindre privilège, n’autorisez pas l’accès complet à kms:CreateGrant
. Utilisez plutôt la clé de kms:GrantIsForAWSResource
condition pour autoriser l'utilisateur à créer des autorisations sur la clé KMS uniquement lorsque l'autorisation est créée en son nom par un AWS service, comme indiqué dans l'exemple suivant.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:RevokeGrant",
"kms:CreateGrant",
"kms:ListGrants"
],
"Resource": [
"arn:aws:kms:us-east-1:111111111111:key/1234abcd-12ab-34cd-56ef-1234567890ab
",
"arn:aws:kms:us-east-1:222222222222:key/4567dcba-23ab-34cd-56ef-0987654321yz
"
],
"Condition": {
"Bool": {
"kms:GrantIsForAWSResource": "true"
}
}
},
{
"Effect": "Allow",
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": [
"arn:aws:kms:us-east-1:111111111111:key/1234abcd-12ab-34cd-56ef-1234567890ab
",
"arn:aws:kms:us-east-1:222222222222:key/4567dcba-23ab-34cd-56ef-0987654321yz
"
]
}
]
}
-
Choisissez Review policy (Examiner la politique)
-
Dans Nom, saisissez un nom descriptif pour la stratégie, puis sélectionnez Créer une stratégie.
- Command line
-
À l’aide de l’éditeur de texte de votre choix, créez un fichier JSON nommé policyDetails.json
. Ajoutez la politique suivante et spécifiez l’ARN de clé KMS qui a été utilisé pour chiffrer les volumes sources et qui a été partagé avec vous par le compte source à l’étape 2.
Si vous copiez à partir de plusieurs comptes sources, vous devez spécifier l’ARN de clé KMS correspondant à partir de chaque compte source.
Dans l’exemple suivant, la stratégie accorde au rôle IAM l’autorisation d’utiliser la clé 1234abcd-12ab-34cd-56ef-1234567890ab
clé KMS, qui a été partagée par le compte source 111111111111
, et la clé 4567dcba-23ab-34cd-56ef-0987654321yz
clé KMS, qui existe dans le compte cible 222222222222
.
Pour suivre le principe du moindre privilège, n’autorisez pas l’accès complet à kms:CreateGrant
. Utilisez plutôt la clé de kms:GrantIsForAWSResource
condition pour autoriser l'utilisateur à créer des autorisations sur la clé KMS uniquement lorsque l'autorisation est créée en son nom par un AWS service, comme indiqué dans l'exemple suivant.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:RevokeGrant",
"kms:CreateGrant",
"kms:ListGrants"
],
"Resource": [
"arn:aws:kms:us-east-1:111111111111:key/1234abcd-12ab-34cd-56ef-1234567890ab
",
"arn:aws:kms:us-east-1:222222222222:key/4567dcba-23ab-34cd-56ef-0987654321yz
"
],
"Condition": {
"Bool": {
"kms:GrantIsForAWSResource": "true"
}
}
},
{
"Effect": "Allow",
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": [
"arn:aws:kms:us-east-1:111111111111:key/1234abcd-12ab-34cd-56ef-1234567890ab
",
"arn:aws:kms:us-east-1:222222222222:key/4567dcba-23ab-34cd-56ef-0987654321yz
"
]
}
]
}
Enregistrez et fermez le fichier . Utilisez ensuite la put-role-policycommande pour ajouter la politique au rôle IAM.
Par exemple
$
aws iam put-role-policy \
--role-name AWSDataLifecycleManagerDefaultRole
\
--policy-name CopyPolicy
\
--policy-document file://AdminPolicy.json
Spécifier les filtres de description d’instantané
Lorsque vous créez la politique de copie de cliché dans le compte cible, vous devez spécifier un filtre de description d’instantané. Le filtre de description d’instantané vous permet de spécifier un niveau de filtrage supplémentaire qui vous permet de contrôler quels instantanés sont copiés par la politique. Cela signifie qu’un instantané n’est copié par la politique que s’il est partagé par l’un des comptes source spécifiés et qu’il possède une description d’instantané qui correspond au filtre spécifié. En d’autres termes, si un instantané est partagé par l’un des comptes de cours spécifiés, mais qu’il n’a pas de description correspondant au filtre spécifié, il n’est pas copié par la politique.
La description du filtre d’instantané doit être spécifiée à l’aide d’une expression régulière. Il s’agit d’un champ obligatoire lors de la création de politiques d’événement de copie entre comptes à l’aide de la console et de la ligne de commande. Voici des exemples d’expressions régulières qui peuvent être utilisées :
-
.*
: ce filtre correspond à toutes les descriptions des instantanés. Si vous utilisez cette expression, la politique copiera tous les instantanés partagés par l’un des comptes source spécifiés.
-
Created for policy: policy-0123456789abcdef0.*
—ce filtre ne correspond qu’aux instantanés créés par une stratégie dont l’ID est de policy-0123456789abcdef0
. Si vous utilisez une expression comme celle-ci, seuls les instantanés partagés avec votre compte par l’un des comptes source spécifiés et qui ont été créés par une politique avec l’ID spécifié sont copiés par la politique.
-
.*production.*
: ce filtre correspond à n’importe quel instantané dont le mot production
est indiqué n’importe où dans sa description. Si vous utilisez cette expression, la politique copiera tous les instantanés partagés par l’un des comptes source spécifiés et dont la description contient le texte spécifié.
Remarques relatives aux stratégies de copie d’instantané entre comptes
Les considérations suivantes s’appliquent aux politiques d’événement de copie entre comptes :
-
Seuls les instantanés non chiffrés ou chiffrés à l’aide d’une clé gérée par le client peuvent être copiés.
-
Vous pouvez créer une politique d’événement de copie entre comptes pour copier les instantanés partagés en dehors de Amazon Data Lifecycle Manager.
-
Si vous souhaitez chiffrer les instantanés dans le compte cible, le rôle IAM sélectionné pour la politique d’événement de copie entre comptes doit être autorisé à utiliser la clé KMS requise.
Ressources supplémentaires
Pour plus d'informations, consultez le blog Automatiser la copie des instantanés Amazon EBS chiffrés sur le stockage AWS des comptes AWS .