Exemples d’utilisation de l’AWS CLI avec Shield - AWS Command Line Interface

Exemples d’utilisation de l’AWS CLI avec Shield

Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec Shield.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.

Rubriques

Actions

L’exemple de code suivant montre comment utiliser associate-drt-log-bucket.

AWS CLI

Pour autoriser l’équipe de réponse DDoS à accéder à un compartiment Amazon S3

L’exemple associate-drt-log-bucket suivant crée une association entre l’équipe de réponse DDoS et le compartiment S3 spécifié. L’équipe de réponse DDoS peut ainsi accéder au compartiment au nom du compte.

aws shield associate-drt-log-bucket \ --log-bucket flow-logs-for-website-lb

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Autoriser l’équipe de réponse DDoS dans le Manuel du développeur AWSShield Advanced.

  • Pour plus de détails sur l’API, consultez AssociateDrtLogBucket dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser associate-drt-role.

AWS CLI

Pour autoriser l’équipe de réponse DDoS à atténuer les attaques potentielles en votre nom

L’exemple associate-drt-role suivant crée une association entre l’équipe de réponse DDoS et le rôle spécifié. L’équipe de réponse DDoS peut utiliser le rôle pour accéder au compte et le gérer.

aws shield associate-drt-role \ --role-arn arn:aws:iam::123456789012:role/service-role/DrtRole

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Autoriser l’équipe de réponse DDoS dans le Manuel du développeur AWSShield Advanced.

  • Pour plus de détails sur l’API, consultez AssociateDrtRole dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-protection.

AWS CLI

Pour activer la protection AWS Shield Advanced d’une seule ressource AWS

L’exemple create-protection suivant active la protection Shield Advanced de la distribution AWS CloudFront spécifiée.

aws shield create-protection \ --name "Protection for CloudFront distribution" \ --resource-arn arn:aws:cloudfront::123456789012:distribution/E198WC25FXOWY8

Sortie :

{ "ProtectionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

Pour plus d’informations, consultez Spécifier les ressources à protéger dans le Manuel du développeur AWS Shield Advanced.

  • Pour plus de détails sur l’API, consultez CreateProtection dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser create-subscription.

AWS CLI

Pour activer la protection AWS Shield Advanced d’un compte

L’exemple create-subscription suivant active la protection Shield Advanced du compte.

aws shield create-subscription

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Getting Started with AWS Shield Advanced dans le Manuel du développeur AWS Shield Advanced.

  • Pour plus de détails sur l’API, consultez CreateSubscription dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-protection.

AWS CLI

Pour supprimer la protection AWS Shield Advanced d’une ressource AWS

L’exemple delete-protection suivant supprime la protection AWS Shield Advanced spécifiée.

aws shield delete-protection \ --protection-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Removing AWS Shield Advanced from an AWS Resource dans le Manuel du développeur AWS Shield Advanced.

  • Pour plus de détails sur l’API, consultez DeleteProtection dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser describe-attack.

AWS CLI

Pour récupérer la description détaillée d’une attaque

L’exemple describe-attack suivant affiche les détails de l’attaque DDoS possédant l’ID d’attaque spécifié. Vous pouvez obtenir l’ID d’attaque en exécutant la commande list-attacks.

aws shield describe-attack --attack-id a1b2c3d4-5678-90ab-cdef-EXAMPLE22222

Sortie :

{ "Attack": { "AttackId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "ResourceArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/testElb", "SubResources": [ { "Type": "IP", "Id": "192.0.2.2", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 11786208.0, "N": 12, "Unit": "BPS" } ] } ], "Counters": [] }, { "Type": "IP", "Id": "192.0.2.3", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 9821840.0, "N": 10, "Unit": "BPS" } ] } ], "Counters": [] }, { "Type": "IP", "Id": "192.0.2.4", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 7857472.0, "N": 8, "Unit": "BPS" } ] } ], "Counters": [] }, { "Type": "IP", "Id": "192.0.2.5", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 1964368.0, "N": 2, "Unit": "BPS" } ] } ], "Counters": [] }, { "Type": "IP", "Id": "2001:DB8::bcde:4321:8765:0:0", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 1964368.0, "N": 2, "Unit": "BPS" } ] } ], "Counters": [] }, { "Type": "IP", "Id": "192.0.2.6", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 1964368.0, "N": 2, "Unit": "BPS" } ] } ], "Counters": [] } ], "StartTime": 1576024927.457, "EndTime": 1576025647.457, "AttackCounters": [], "AttackProperties": [ { "AttackLayer": "NETWORK", "AttackPropertyIdentifier": "SOURCE_IP_ADDRESS", "TopContributors": [ { "Name": "198.51.100.5", "Value": 2024475682 }, { "Name": "198.51.100.8", "Value": 1311380863 }, { "Name": "203.0.113.4", "Value": 900599855 }, { "Name": "198.51.100.4", "Value": 769417366 }, { "Name": "203.1.113.13", "Value": 757992847 } ], "Unit": "BYTES", "Total": 92773354841 }, { "AttackLayer": "NETWORK", "AttackPropertyIdentifier": "SOURCE_COUNTRY", "TopContributors": [ { "Name": "United States", "Value": 80938161764 }, { "Name": "Brazil", "Value": 9929864330 }, { "Name": "Netherlands", "Value": 1635009446 }, { "Name": "Mexico", "Value": 144832971 }, { "Name": "Japan", "Value": 45369000 } ], "Unit": "BYTES", "Total": 92773354841 }, { "AttackLayer": "NETWORK", "AttackPropertyIdentifier": "SOURCE_ASN", "TopContributors": [ { "Name": "12345", "Value": 74953625841 }, { "Name": "12346", "Value": 4440087595 }, { "Name": "12347", "Value": 1635009446 }, { "Name": "12348", "Value": 1221230000 }, { "Name": "12349", "Value": 1199425294 } ], "Unit": "BYTES", "Total": 92755479921 } ], "Mitigations": [] } }

Pour plus d’informations, consultez Examen des incidents DDoS dans le Manuel du développeur AWS Shield Advanced.

  • Pour plus de détails sur l’API, consultez DescribeAttack dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser describe-drt-access.

AWS CLI

Pour récupérer une description des autorisations, l’équipe de réponse DDoS doit atténuer les attaques en votre nom

L’exemple describe-drt-access suivant récupère le rôle et les autorisations de compartiment S3 dont dispose l’équipe de réponse DDoS pour répondre à des attaques potentielles en votre nom.

aws shield describe-drt-access

Sortie :

{ "RoleArn": "arn:aws:iam::123456789012:role/service-role/DrtRole", "LogBucketList": [ "flow-logs-for-website-lb" ] }

Pour plus d’informations, consultez Autoriser l’équipe de réponse DDoS dans le Manuel du développeur AWSShield Advanced.

  • Pour plus de détails sur l’API, consultez DescribeDrtAccess dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser describe-emergency-contact-settings.

AWS CLI

Pour récupérer les adresses e-mail d’urgence que vous avez enregistrées dans les dossiers de l’équipe de réponse DDoS

L’exemple describe-emergency-contact-settings suivant récupère les adresses e-mail du compte enregistrées dans les dossiers de l’équipe de réponse DDoS. Ce sont les adresses que l’équipe de réponse DDoS doit contacter lorsqu’elle répond à une attaque présumée.

aws shield describe-emergency-contact-settings

Sortie :

{ "EmergencyContactList": [ { "EmailAddress": "ops@example.com" }, { "EmailAddress": "ddos-notifications@example.com" } ] }

Pour plus d’informations, consultez How AWS Shield Works <https://docs.aws.amazon.com/waf/latest/developerguide/ddos-overview.html> dans le Manuel du développeur AWS Shield Advanced.

L’exemple de code suivant montre comment utiliser describe-protection.

AWS CLI

Pour récupérer les informations d’une protection AWS Shield Advanced

L’exemple describe-protection suivant affiche les détails de la protection Shield Advanced possédant l’ID spécifié. Vous pouvez obtenir l’ID de protection en exécutant la commande list-protections.

aws shield describe-protection \ --protection-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Sortie :

{ "Protection": { "Id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Name": "1.2.3.4", "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:eip-allocation/eipalloc-0ac1537af40742a6d" } }

Pour plus d’informations, consultez Spécifier les ressources à protéger dans le Manuel du développeur AWS Shield Advanced.

  • Pour plus de détails sur l’API, consultez DescribeProtection dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser describe-subscription.

AWS CLI

Pour récupérer les détails de la protection AWS Shield Advanced du compte

L’exemple describe-subscription suivant affiche les détails de la protection Shield Advanced du compte :

aws shield describe-subscription

Sortie :

{ "Subscription": { "StartTime": 1534368978.0, "EndTime": 1597613778.0, "TimeCommitmentInSeconds": 63244800, "AutoRenew": "ENABLED", "Limits": [ { "Type": "GLOBAL_ACCELERATOR", "Max": 1000 }, { "Type": "ROUTE53_HOSTED_ZONE", "Max": 1000 }, { "Type": "CF_DISTRIBUTION", "Max": 1000 }, { "Type": "ELB_LOAD_BALANCER", "Max": 1000 }, { "Type": "EC2_ELASTIC_IP_ALLOCATION", "Max": 1000 } ] } }

Pour plus d’informations, consultez How AWS Shield Works dans le Manuel du développeur AWS Shield Advanced.

  • Pour plus de détails sur l’API, consultez DescribeSubscription dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser disassociate-drt-log-bucket.

AWS CLI

Pour supprimer l’autorisation permettant à l’équipe de réponse DDoS d’accéder à un compartiment Amazon S3 en votre nom

L’exemple disassociate-drt-log-bucket suivant supprime l’association entre l’équipe de réponse DDoS et le compartiment S3 spécifié. Une fois cette commande exécutée, l’équipe de réponse DDoS ne peut plus accéder au compartiment au nom du compte.

aws shield disassociate-drt-log-bucket \ --log-bucket flow-logs-for-website-lb

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Autoriser l’équipe de réponse DDoS dans le Manuel du développeur AWSShield Advanced.

  • Pour plus de détails sur l’API, consultez DisassociateDrtLogBucket dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser disassociate-drt-role.

AWS CLI

Pour retirer à l’équipe de réponse DDoS l’autorisation d’atténuer les attaques potentielles en votre nom

L’exemple disassociate-drt-role suivant supprime l’association entre l’équipe de réponse DDoS et le compte. Après cet appel, l’équipe de réponse DDoS ne peut plus accéder à votre compte ni le gérer.

aws shield disassociate-drt-role

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez Autoriser l’équipe de réponse DDoS dans le Manuel du développeur AWSShield Advanced.

  • Pour plus de détails sur l’API, consultez DisassociateDrtRole dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-subscription-state.

AWS CLI

Pour récupérer l’état actuel de l’abonnement AWS Shield Advanced du compte

L’exemple get-subscription-state suivant récupère l’état de la protection Shield Advanced du compte.

aws shield get-subscription-state

Sortie :

{ "SubscriptionState": "ACTIVE" }

Pour plus d’informations, consultez How AWS Shield Works dans le Manuel du développeur AWS Shield Advanced.

  • Pour plus de détails sur l’API, consultez GetSubscriptionState dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-attacks.

AWS CLI

Pour récupérer les résumés des attaques d’AWS Shield Advanced

L’exemple list-attacks suivant récupère les résumés des attaques de la distribution AWS CloudFront spécifiée survenues pendant la période spécifiée. La réponse inclut des ID d’attaque que vous pouvez fournir à la commande describe-attack pour obtenir des informations détaillées sur une attaque.

aws shield list-attacks \ --resource-arns arn:aws:cloudfront::12345678910:distribution/E1PXMP22ZVFAOR \ --start-time FromInclusive=1529280000,ToExclusive=1529300000

Sortie :

{ "AttackSummaries": [ { "AttackId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "ResourceArn": "arn:aws:cloudfront::123456789012:distribution/E1PXMP22ZVFAOR", "StartTime": 1529280000.0, "EndTime": 1529449200.0, "AttackVectors": [ { "VectorType": "SYN_FLOOD" } ] } ] }

Pour plus d’informations, consultez Examen des incidents DDoS dans le Manuel du développeur AWS Shield Advanced.

  • Pour plus de détails sur l’API, consultez ListAttacks dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-protections.

AWS CLI

Pour récupérer les résumés des protections d’AWS Shield Advanced

L’exemple list-protections suivant récupère les résumés des protections actives du compte.

aws shield list-protections

Sortie :

{ "Protections": [ { "Id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Name": "Protection for CloudFront distribution", "ResourceArn": "arn:aws:cloudfront::123456789012:distribution/E198WC25FXOWY8" } ] }

Pour plus d’informations, consultez Spécifier les ressources à protéger dans le Manuel du développeur AWS Shield Advanced.

  • Pour plus de détails sur l’API, consultez ListProtections dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-emergency-contact-settings.

AWS CLI

Pour définir les adresses e-mail d’urgence enregistrées dans les dossiers de l’équipe de réponse DDoS

L’exemple update-emergency-contact-settings suivant définit deux adresses e-mail que l’équipe de réponse DDoS doit contacter lorsqu’elle répond à une attaque présumée.

aws shield update-emergency-contact-settings \ --emergency-contact-list EmailAddress=ops@example.com EmailAddress=ddos-notifications@example.com

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez How AWS Shield Works dans le Manuel du développeur AWS Shield Advanced.

L’exemple de code suivant montre comment utiliser update-subscription.

AWS CLI

Pour modifier l’abonnement AWS Shield Advanced du compte

L’exemple update-subscription suivant active le renouvellement automatique de l’abonnement AWS Shield Advanced du compte.

aws shield update-subscription \ --auto-renew ENABLED

Cette commande ne produit aucune sortie.

Pour plus d’informations, consultez How AWS Shield Works dans le Manuel du développeur AWS Shield Advanced.

  • Pour plus de détails sur l’API, consultez UpdateSubscription dans la Référence des commandes de l’AWS CLI.