

# Ejemplos de Firewall Manager que utilizan la AWS CLI
<a name="cli_fms_code_examples"></a>

En los siguientes ejemplos de código, se muestra cómo realizar acciones e implementar escenarios comunes usando AWS Command Line Interface con Firewall Manager.

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.

**Topics**
+ [Acciones](#actions)

## Acciones
<a name="actions"></a>

### `associate-admin-account`
<a name="fms_AssociateAdminAccount_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `associate-admin-account`.

**AWS CLI**  
**Para establecer la cuenta de administrador de Firewall Manager**  
En el siguiente ejemplo de `associate-admin-account`, se establece la cuenta de administrador para Firewall Manager.  

```
aws fms associate-admin-account \
    --admin-account 123456789012
```
Este comando no genera ninguna salida.  
Para obtener más información, consulte [Set the AWS Firewall Manager Administrator Account](https://docs.aws.amazon.com/waf/latest/developerguide/enable-integration.html) en la *Guía para desarrolladores de AWS WAF, AWS Firewall Manager y AWS Shield Advanced*.  
+  Para obtener más detalles sobre la API, consulte [AssociateAdminAccount](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fms/associate-admin-account.html) en la *Referencia de comandos de la AWS CLI*. 

### `delete-notification-channel`
<a name="fms_DeleteNotificationChannel_cli_topic"></a>

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

**AWS CLI**  
**Para eliminar la información sobre temas de SNS para los registros de Firewall Manager**  
En el siguiente ejemplo de `delete-notification-channel`, se elimina la información del tema de SNS.  

```
aws fms delete-notification-channel
```
Este comando no genera ninguna salida.  
Para obtener más información, consulte [Configure Amazon SNS Notifications and Amazon CloudWatch Alarms](https://docs.aws.amazon.com/waf/latest/developerguide/get-started-fms-shield-cloudwatch.html) en la *Guía para desarrolladores de AWS WAF, AWS Firewall Manager y AWS Shield Advanced*.  
+  Para obtener información sobre la API, consulte [DeleteNotificationChannel](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fms/delete-notification-channel.html) en la *Referencia de comandos de la AWS CLI*. 

### `delete-policy`
<a name="fms_DeletePolicy_cli_topic"></a>

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

**AWS CLI**  
**Para eliminar una política de Firewall Manager**  
En el siguiente ejemplo de `delete-policy`, se elimina la política con el ID especificado, junto con todos sus recursos.  

```
aws fms delete-policy \
    --policy-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \
    --delete-all-policy-resources
```
Este comando no genera ninguna salida.  
Para obtener más información, consulte [Uso de políticas de AWS Firewall Manager](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-policies.html) en la *Guía para desarrolladores de AWS WAF, AWS Firewall Manager y AWS Shield Advanced*.  
+  Para obtener información sobre la API, consulte [DeletePolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fms/delete-policy.html) en la *Referencia de comandos de la AWS CLI*. 

### `disassociate-admin-account`
<a name="fms_DisassociateAdminAccount_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `disassociate-admin-account`.

**AWS CLI**  
**Para eliminar la cuenta de administrador de Firewall Manager**  
En el siguiente ejemplo de `disassociate-admin-account`, se elimina la asociación de cuentas de administrador actual de Firewall Manager.  

```
aws fms disassociate-admin-account
```
Este comando no genera ninguna salida.  
Para obtener más información, consulte [Set the AWS Firewall Manager Administrator Account](https://docs.aws.amazon.com/waf/latest/developerguide/enable-integration.html) en la *Guía para desarrolladores de AWS WAF, AWS Firewall Manager y AWS Shield Advanced*.  
+  Para obtener información sobre la API, consulte [DisassociateAdminAccount](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fms/disassociate-admin-account.html) en la *Referencia de la comandos de la AWS CLI*. 

### `get-admin-account`
<a name="fms_GetAdminAccount_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `get-admin-account`.

**AWS CLI**  
**Para recuperar la cuenta de administrador de Firewall Manager**  
En el siguiente ejemplo de `get-admin-account`, se recupera la cuenta de administrador.  

```
aws fms get-admin-account
```
Salida:  

```
{
    "AdminAccount": "123456789012",
    "RoleStatus": "READY"
}
```
Para obtener más información, consulte [AWS Firewall Manager Prerequisites](https://docs.aws.amazon.com/waf/latest/developerguide/fms-prereq.html) en la *Guía para desarrolladores de AWS WAF, AWS Firewall Manager y AWS Shield Avanzado*.  
+  Para obtener información sobre la API, consulte [GetAdminAccount](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fms/get-admin-account.html) en la *Referencia de comandos de la AWS CLI*. 

### `get-compliance-detail`
<a name="fms_GetComplianceDetail_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `get-compliance-detail`.

**AWS CLI**  
**Para recuperar la información de cumplimiento de una cuenta**  
En el siguiente ejemplo de `get-compliance-detail`, se recupera la información de cumplimiento para la cuenta de miembro y la política especificadas.  

```
aws fms get-compliance-detail \
    --policy-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \
    --member-account 123456789012
```
Salida:  

```
{
    "PolicyComplianceDetail": {
    "EvaluationLimitExceeded": false,
    "IssueInfoMap": {},
    "MemberAccount": "123456789012",
    "PolicyId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
    "PolicyOwner": "123456789012",
    "Violators": []
}
```
Para obtener más información, consulte [Visualización de información de conformidad para una política de AWS Firewall Manager](https://docs.aws.amazon.com/waf/latest/developerguide/fms-compliance.html) en la *Guía para desarrolladores de AWS WAF, AWS Firewall Manager y AWS Shield Advanced*.  
+  Para obtener información sobre la API, consulte [GetComplianceDetail](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fms/get-compliance-detail.html) en la *Referencia de comandos de la AWS CLI*. 

### `get-notification-channel`
<a name="fms_GetNotificationChannel_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `get-notification-channel`.

**AWS CLI**  
**Para recuperar la información sobre temas de SNS para los registros de Firewall Manager**  
En el siguiente ejemplo de `get-notification-channel`, se recupera la información del tema de SNS.  

```
aws fms get-notification-channel
```
Salida:  

```
{
    "SnsTopicArn": "arn:aws:sns:us-west-2:123456789012:us-west-2-fms",
    "SnsRoleName": "arn:aws:iam::123456789012:role/aws-service-role/fms.amazonaws.com/AWSServiceRoleForFMS"
}
```
Para obtener más información, consulte [Configure Amazon SNS Notifications and Amazon CloudWatch Alarms](https://docs.aws.amazon.com/waf/latest/developerguide/get-started-fms-shield-cloudwatch.html) en la *Guía para desarrolladores de AWS WAF, AWS Firewall Manager y AWS Shield Advanced*.  
+  Para obtener información sobre la API, consulte [GetNotificationChannel](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fms/get-notification-channel.html) en la *Referencia de comandos de la AWS CLI*. 

### `get-policy`
<a name="fms_GetPolicy_cli_topic"></a>

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

**AWS CLI**  
**Para recuperar una política de Firewall Manager**  
En el siguiente ejemplo de `get-policy`, se recupera la política con el ID especificado.  

```
aws fms get-policy \
    --policy-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
```
Salida:  

```
{
    "Policy": {
        "PolicyId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "PolicyName": "test",
        "PolicyUpdateToken": "1:p+2RpKR4wPFx7mcrL1UOQQ==",
        "SecurityServicePolicyData": {
            "Type": "SECURITY_GROUPS_COMMON",
            "ManagedServiceData": "{\"type\":\"SECURITY_GROUPS_COMMON\",\"revertManualSecurityGroupChanges\":true,\"exclusiveResourceSecurityGroupManagement\":false,\"securityGroups\":[{\"id\":\"sg-045c43ccc9724e63e\"}]}"
        },
        "ResourceType": "AWS::EC2::Instance",
        "ResourceTags": [],
        "ExcludeResourceTags": false,
        "RemediationEnabled": false
    },
    "PolicyArn": "arn:aws:fms:us-west-2:123456789012:policy/d1ac59b8-938e-42b3-b2e0-7c620422ddc2"
}
```
Para obtener más información, consulte [Uso de políticas de AWS Firewall Manager](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-policies.html) en la *Guía para desarrolladores de AWS WAF, AWS Firewall Manager y AWS Shield Advanced*.  
+  Para obtener información sobre la API, consulte [GetPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fms/get-policy.html) en la *Referencia de comandos de la AWS CLI*. 

### `list-compliance-status`
<a name="fms_ListComplianceStatus_cli_topic"></a>

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

**AWS CLI**  
**Para recuperar la información de cumplimiento de las políticas para las cuentas de miembros**  
En el siguiente ejemplo de `list-compliance-status`, se recupera la información de cumplimiento de cuenta de miembro para la política especificada.  

```
aws fms list-compliance-status \
    --policy-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
```
Salida:  

```
{
    "PolicyComplianceStatusList": [
        {
            "PolicyOwner": "123456789012",
            "PolicyId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
            "PolicyName": "test",
            "MemberAccount": "123456789012",
            "EvaluationResults": [
                {
                    "ComplianceStatus": "COMPLIANT",
                    "ViolatorCount": 0,
                    "EvaluationLimitExceeded": false
                },
                {
                    "ComplianceStatus": "NON_COMPLIANT",
                    "ViolatorCount": 2,
                    "EvaluationLimitExceeded": false
                }
            ],
            "LastUpdated": 1576283774.0,
            "IssueInfoMap": {}
        }
    ]
}
```
Para obtener más información, consulte [Visualización de información de conformidad para una política de AWS Firewall Manager](https://docs.aws.amazon.com/waf/latest/developerguide/fms-compliance.html) en la *Guía para desarrolladores de AWS WAF, AWS Firewall Manager y AWS Shield Advanced*.  
+  Para obtener información sobre la API, consulte [ListComplianceStatus](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fms/list-compliance-status.html) en la *Referencia de comandos de la AWS CLI*. 

### `list-member-accounts`
<a name="fms_ListMemberAccounts_cli_topic"></a>

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

**AWS CLI**  
**Para recuperar las cuentas de miembros de la organización**  
En el siguiente ejemplo de `list-member-accounts`, se enumeran todas las cuentas de miembros que se encuentran en la organización del administrador de Firewall Manager.  

```
aws fms list-member-accounts
```
Salida:  

```
{
    "MemberAccounts": [
        "222222222222",
        "333333333333",
        "444444444444"
    ]
}
```
Para obtener más información, consulte [AWS Firewall Manager](https://docs.aws.amazon.com/waf/latest/developerguide/fms-chapter.html) en la *Guía para desarrolladores de AWS WAF, AWS Firewall Manager y AWS Shield Advanced*.  
+  Para obtener información sobre la API, consulte [ListMemberAccounts](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fms/list-member-accounts.html) en la *Referencia de comandos de la AWS CLI*. 

### `list-policies`
<a name="fms_ListPolicies_cli_topic"></a>

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

**AWS CLI**  
**Para recuperar todas las políticas de Firewall Manager**  
En el siguiente ejemplo de `list-policies`, se recupera la lista de políticas para la cuenta. En este ejemplo, la salida está limitada a dos resultados por solicitud. Cada llamada devuelve un valor de `NextToken` que se puede utilizar como valor del parámetro `--starting-token` en la siguiente llamada de `list-policies` para obtener el siguiente conjunto de resultados para la lista.  

```
aws fms list-policies \
    --max-items 2
```
Salida:  

```
{
    "PolicyList": [
        {
            "PolicyArn": "arn:aws:fms:us-west-2:123456789012:policy/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
            "PolicyId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
            "PolicyName": "test",
            "ResourceType": "AWS::EC2::Instance",
            "SecurityServiceType": "SECURITY_GROUPS_COMMON",
            "RemediationEnabled": false
        },
        {
            "PolicyArn": "arn:aws:fms:us-west-2:123456789012:policy/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
            "PolicyId": "457c9b21-fc94-406c-ae63-21217395ba72",
            "PolicyName": "test",
            "ResourceType": "AWS::EC2::Instance",
            "SecurityServiceType": "SECURITY_GROUPS_COMMON",
            "RemediationEnabled": false
        }
    ],
    "NextToken": "eyJOZXh0VG9rZW4iOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAyfQ=="
}
```
Para obtener más información, consulte Uso de políticas de AWS Firewall Manager en la *Guía para desarrolladores de AWS WAF, AWS Firewall Manager y AWS Shield Advanced*.  
+  Para obtener información sobre la API, consulte [ListPolicies](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fms/list-policies.html) en la *Referencia de comandos de la AWS CLI*. 

### `put-notification-channel`
<a name="fms_PutNotificationChannel_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `put-notification-channel`.

**AWS CLI**  
**Para establecer la información del tema SNS para los registros de Firewall Manager**  
En el siguiente ejemplo de `put-notification-channel`, se establece la información del tema de SNS.  

```
aws fms put-notification-channel \
    --sns-topic-arn arn:aws:sns:us-west-2:123456789012:us-west-2-fms \
    --sns-role-name arn:aws:iam::123456789012:role/aws-service-role/fms.amazonaws.com/AWSServiceRoleForFMS
```
Este comando no genera ninguna salida.  
Para obtener más información, consulte [Configure Amazon SNS Notifications and Amazon CloudWatch Alarms](https://docs.aws.amazon.com/waf/latest/developerguide/get-started-fms-shield-cloudwatch.html) en la *Guía para desarrolladores de AWS WAF, AWS Firewall Manager y AWS Shield Advanced*.  
+  Para obtener información sobre la API, consulte [PutNotificationChannel](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fms/put-notification-channel.html) en la *Referencia de comandos de la AWS CLI*. 

### `put-policy`
<a name="fms_PutPolicy_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `put-policy`.

**AWS CLI**  
**Para crear una política de Firewall Manager**  
En el siguiente ejemplo de `put-policy`, se crea una política de grupo de seguridad de Firewall Manager.  

```
aws fms put-policy \
    --cli-input-json file://policy.json
```
Contenido de `policy.json`:  

```
{
    "Policy": {
        "PolicyName": "test",
        "SecurityServicePolicyData": {
            "Type": "SECURITY_GROUPS_USAGE_AUDIT",
            "ManagedServiceData": "{\"type\":\"SECURITY_GROUPS_USAGE_AUDIT\",\"deleteUnusedSecurityGroups\":false,\"coalesceRedundantSecurityGroups\":true}"
        },
        "ResourceType": "AWS::EC2::SecurityGroup",
        "ResourceTags": [],
        "ExcludeResourceTags": false,
        "RemediationEnabled": false
    },
    "TagList": [
        {
            "Key": "foo",
            "Value": "foo"
        }
    ]
}
```
Salida:  

```
{
    "Policy": {
        "PolicyId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "PolicyName": "test",
        "PolicyUpdateToken": "1:X9QGexP7HASDlsFp+G31Iw==",
        "SecurityServicePolicyData": {
            "Type": "SECURITY_GROUPS_USAGE_AUDIT",
            "ManagedServiceData": "{\"type\":\"SECURITY_GROUPS_USAGE_AUDIT\",\"deleteUnusedSecurityGroups\":false,\"coalesceRedundantSecurityGroups\":true,\"optionalDelayForUnusedInMinutes\":null}"
        },
        "ResourceType": "AWS::EC2::SecurityGroup",
        "ResourceTags": [],
        "ExcludeResourceTags": false,
        "RemediationEnabled": false
    },
    "PolicyArn": "arn:aws:fms:us-west-2:123456789012:policy/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
}
```
Para obtener más información, consulte Uso de políticas de AWS Firewall Manager en la *Guía para desarrolladores de AWS WAF, AWS Firewall Manager y AWS Shield Advanced*.  
+  Para obtener información sobre la API, consulte [PutPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fms/put-policy.html) en la *Referencia de comandos de la AWS CLI*. 