Exemples de Shield utilisant AWS CLI - Exemples de code de l'AWS SDK

D'autres AWS SDK exemples sont disponibles dans le GitHub dépôt AWS Doc SDK Examples.

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.

Exemples de Shield utilisant AWS CLI

Les exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l'aide de AWS Command Line Interface with 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 montrent comment appeler des fonctions de service individuelles, vous pouvez les visualiser dans leur contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la façon de configurer et d'exécuter le code en contexte.

Rubriques

Actions

L'exemple de code suivant montre comment utiliserassociate-drt-log-bucket.

AWS CLI

Pour autoriser l'accès DRT à un compartiment Amazon S3

L'associate-drt-log-bucketexemple suivant crée une association entre le compartiment S3 DRT et le compartiment S3 spécifié. Cela permet DRT d'accéder au bucket au nom du compte. :

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

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez Authorize the DDoS Response Team dans le AWS Shield Advanced Developer Guide.

L'exemple de code suivant montre comment utiliserassociate-drt-role.

AWS CLI

Pour autoriser le DRT à atténuer les attaques potentielles en votre nom

L'associate-drt-roleexemple suivant crée une association entre le DRT et le rôle spécifié. Ils DRT peuvent 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 aucun résultat.

Pour plus d'informations, consultez Authorize the DDoS Response Team dans le AWS Shield Advanced Developer Guide.

  • Pour API plus de détails, voir AssociateDrtRolela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-protection.

AWS CLI

Pour activer la protection AWS Shield Advanced pour une seule AWS ressource

L'create-protectionexemple suivant active la protection Shield Advanced pour la AWS CloudFront distribution 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, voir Spécifiez vos ressources à protéger dans le AWS Shield Advanced Developer Guide.

  • Pour API plus de détails, voir CreateProtectionla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-subscription.

AWS CLI

Pour activer la protection AWS Shield Advanced pour un compte

L'create-subscriptionexemple suivant active la protection Shield Advanced pour le compte.

aws shield create-subscription

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez Getting Started with AWS Shield Advanced dans le guide du développeur de AWS Shield Advanced.

  • Pour API plus de détails, voir CreateSubscriptionla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-protection.

AWS CLI

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

L'delete-protectionexemple 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 aucun résultat.

Pour plus d'informations, consultez la section Supprimer AWS Shield Advanced d'une AWS ressource dans le Guide du développeur de AWS Shield Advanced.

  • Pour API plus de détails, voir DeleteProtectionla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdescribe-attack.

AWS CLI

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

L'describe-attackexemple suivant affiche les détails de l'DDoSattaque avec l'ID d'attaque spécifié. Vous pouvez obtenir une attaque IDs en exécutant la list-attacks commande.

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 la section Révision DDoS des incidents dans le AWS Shield Advanced Developer Guide.

  • Pour API plus de détails, voir DescribeAttackla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdescribe-drt-access.

AWS CLI

Pour obtenir une description des autorisations, vous devez atténuer les attaques en votre nom. DRT

L'describe-drt-accessexemple suivant récupère le rôle et les autorisations de compartiment S3 dont il DRT dispose, ce qui lui permet de 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 Authorize the DDoS Response Team dans le AWS Shield Advanced Developer Guide.

  • Pour API plus de détails, voir DescribeDrtAccessla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdescribe-emergency-contact-settings.

AWS CLI

Pour récupérer les adresses e-mail d'urgence que vous avez enregistrées auprès du DRT

L'describe-emergency-contact-settingsexemple suivant récupère les adresses e-mail enregistrées avec DRT le compte. Voici les adresses qu'il DRT doit contacter lorsqu'il 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 Shield Advanced Developer Guide.AWS

L'exemple de code suivant montre comment utiliserdescribe-protection.

AWS CLI

Pour récupérer les informations relatives à une protection AWS Shield Advanced

L'describe-protectionexemple suivant affiche des détails sur la protection Shield Advanced avec l'ID spécifié. Vous pouvez obtenir une protection IDs en exécutant la list-protections commande.

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, voir Spécifiez vos ressources à protéger dans le AWS Shield Advanced Developer Guide.

  • Pour API plus de détails, voir DescribeProtectionla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdescribe-subscription.

AWS CLI

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

L'describe-subscriptionexemple suivant affiche des détails sur la protection Shield Advanced fournie pour le 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 AWS Shield Advanced Developer Guide.

L'exemple de code suivant montre comment utiliserdisassociate-drt-log-bucket.

AWS CLI

Pour supprimer l'autorisation d'accéder DRT à un compartiment Amazon S3 en votre nom

L'disassociate-drt-log-bucketexemple suivant supprime l'association entre le compartiment S3 DRT et le compartiment S3 spécifié. Une fois cette commande terminée, DRT ils ne peuvent plus accéder au bucket au nom du compte.

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

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez Authorize the DDoS Response Team dans le AWS Shield Advanced Developer Guide.

L'exemple de code suivant montre comment utiliserdisassociate-drt-role.

AWS CLI

Pour supprimer l'autorisation DRT afin d'atténuer les attaques potentielles en votre nom

L'disassociate-drt-roleexemple suivant supprime l'association entre le DRT et le compte. Après cet appel, ils ne DRT peuvent plus accéder à votre compte ni le gérer.

aws shield disassociate-drt-role

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez Authorize the DDoS Response Team dans le AWS Shield Advanced Developer Guide.

  • Pour API plus de détails, voir DisassociateDrtRolela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-subscription-state.

AWS CLI

Pour connaître l'état actuel de l'abonnement AWS Shield Advanced du compte

L'get-subscription-stateexemple suivant permet de récupérer l'état de la protection Shield Advanced pour le compte.

aws shield get-subscription-state

Sortie :

{ "SubscriptionState": "ACTIVE" }

Pour plus d'informations, consultez How AWS Shield Works dans le AWS Shield Advanced Developer Guide.

L'exemple de code suivant montre comment utiliserlist-attacks.

AWS CLI

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

L'list-attacksexemple suivant récupère les résumés des attaques pour la AWS CloudFront distribution spécifiée au cours de la période spécifiée. La réponse inclut une attaque IDs que vous pouvez fournir à la describe-attack commande 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 la section Révision DDoS des incidents dans le AWS Shield Advanced Developer Guide.

  • Pour API plus de détails, voir ListAttacksla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-protections.

AWS CLI

Pour récupérer les résumés de protection depuis AWS Shield Advanced

L'list-protectionsexemple suivant permet de récupérer des résumés des protections activées pour le 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, voir Spécifiez vos ressources à protéger dans le AWS Shield Advanced Developer Guide.

  • Pour API plus de détails, voir ListProtectionsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-emergency-contact-settings.

AWS CLI

Pour définir les adresses e-mail d'urgence enregistrées auprès du DRT

L'update-emergency-contact-settingsexemple suivant définit deux adresses e-mail à DRT contacter en cas de réponse à 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 aucun résultat.

Pour plus d'informations, consultez How AWS Shield Works dans le AWS Shield Advanced Developer Guide.

L'exemple de code suivant montre comment utiliserupdate-subscription.

AWS CLI

Pour modifier l'abonnement AWS Shield Advanced du compte

L'update-subscriptionexemple suivant active le renouvellement automatique de l'abonnement AWS Shield Advanced pour le compte.

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

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez How AWS Shield Works dans le AWS Shield Advanced Developer Guide.

  • Pour API plus de détails, voir UpdateSubscriptionla section Référence des AWS CLI commandes.