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-bucketsuivant 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-bucketflow-logs-for-website-lbCette 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-rolesuivant 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-arnarn:aws:iam::123456789012:role/service-role/DrtRoleCette 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-protectionsuivant active la protection Shield Advanced de la distribution AWS CloudFront spécifiée.aws shield create-protection \ --name"Protection for CloudFront distribution"\ --resource-arnarn:aws:cloudfront::123456789012:distribution/E198WC25FXOWY8Sortie :
{ "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-subscriptionsuivant active la protection Shield Advanced du compte.aws shield create-subscriptionCette 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-protectionsuivant supprime la protection AWS Shield Advanced spécifiée.aws shield delete-protection \ --protection-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111Cette 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-attacksuivant 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 commandelist-attacks.aws shield describe-attack --attack-ida1b2c3d4-5678-90ab-cdef-EXAMPLE22222Sortie :
{ "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-accesssuivant 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-accessSortie :
{ "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-settingssuivant 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-settingsSortie :
{ "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.
-
Pour plus de détails sur l’API, consultez DescribeEmergencyContactSettings
dans la Référence des commandes de l’AWS CLI.
-
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-protectionsuivant 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 commandelist-protections.aws shield describe-protection \ --protection-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111Sortie :
{ "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-subscriptionsuivant affiche les détails de la protection Shield Advanced du compte :aws shield describe-subscriptionSortie :
{ "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-bucketsuivant 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-bucketflow-logs-for-website-lbCette 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-rolesuivant 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-roleCette 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-statesuivant récupère l’état de la protection Shield Advanced du compte.aws shield get-subscription-stateSortie :
{ "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-attackssuivant 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 commandedescribe-attackpour obtenir des informations détaillées sur une attaque.aws shield list-attacks \ --resource-arnsarn:aws:cloudfront::12345678910:distribution/E1PXMP22ZVFAOR\ --start-timeFromInclusive=1529280000,ToExclusive=1529300000Sortie :
{ "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-protectionssuivant récupère les résumés des protections actives du compte.aws shield list-protectionsSortie :
{ "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-settingssuivant 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-listEmailAddress=ops@example.comEmailAddress=ddos-notifications@example.comCette 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 UpdateEmergencyContactSettings
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser update-subscription.
- AWS CLI
-
Pour modifier l’abonnement AWS Shield Advanced du compte
L’exemple
update-subscriptionsuivant active le renouvellement automatique de l’abonnement AWS Shield Advanced du compte.aws shield update-subscription \ --auto-renewENABLEDCette 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.
-