

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.

# Creación de usuarios de IAM y colas de Amazon SQS
<a name="sqs-abac-creating-queues"></a>

En los siguientes ejemplos se explica cómo crear una política ABAC para controlar el acceso a Amazon SQS mediante Consola de administración de AWS y. CloudFormation

## Mediante el Consola de administración de AWS
<a name="sqs-abac-creating-queues-console"></a>

**Crear un usuario de IAM**

1. Inicie sesión en la consola de IAM Consola de administración de AWS y ábrala en. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Desde el panel de navegación izquierdo, elija **Usuario**.

1. Elija **Agregar usuarios** e introduzca un nombre en el cuadro de texto **Nombre de usuario**.

1. Seleccione **(Clave de acceso: acceso mediante programación)** y elija **Siguiente: permisos**.

1. Elija **Siguiente:Etiquetas**.

1. Agregue la clave de la etiqueta como `environment` y el valor de la etiqueta como `beta`.

1. Seleccione **Siguiente: revisión** y, después, elija **Crear usuario**.

1. Copie y guarde el ID de clave de acceso y la clave de acceso secreta en un lugar seguro.

**Agregar permisos de usuario de IAM**

1. Seleccione el usuario de IAM que ha creado.

1. Elija **Agregar política insertada**.

1. En la pestaña JSON, pegue la política siguiente:

1. Elija **Revisar política**.

1. Elija **Crear política**.

## Usando AWS CloudFormation
<a name="sqs-abac-creating-queues-cf"></a>

Utilice la siguiente CloudFormation plantilla de ejemplo para crear un usuario de IAM con una política en línea adjunta y una cola de Amazon SQS:

```
AWSTemplateFormatVersion: "2010-09-09"
Description: "CloudFormation template to create IAM user with custom inline policy"
Resources:
    IAMPolicy:
        Type: "AWS::IAM::Policy"
        Properties:
            PolicyDocument: |
                {
                    "Version": "2012-10-17",		 	 	 
                    "Statement": [
                        {
                            "Sid": "AllowAccessForSameResTag",
                            "Effect": "Allow",
                            "Action": [
                                "sqs:SendMessage",
                                "sqs:ReceiveMessage",
                                "sqs:DeleteMessage"
                            ],
                            "Resource": "*",
                            "Condition": {
                                "StringEquals": {
                                    "aws:ResourceTag/environment": "${aws:PrincipalTag/environment}"
                                }
                            }
                        },
                        {
                            "Sid": "AllowAccessForSameReqTag",
                            "Effect": "Allow",
                            "Action": [
                                "sqs:CreateQueue",
                                "sqs:DeleteQueue",
                                "sqs:SetQueueAttributes",
                                "sqs:tagqueue"
                            ],
                            "Resource": "*",
                            "Condition": {
                                "StringEquals": {
                                    "aws:RequestTag/environment": "${aws:PrincipalTag/environment}"
                                }
                            }
                        },
                        {
                            "Sid": "DenyAccessForProd",
                            "Effect": "Deny",
                            "Action": "sqs:*",
                            "Resource": "*",
                            "Condition": {
                                "StringEquals": {
                                    "aws:ResourceTag/stage": "prod"
                                }
                            }
                        }
                    ]
                }
                
            Users: 
              - "testUser"
            PolicyName: tagQueuePolicy

    IAMUser:
        Type: "AWS::IAM::User"
        Properties:
            Path: "/"
            UserName: "testUser"
            Tags: 
              - 
                Key: "environment"
                Value: "beta"
```