Ejemplos de Shield usando AWS CLI - AWS SDKEjemplos de código

Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejemplos de Shield usando AWS CLI

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar situaciones comunes mediante el uso de AWS Command Line Interface with Shield.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.

Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.

Acciones

En el siguiente ejemplo de código se muestra cómo usar associate-drt-log-bucket.

AWS CLI

Para autorizar el acceso DRT a un bucket de Amazon S3

En el siguiente associate-drt-log-bucket ejemplo, se crea una asociación entre el bucket de S3 especificado DRT y el depósito de S3 especificado. Esto le permite acceder DRT al depósito en nombre de la cuenta. :

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

Este comando no genera ninguna salida.

Para obtener más información, consulte Autorizar al equipo de DDoS respuesta en la Guía para desarrolladores de AWS Shield Advanced.

En el siguiente ejemplo de código se muestra cómo usar associate-drt-role.

AWS CLI

Para autorizar la DRT mitigación de posibles ataques en su nombre

En el siguiente associate-drt-role ejemplo, se crea una asociación entre la función especificada DRT y la función especificada. DRTPueden usar el rol para acceder a la cuenta y administrarla.

aws shield associate-drt-role \ --role-arn arn:aws:iam::123456789012:role/service-role/DrtRole

Este comando no genera ninguna salida.

Para obtener más información, consulte Autorizar al equipo de DDoS respuesta en la Guía para desarrolladores de AWS Shield Advanced.

  • Para API obtener más información, consulte AssociateDrtRolela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar create-protection.

AWS CLI

Para habilitar la protección AWS Shield Advanced para un solo AWS recurso

El siguiente create-protection ejemplo habilita la protección Shield Advanced para la AWS CloudFront distribución especificada.

aws shield create-protection \ --name "Protection for CloudFront distribution" \ --resource-arn arn:aws:cloudfront::123456789012:distribution/E198WC25FXOWY8

Salida:

{ "ProtectionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

Para obtener más información, consulte la Guía avanzada para desarrolladores de Specify Your Resources to Protect in the AWS Shield.

  • Para API obtener más información, consulte CreateProtectionla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar create-subscription.

AWS CLI

Para habilitar la protección AWS Shield Advanced para una cuenta

El siguiente create-subscription ejemplo habilita la protección Shield Advanced para la cuenta.

aws shield create-subscription

Este comando no genera ninguna salida.

Para obtener más información, consulte Introducción a AWS Shield Advanced en la Guía para desarrolladores de AWS Shield Advanced.

  • Para API obtener más información, consulte CreateSubscriptionla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar delete-protection.

AWS CLI

Para eliminar la protección AWS Shield Advanced de un AWS recurso

El siguiente delete-protection ejemplo elimina la protección AWS Shield Advanced especificada.

aws shield delete-protection \ --protection-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Este comando no genera ninguna salida.

Para obtener más información, consulte Eliminar AWS Shield Advanced de un AWS recurso en la Guía para desarrolladores de AWS Shield Advanced.

  • Para API obtener más información, consulte DeleteProtectionla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar describe-attack.

AWS CLI

Para recuperar una descripción detallada de un ataque

En el siguiente describe-attack ejemplo, se muestran detalles sobre el DDoS ataque con el identificador de ataque especificado. Puede obtener un ataque IDs ejecutando el list-attacks comando.

aws shield describe-attack --attack-id a1b2c3d4-5678-90ab-cdef-EXAMPLE22222

Salida:

{ "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 obtener más información, consulte Revisión de DDoS incidentes en la Guía para desarrolladores de AWS Shield Advanced.

  • Para API obtener más información, consulte DescribeAttackla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar describe-drt-access.

AWS CLI

Para obtener una descripción de las autorizaciones que DRT tiene para mitigar los ataques en su nombre

En el siguiente describe-drt-access ejemplo, se recuperan las autorizaciones del rol y del bucket de S3 que DRT tiene, lo que le permite responder a posibles ataques en su nombre.

aws shield describe-drt-access

Salida:

{ "RoleArn": "arn:aws:iam::123456789012:role/service-role/DrtRole", "LogBucketList": [ "flow-logs-for-website-lb" ] }

Para obtener más información, consulte Autorizar al equipo de DDoS respuesta en la Guía para desarrolladores de AWS Shield Advanced.

  • Para API obtener más información, consulte DescribeDrtAccessla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar describe-emergency-contact-settings.

AWS CLI

Para recuperar las direcciones de correo electrónico de emergencia que tenga archivadas en el DRT

En el siguiente describe-emergency-contact-settings ejemplo, se recuperan las direcciones de correo electrónico archivadas en DRT la cuenta. Estas son las direcciones con las que DRT debe ponerse en contacto cuando responde a un presunto ataque.

aws shield describe-emergency-contact-settings

Salida:

{ "EmergencyContactList": [ { "EmailAddress": "ops@example.com" }, { "EmailAddress": "ddos-notifications@example.com" } ] }

Para obtener más información, consulte Cómo funciona AWS Shield< https://docs.aws.amazon.com/waf/ latest/developerguide/ddos -overview.html> en la Guía avanzada para desarrolladores de Shield.AWS

En el siguiente ejemplo de código se muestra cómo usar describe-protection.

AWS CLI

Para recuperar los detalles de una protección AWS Shield Advanced

El siguiente describe-protection ejemplo muestra detalles sobre la protección Shield Advanced con el ID especificado. Puede obtener protección IDs ejecutando el list-protections comando.

aws shield describe-protection \ --protection-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Salida:

{ "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 obtener más información, consulte la Guía avanzada para desarrolladores de Specify Your Resources to Protect in the AWS Shield.

  • Para API obtener más información, consulte DescribeProtectionla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar describe-subscription.

AWS CLI

Para recuperar los detalles de la protección AWS Shield Advanced de la cuenta

En el siguiente describe-subscription ejemplo, se muestran detalles sobre la protección Shield Advanced proporcionada a la cuenta. :

aws shield describe-subscription

Salida:

{ "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 obtener más información, consulte Cómo funciona AWS Shield en la Guía avanzada para desarrolladores de AWS Shield.

  • Para API obtener más información, consulte DescribeSubscriptionla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar disassociate-drt-log-bucket.

AWS CLI

Para eliminar la autorización para acceder DRT a un bucket de Amazon S3 en su nombre

El siguiente disassociate-drt-log-bucket ejemplo elimina la asociación entre el bucket de S3 DRT y el especificado. Una vez completado este comando, ya no DRT podrá acceder al depósito en nombre de la cuenta.

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

Este comando no genera ninguna salida.

Para obtener más información, consulte Autorizar al equipo de DDoS respuesta en la Guía para desarrolladores de AWS Shield Advanced.

En el siguiente ejemplo de código se muestra cómo usar disassociate-drt-role.

AWS CLI

Para eliminar la autorización DRT para mitigar posibles ataques en su nombre

El siguiente disassociate-drt-role ejemplo elimina la asociación entre la cuenta DRT y la cuenta. Tras esta llamada, ya no DRT podrá acceder a su cuenta ni administrarla.

aws shield disassociate-drt-role

Este comando no genera ninguna salida.

Para obtener más información, consulte Autorizar al equipo de DDoS respuesta en la Guía para desarrolladores de AWS Shield Advanced.

  • Para API obtener más información, consulte DisassociateDrtRolela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-subscription-state.

AWS CLI

Para recuperar el estado actual de la suscripción a AWS Shield Advanced de la cuenta

En el siguiente get-subscription-state ejemplo, se recupera el estado de la protección Shield Advanced de la cuenta.

aws shield get-subscription-state

Salida:

{ "SubscriptionState": "ACTIVE" }

Para obtener más información, consulte Cómo funciona AWS Shield en la Guía avanzada para desarrolladores de AWS Shield.

  • Para API obtener más información, consulte GetSubscriptionStatela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-attacks.

AWS CLI

Para recuperar los resúmenes de los ataques de AWS Shield Advanced

El siguiente list-attacks ejemplo recupera resúmenes de los ataques de la AWS CloudFront distribución especificada durante el período de tiempo especificado. La respuesta incluye un ataque IDs que puede proporcionar al describe-attack comando para obtener información detallada sobre un ataque.

aws shield list-attacks \ --resource-arns arn:aws:cloudfront::12345678910:distribution/E1PXMP22ZVFAOR \ --start-time FromInclusive=1529280000,ToExclusive=1529300000

Salida:

{ "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 obtener más información, consulte Revisión de DDoS incidentes en la Guía para desarrolladores de AWS Shield Advanced.

  • Para API obtener más información, consulte ListAttacksla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-protections.

AWS CLI

Para recuperar los resúmenes de protección de AWS Shield Advanced

El siguiente list-protections ejemplo recupera resúmenes de las protecciones que están habilitadas para la cuenta.

aws shield list-protections

Salida:

{ "Protections": [ { "Id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Name": "Protection for CloudFront distribution", "ResourceArn": "arn:aws:cloudfront::123456789012:distribution/E198WC25FXOWY8" } ] }

Para obtener más información, consulte la Guía avanzada para desarrolladores de Specify Your Resources to Protect in the AWS Shield.

  • Para API obtener más información, consulte ListProtectionsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar update-emergency-contact-settings.

AWS CLI

Para definir las direcciones de correo electrónico de emergencia archivadas en el DRT

En el siguiente update-emergency-contact-settings ejemplo, se definen dos direcciones de correo electrónico con las que DRT debe ponerse en contacto cuando se trata de responder a un presunto ataque.

aws shield update-emergency-contact-settings \ --emergency-contact-list EmailAddress=ops@example.com EmailAddress=ddos-notifications@example.com

Este comando no genera ninguna salida.

Para obtener más información, consulte Cómo funciona AWS Shield en la Guía avanzada para desarrolladores de AWS Shield.

En el siguiente ejemplo de código se muestra cómo usar update-subscription.

AWS CLI

Para modificar la suscripción a AWS Shield Advanced de la cuenta

El siguiente update-subscription ejemplo permite la renovación automática de la suscripción a AWS Shield Advanced de la cuenta.

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

Este comando no genera ninguna salida.

Para obtener más información, consulte Cómo funciona AWS Shield en la Guía avanzada para desarrolladores de AWS Shield.

  • Para API obtener más información, consulte UpdateSubscriptionla Referencia de AWS CLI comandos.