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 instantanées entre comptes vous permet de copier vos EBS instantanés Amazon dans des régions spécifiques au sein d'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 EBS capture instantanée qui crée des instantanés à des 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 de EBS capture instantanée qui créera les instantanés et les partagera 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 autoriser les comptes cibles sélectionnés à utiliser la KMS clé utilisée pour chiffrer le volume source. Pour de plus amples informations, veuillez consulter É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 des instantanés chiffrés avec la KMS clé de EBS chiffrement par défaut. Si vous partagez des instantanés chiffrés, vous devez également partager la KMS clé utilisée pour chiffrer le volume source avec les comptes cibles. Pour plus d'informations, voir Autoriser les utilisateurs d'autres comptes à utiliser une KMS clé dans le Guide du AWS Key Management Service développeur.
Pour plus d'informations sur la création d'une politique de EBS capture instantanée, consultezCréez une politique personnalisée Amazon Data Lifecycle Manager pour les EBS instantanés.
Utilisez l'une des méthodes suivantes pour créer la politique de EBS capture instantanée.
Si vous partagez des instantanés chiffrés, vous devez autoriser le IAM rôle et les AWS
comptes cibles (que vous avez sélectionnés à l'étape précédente) à utiliser la clé gérée par le client qui a été 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 volet de navigation, choisissez Clé gérée par le client, puis sélectionnez la KMS clé que vous devez partager avec les comptes cibles.
Prenez note de la KMS cléARN, vous en aurez besoin plus tard.
-
Sous l’onglet Stratégie de clé, faites défiler la page jusqu’à la section Utilisateurs de clé. Choisissez Ajouter, entrez le nom du IAM rôle que vous avez sélectionné à l'étape précédente, puis choisissez 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 KMS clé.
Par exemple, la commande suivante récupère la politique de clé pour une KMS clé dont l'ID est égal à 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 le IAM rôle que vous avez spécifié lors ARN de la création de la politique de capture instantanée et le rôle ARNs des comptes cibles avec lesquels vous souhaitez partager la KMS clé.
Par exemple, dans la politique suivante, nous avons ajouté le ARN IAM rôle par défaut et le ARN compte root 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 permettre à l'utilisateur de créer des autorisations sur la KMS clé 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 clé mise à jour à la KMS clé.
$
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 de plus amples informations, veuillez consulter Spécifier les filtres de description d’instantané.
-
Pour IAMle rôle, choisissez le IAM rôle autorisé à effectuer des actions de copie instantanée. Pour utiliser le rôle par défaut fourni par Amazon Data Lifecycle Manager, choisissez Rôle par défaut. Sinon, pour utiliser un IAM rôle personnalisé que vous avez créé précédemment, choisissez Choisir un autre rôle, puis sélectionnez le rôle à utiliser.
Si vous copiez des instantanés chiffrés, vous devez autoriser le IAM rôle sélectionné à utiliser la KMS clé de chiffrement 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 KMS clé différente, vous devez autoriser le IAM rôle à utiliser la KMS clé de destination. Pour de plus amples informations, veuillez consulter Étape 4 : Autoriser IAM le rôle à utiliser les KMS clés 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 KMS clé, les instantanés sont chiffrés à l'aide de la KMS clé de chiffrement par défaut dans chaque région de destination. Si vous spécifiez une KMS clé pour la région de destination, vous devez avoir accès à la KMS clé.
-
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 eu-west-2
sont chiffrés à l'aide d'une KMS clé 8af79514-350d-4c52-bac8-8985e84171c7
et sont conservés pendant un mois. La politique utilise le IAM rôle 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 IAM rôle (que vous avez sélectionné à l'étape précédente) l'autorisation d'utiliser la clé gérée par le client qui a été 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 IAM rôle.
- Console
-
-
Ouvrez la IAM console à l'adresse https://console.aws.amazon.com/iam/.
-
Dans le volet de navigation, sélectionnez Rôles. Recherchez et sélectionnez le IAM rôle que vous avez sélectionné lors de la création de la politique relative aux événements 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.
-
Choisissez Ajouter une politique intégrée, puis sélectionnez l'JSONonglet.
-
Remplacez la politique existante par la suivante, et spécifiez ARN la KMS clé qui a été utilisée pour chiffrer les volumes source et qui a été partagée avec vous par le compte source à l'étape 2.
Si vous copiez à partir de plusieurs comptes sources, vous devez spécifier la KMS clé ARN correspondante pour chaque compte source.
Dans l'exemple suivant, la politique accorde au IAM rôle l'autorisation d'utiliser la KMS clé1234abcd-12ab-34cd-56ef-1234567890ab
, qui était partagée par le compte source111111111111
, et la KMS clé4567dcba-23ab-34cd-56ef-0987654321yz
, qui existe dans le compte cible222222222222
.
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 permettre à l'utilisateur de créer des autorisations sur la KMS clé 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 votre éditeur de texte préféré, créez un nouveau JSON fichier nommépolicyDetails.json
. Ajoutez la politique suivante et spécifiez ARN la KMS clé qui a été utilisée pour chiffrer les volumes source et qui a été partagée avec vous par le compte source à l'étape 2.
Si vous copiez à partir de plusieurs comptes sources, vous devez spécifier la KMS clé ARN correspondante pour chaque compte source.
Dans l'exemple suivant, la politique accorde au IAM rôle l'autorisation d'utiliser la KMS clé1234abcd-12ab-34cd-56ef-1234567890ab
, qui était partagée par le compte source111111111111
, et la KMS clé4567dcba-23ab-34cd-56ef-0987654321yz
, qui existe dans le compte cible222222222222
.
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 permettre à l'utilisateur de créer des autorisations sur la KMS clé 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 IAM rôle.
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 des instantanés dans le compte cible, le IAM rôle sélectionné pour la politique relative aux événements de copie entre comptes doit être autorisé à utiliser la clé requise. KMS
Ressources supplémentaires
Pour plus d'informations, consultez le blog Automatiser la copie des EBS instantanés Amazon chiffrés sur le AWS stockage AWS des comptes.