Exemples de Shield utilisant AWS CLI - AWS Command Line Interface

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 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 utiliserassociate-drt-log-bucket.

AWS CLI

Pour autoriser l’équipe DRT à accéder à un compartiment Amazon S3

L’exemple associate-drt-log-bucket suivant crée une association entre l’équipe DRT et le compartiment S3 spécifié. L’équipe DRT 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 Authorize the DDo S Response Team dans le AWS Shield Advanced Developer Guide.

  • Pour plus de détails sur l'API, reportez-vous AssociateDrtLogBucketà la section Référence des AWS CLI commandes.

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

AWS CLI

Pour autoriser l’équipe DRT à atténuer les attaques potentielles à votre place

L’exemple associate-drt-role suivant crée une association entre l’équipe DRT et le rôle spécifié. L’équipe DRT 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 Authorize the DDo S Response Team dans le AWS Shield Advanced Developer Guide.

  • Pour plus de détails sur l'API, reportez-vous AssociateDrtRoleà la 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, consultez Spécification des ressources à protéger dans le Guide du développeur AWS  Shield Advanced.

  • Pour plus de détails sur l'API, reportez-vous CreateProtectionà la 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’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 guide du développeur de AWS Shield Advanced.

  • Pour plus de détails sur l'API, reportez-vous CreateSubscriptionà la 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 aucune sortie.

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 plus de détails sur l'API, reportez-vous DeleteProtectionà la section Référence des AWS CLI commandes.

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

AWS CLI

Pour extraire la description détaillée d’une attaque

L'describe-attackexemple suivant affiche les détails de l'attaque DDo S 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 Reviewing DDo S Incidents dans le AWS Shield Advanced Developer Guide.

  • Pour plus de détails sur l'API, reportez-vous DescribeAttackà la section Référence des AWS CLI commandes.

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

AWS CLI

Pour extraire une description des autorisations, l’équipe DRT doit atténuer les attaques en votre nom

L’exemple describe-drt-access suivant extrait le rôle et les autorisations de compartiment S3 dont dispose l’équipe DRT 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 Authorize the DDo S Response Team dans le AWS Shield Advanced Developer Guide.

  • Pour plus de détails sur l'API, reportez-vous DescribeDrtAccessà la section Référence des AWS CLI commandes.

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

AWS CLI

Pour extraire les adresses e-mail d’urgence que vous avez enregistrées dans les dossiers de l’équipe DRT

L’exemple describe-emergency-contact-settings suivant extrait les adresses e-mail du compte enregistrées dans les dossiers de l’équipe DRT. Ce sont les adresses que l’équipe DRT 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 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’exemple describe-protection suivant affiche les détails de la protection Shield Advanced possédant 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, consultez Spécification des ressources à protéger dans le Guide du développeur AWS  Shield Advanced.

  • Pour plus de détails sur l'API, reportez-vous DescribeProtectionà la 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’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 AWS Shield Advanced Developer Guide.

  • Pour plus de détails sur l'API, reportez-vous DescribeSubscriptionà la section Référence des AWS CLI commandes.

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

AWS CLI

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

L’exemple disassociate-drt-log-bucket suivant supprime l’association entre l’équipe DRT et le compartiment S3 spécifié. Une fois cette commande exécutée, l’équipe DRT 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 Authorize the DDo S Response Team dans le AWS Shield Advanced Developer Guide.

  • Pour plus de détails sur l'API, reportez-vous DisassociateDrtLogBucketà la section Référence des AWS CLI commandes.

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

AWS CLI

Pour retirer à l’équipe DRT l’autorisation d’atténuer les attaques potentielles en votre nom

L’exemple disassociate-drt-role suivant supprime l’association entre l’équipe DRT et le compte. Après cet appel, l’équipe DRT 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 Authorize the DDo S Response Team dans le AWS Shield Advanced Developer Guide.

  • Pour plus de détails sur l'API, reportez-vous DisassociateDrtRoleà la 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’exemple get-subscription-state suivant extrait 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 AWS Shield Advanced Developer Guide.

  • Pour plus de détails sur l'API, reportez-vous GetSubscriptionStateà la section Référence des AWS CLI commandes.

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 Reviewing DDo S Incidents dans le AWS Shield Advanced Developer Guide.

  • Pour plus de détails sur l'API, reportez-vous ListAttacksà la 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’exemple list-protections suivant extrait 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écification des ressources à protéger dans le Guide du développeur AWS  Shield Advanced.

  • Pour plus de détails sur l'API, reportez-vous ListProtectionsà la 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 dans les dossiers de l’équipe DRT

L’exemple update-emergency-contact-settings suivant définit deux adresses e-mail que l’équipe DRT 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 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 aucune sortie.

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

  • Pour plus de détails sur l'API, reportez-vous UpdateSubscriptionà la section Référence des AWS CLI commandes.