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-bucket
a 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-bucket
flow-logs-for-website-lb
Este 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-role
a 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-arn
arn:aws:iam::123456789012:role/service-role/DrtRole
Este 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-protection
exemplo 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/E198WC25FXOWY8
Saí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-subscription
a seguir ativa a proteção Shield Avançado para a conta.aws shield create-subscription
Este 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-protection
exemplo a seguir remove a proteção AWS Shield Advanced especificada.aws shield delete-protection \ --protection-id
a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
Este 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-attack
exemplo a seguir exibe detalhes sobre o ataque DDo S com o ID de ataque especificado. Você pode obter o ataque IDs executando olist-attacks
comando.aws shield describe-attack --attack-id
a1b2c3d4-5678-90ab-cdef-EXAMPLE22222
Saí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-access
a 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-access
Saí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-settings
a 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-settings
Saí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-protection
a seguir exibe detalhes sobre a proteção Shield Avançado com o ID especificado. Você pode obter proteção IDs executando olist-protections
comando.aws shield describe-protection \ --protection-id
a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
Saí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-subscription
a seguir exibe detalhes sobre a proteção Shield Avançado fornecida para a conta:aws shield describe-subscription
Saí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-bucket
a 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-bucket
flow-logs-for-website-lb
Este 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-role
a 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-role
Este 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-state
a seguir recupera o estado da proteção Shield Avançado da conta.aws shield get-subscription-state
Saí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-attacks
exemplo 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-attack
comando para obter informações detalhadas sobre um ataque.aws shield list-attacks \ --resource-arns
arn:aws:cloudfront::12345678910:distribution/E1PXMP22ZVFAOR
\ --start-timeFromInclusive=1529280000,ToExclusive=1529300000
Saí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-protections
a seguir recupera resumos das proteções que estão habilitadas para a conta.aws shield list-protections
Saí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-settings
a 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-list
EmailAddress=ops@example.com
EmailAddress=ddos-notifications@example.com
Este 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-subscription
exemplo a seguir permite a renovação automática da assinatura AWS Shield Advanced da conta.aws shield update-subscription \ --auto-renew
ENABLED
Este 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.
-