Há mais exemplos de AWS SDK disponíveis no repositório AWS Doc SDK Examples
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Exemplos de Shield usando AWS CLI
Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface with Shield.
Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.
Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.
Tópicos
Ações
O código de exemplo a seguir mostra como usar associate-drt-log-bucket.
- AWS CLI
-
Como autorizar a DRT a acessar o bucket do Amazon S3
O exemplo
associate-drt-log-bucketa seguir cria uma associação entre o DRT e o bucket do S3 especificado. Isso permite que a DRT acesse o bucket em nome da conta:aws shield associate-drt-log-bucket \ --log-bucketflow-logs-for-website-lbEste comando não produz saída.
Para obter mais informações, consulte Autorize a equipe DDo S Response no AWS Shield Advanced Developer Guide.
-
Para obter detalhes da API, consulte AssociateDrtLogBucket
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar associate-drt-role.
- AWS CLI
-
Como autorizar a DRT a atenuar ataques em potencial em seu nome
O exemplo
associate-drt-rolea seguir cria uma associação entre o DRT e a função especificada. A DRT pode usar a função para acessar e gerenciar a conta.aws shield associate-drt-role \ --role-arnarn:aws:iam::123456789012:role/service-role/DrtRoleEste comando não produz saída.
Para obter mais informações, consulte Autorize a equipe DDo S Response no AWS Shield Advanced Developer Guide.
-
Para obter detalhes da API, consulte AssociateDrtRole
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar create-protection.
- AWS CLI
-
Para habilitar a proteção AWS Shield Advanced para um único AWS recurso
O
create-protectionexemplo a seguir ativa a proteção Shield Advanced para a AWS CloudFront distribuição especificada.aws shield create-protection \ --name"Protection for CloudFront distribution"\ --resource-arnarn:aws:cloudfront::123456789012:distribution/E198WC25FXOWY8Saída:
{ "ProtectionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }Para obter mais informações, consulte Especificar os recursos a serem protegidos no Guia do desenvolvedor do AWS Shield Avançado.
-
Para obter detalhes da API, consulte CreateProtection
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar create-subscription.
- AWS CLI
-
Para ativar a proteção AWS Shield Advanced para uma conta
O exemplo
create-subscriptiona seguir ativa a proteção Shield Avançado para a conta.aws shield create-subscriptionEste comando não produz saída.
Para obter mais informações, consulte Introdução ao AWS Shield Advanced no Guia do desenvolvedor AWS do Shield Advanced.
-
Para obter detalhes da API, consulte CreateSubscription
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar delete-protection.
- AWS CLI
-
Para remover a proteção AWS Shield Advanced de um AWS recurso
O
delete-protectionexemplo a seguir remove a proteção AWS Shield Advanced especificada.aws shield delete-protection \ --protection-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111Este comando não produz saída.
Para obter mais informações, consulte Removendo o AWS Shield Advanced de um AWS recurso no Guia do desenvolvedor AWS do Shield Advanced.
-
Para obter detalhes da API, consulte DeleteProtection
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar describe-attack.
- AWS CLI
-
Para recuperar uma descrição detalhada de um ataque
O
describe-attackexemplo a seguir exibe detalhes sobre o ataque DDo S com o ID de ataque especificado. Você pode obter o ataque IDs executando olist-attackscomando.aws shield describe-attack --attack-ida1b2c3d4-5678-90ab-cdef-EXAMPLE22222Saída:
{ "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": [] } }Para obter mais informações, consulte Revising DDo S Incidents no AWS Shield Advanced Developer Guide.
-
Para obter detalhes da API, consulte DescribeAttack
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar describe-drt-access.
- AWS CLI
-
Para recuperar uma descrição das autorizações que a DRT tem para mitigar ataques em seu nome
O exemplo
describe-drt-accessa seguir recupera a função e as autorizações de bucket do S3 que a DRT tem, o que permite que ela responda a possíveis ataques em seu nome.aws shield describe-drt-accessSaída:
{ "RoleArn": "arn:aws:iam::123456789012:role/service-role/DrtRole", "LogBucketList": [ "flow-logs-for-website-lb" ] }Para obter mais informações, consulte Autorize a equipe DDo S Response no AWS Shield Advanced Developer Guide.
-
Para obter detalhes da API, consulte DescribeDrtAccess
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar describe-emergency-contact-settings.
- AWS CLI
-
Para recuperar endereços de e-mail de emergência que você tem registrados na DRT
O exemplo
describe-emergency-contact-settingsa seguir recupera os endereços de e-mail que estão registrados na DRT da conta. Esses são os endereços com que a DRT deve entrar em contato ao responder a um ataque suspeito.aws shield describe-emergency-contact-settingsSaída:
{ "EmergencyContactList": [ { "EmailAddress": "ops@example.com" }, { "EmailAddress": "ddos-notifications@example.com" } ] }Para obter mais informações, consulte How AWS Shield Works< https://docs.aws.amazon.com/waf/ latest/developerguide/ddos -overview.html> no Shield Advanced Developer Guide.AWS
-
Para obter detalhes da API, consulte DescribeEmergencyContactSettings
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar describe-protection.
- AWS CLI
-
Para recuperar os detalhes de uma AWS proteção Shield Advanced
O exemplo
describe-protectiona seguir exibe detalhes sobre a proteção Shield Avançado com o ID especificado. Você pode obter proteção IDs executando olist-protectionscomando.aws shield describe-protection \ --protection-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111Saída:
{ "Protection": { "Id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Name": "1.2.3.4", "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:eip-allocation/eipalloc-0ac1537af40742a6d" } }Para obter mais informações, consulte Especificar os recursos a serem protegidos no Guia do desenvolvedor do AWS Shield Avançado.
-
Para obter detalhes da API, consulte DescribeProtection
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar describe-subscription.
- AWS CLI
-
Para recuperar os detalhes da proteção AWS Shield Advanced para a conta
O exemplo
describe-subscriptiona seguir exibe detalhes sobre a proteção Shield Avançado fornecida para a conta:aws shield describe-subscriptionSaída:
{ "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 } ] } }Para obter mais informações, consulte Como o AWS Shield funciona no AWS Shield Advanced Developer Guide.
-
Para obter detalhes da API, consulte DescribeSubscription
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar disassociate-drt-log-bucket.
- AWS CLI
-
Para remover a autorização da DRT para acessar um bucket do Amazon S3 em seu nome
O exemplo
disassociate-drt-log-bucketa seguir remove a associação entre a DRT e o bucket do S3 especificado. Após a conclusão desse comando, a DRT não poderá mais acessar o bucket em nome da conta.aws shield disassociate-drt-log-bucket \ --log-bucketflow-logs-for-website-lbEste comando não produz saída.
Para obter mais informações, consulte Autorize a equipe DDo S Response no AWS Shield Advanced Developer Guide.
-
Para obter detalhes da API, consulte DisassociateDrtLogBucket
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar disassociate-drt-role.
- AWS CLI
-
Para remover a autorização da DRT para atenuar ataques em potencial em seu nome
O exemplo
disassociate-drt-rolea seguir remove a associação entre a DRT e a conta. Após essa chamada, a DRT não poderá mais acessar ou gerenciar sua conta.aws shield disassociate-drt-roleEste comando não produz saída.
Para obter mais informações, consulte Autorize a equipe DDo S Response no AWS Shield Advanced Developer Guide.
-
Para obter detalhes da API, consulte DisassociateDrtRole
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-subscription-state.
- AWS CLI
-
Para recuperar o estado atual da assinatura AWS Shield Advanced da conta
O exemplo
get-subscription-statea seguir recupera o estado da proteção Shield Avançado da conta.aws shield get-subscription-stateSaída:
{ "SubscriptionState": "ACTIVE" }Para obter mais informações, consulte Como o AWS Shield funciona no AWS Shield Advanced Developer Guide.
-
Para obter detalhes da API, consulte GetSubscriptionState
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-attacks.
- AWS CLI
-
Para recuperar resumos de ataques do Shield Advanced AWS
O
list-attacksexemplo a seguir recupera resumos dos ataques para a AWS CloudFront distribuição especificada durante o período especificado. A resposta inclui um ataque IDs que você pode fornecer aodescribe-attackcomando para obter informações detalhadas sobre um ataque.aws shield list-attacks \ --resource-arnsarn:aws:cloudfront::12345678910:distribution/E1PXMP22ZVFAOR\ --start-timeFromInclusive=1529280000,ToExclusive=1529300000Saída:
{ "AttackSummaries": [ { "AttackId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "ResourceArn": "arn:aws:cloudfront::123456789012:distribution/E1PXMP22ZVFAOR", "StartTime": 1529280000.0, "EndTime": 1529449200.0, "AttackVectors": [ { "VectorType": "SYN_FLOOD" } ] } ] }Para obter mais informações, consulte Revising DDo S Incidents no AWS Shield Advanced Developer Guide.
-
Para obter detalhes da API, consulte ListAttacks
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-protections.
- AWS CLI
-
Para recuperar resumos de proteção do Shield Advanced AWS
O exemplo
list-protectionsa seguir recupera resumos das proteções que estão habilitadas para a conta.aws shield list-protectionsSaída:
{ "Protections": [ { "Id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Name": "Protection for CloudFront distribution", "ResourceArn": "arn:aws:cloudfront::123456789012:distribution/E198WC25FXOWY8" } ] }Para obter mais informações, consulte Especificar os recursos a serem protegidos no Guia do desenvolvedor do AWS Shield Avançado.
-
Para obter detalhes da API, consulte ListProtections
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar update-emergency-contact-settings.
- AWS CLI
-
Como definir os endereços de e-mail de emergência que estão registrados na DRT
O exemplo
update-emergency-contact-settingsa seguir define dois endereços de e-mail que a DRT deve contatar ao responder a um ataque suspeito.aws shield update-emergency-contact-settings \ --emergency-contact-listEmailAddress=ops@example.comEmailAddress=ddos-notifications@example.comEste comando não produz saída.
Para obter mais informações, consulte Como o AWS Shield funciona no AWS Shield Advanced Developer Guide.
-
Para obter detalhes da API, consulte UpdateEmergencyContactSettings
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar update-subscription.
- AWS CLI
-
Para modificar a assinatura AWS Shield Advanced da conta
O
update-subscriptionexemplo a seguir permite a renovação automática da assinatura AWS Shield Advanced para a conta.aws shield update-subscription \ --auto-renewENABLEDEste comando não produz saída.
Para obter mais informações, consulte Como o AWS Shield funciona no AWS Shield Advanced Developer Guide.
-
Para obter detalhes da API, consulte UpdateSubscription
em Referência de AWS CLI Comandos.
-