View a markdown version of this page

Ejemplos de blindaje que utilizan AWS CLI - AWS Ejemplos de código de SDK

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

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 blindaje que utilizan AWS CLI

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el uso de AWS Command Line Interface 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 distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

Acciones

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

AWS CLI

Para autorizar al DRT acceder al bucket de Amazon S3

En el siguiente ejemplo de associate-drt-log-bucket, se crea una asociación entre el DRT y el bucket de S3 especificado. Esto permite que el DRT acceda al bucket 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 Configuración del soporte de AWS Shield Response Team (SRT) para responder a eventos DDoS en la Guía para desarrolladores de AWS Shield Avanzado.

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

AWS CLI

Para autorizar al DRT a mitigar los posibles ataques en su nombre

En el siguiente ejemplo de associate-drt-role, se crea una asociación entre el DRT y el rol especificado. El DRT puede 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 Configuración del soporte de AWS Shield Response Team (SRT) para responder a eventos DDoS en la Guía para desarrolladores de AWS Shield Avanzado.

  • Para obtener más información sobre la API, consulte Command Reference AssociateDrtRole. AWS CLI

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

AWS CLI

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

El siguiente create-protection ejemplo habilita la protección de 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 Cómo agregar y configurar protecciones de recursos con Shield Advanced en la Guía para desarrolladores de AWS Shield Avanzado.

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

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

AWS CLI

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

En el siguiente ejemplo de create-subscription, se habilita la protección Shield Avanzado 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 obtener más información sobre la API, consulta CreateSubscription la sección de referencia de AWS CLI comandos.

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

AWS CLI

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

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 obtener más información sobre la API, consulte DeleteProtection la sección de referencia de AWS CLI comandos.

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

AWS CLI

Para recuperar una descripción detallada de un ataque

En el siguiente ejemplo de describe-attack, se muestran los detalles del ataque DDoS con el ID de ataque especificado. Puede obtener los ID de ataque ejecutando el comando list-attacks.

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 Visibilidad de los eventos de DDoS en la Guía para desarrolladores de AWS Shield Avanzado.

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

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

AWS CLI

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

En el siguiente ejemplo de describe-drt-access, se recuperan las autorizaciones de rol y bucket de S3 de las que dispone el DRT, que le permiten 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 Configuración del soporte de AWS Shield Response Team (SRT) para responder a eventos DDoS en la Guía para desarrolladores de AWS Shield Avanzado.

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

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

AWS CLI

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

En el siguiente ejemplo de describe-emergency-contact-settings, se recuperan las direcciones de correo electrónico archivadas en el DRT de la cuenta. Estas son las direcciones con las que debe contactar el DRT al responder 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 Shield< > en la Guía avanzada para desarrolladores de AWS Shield. https://docs.aws.amazon.com/waf/latest/developerguide/ddos-overview.html AWS

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

AWS CLI

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

En el siguiente ejemplo de describe-protection, se muestran detalles sobre la protección Shield Avanzado con el ID especificado. Puede obtener los ID de protección ejecutando el comando list-protections.

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 Cómo agregar y configurar protecciones de recursos con Shield Advanced en la Guía para desarrolladores de AWS Shield Avanzado.

  • Para obtener más información sobre la API, consulte DescribeProtection la sección de referencia de AWS CLI comandos.

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

AWS CLI

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

En el siguiente ejemplo de describe-subscription, se muestran detalles sobre la protección Shield Avanzado proporcionada para 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 para desarrolladores de AWS Shield Advanced.

  • Para obtener más información sobre la API, consulte DescribeSubscription la sección de referencia de AWS CLI comandos.

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

AWS CLI

Para eliminar la autorización para que el DRT obtenga acceso a un bucket de Amazon S3 en su nombre

En el siguiente ejemplo de disassociate-drt-log-bucket, se elimina la asociación entre el DRT y el bucket de S3 especificado. Una vez completado este comando, el DRT ya no podrá acceder al bucket 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 Configuración del soporte de AWS Shield Response Team (SRT) para responder a eventos DDoS en la Guía para desarrolladores de AWS Shield Avanzado.

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

AWS CLI

Para eliminar la autorización para que el DRT mitigue posibles ataques en su nombre

En el siguiente ejemplo de disassociate-drt-role, se elimina la asociación entre el DRT y la cuenta. Tras esta llamada, el DRT ya no 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 Configuración del soporte de AWS Shield Response Team (SRT) para responder a eventos DDoS en la Guía para desarrolladores de AWS Shield Avanzado.

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

AWS CLI

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

En el siguiente ejemplo de get-subscription-state, se recupera el estado de la protección Shield Avanzado para 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 para desarrolladores de AWS Shield Advanced.

  • Para obtener más información sobre la API, consulte GetSubscriptionState la sección de referencia de AWS CLI comandos.

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

AWS CLI

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

En el siguiente list-attacks ejemplo, se recuperan los resúmenes de los ataques de la AWS CloudFront distribución especificada durante el período de tiempo especificado. La respuesta incluye los ID de ataque que puede proporcionar al comando describe-attack 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 Visibilidad de los eventos de DDoS en la Guía para desarrolladores de AWS Shield Avanzado.

  • Para obtener más información sobre la API, consulte la referencia ListAttacks de AWS CLI comandos.

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

AWS CLI

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

En el siguiente ejemplo de list-protections, se recuperan 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 Cómo agregar y configurar protecciones de recursos con Shield Advanced en la Guía para desarrolladores de AWS Shield Avanzado.

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

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

AWS CLI

Para definir las direcciones de correo electrónico de emergencia que tenga archivadas con el DRT

En el siguiente ejemplo de update-emergency-contact-settings, se definen dos direcciones de correo electrónico con las que el DRT debe contactar cuando responda 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 Shield en la Guía avanzada para desarrolladores de AWS Shield. AWS

En el siguiente ejemplo de código, se muestra cómo utilizar 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 de AWS Shield Advanced para 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 para desarrolladores de AWS Shield Advanced.

  • Para obtener más información sobre la API, consulte UpdateSubscription la sección de referencia de AWS CLI comandos.