

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# IAM 사용자 및 Amazon SQS 대기열 생성
<a name="sqs-abac-creating-queues"></a>

다음 예제에서는 AWS Management Console 및를 사용하여 Amazon SQS에 대한 액세스를 제어하는 ABAC 정책을 생성하는 방법을 설명합니다 CloudFormation.

## 사용 AWS Management Console
<a name="sqs-abac-creating-queues-console"></a>

**IAM 사용자 생성**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) IAM 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **사용자**를 선택합니다.

1. **사용자 추가**를 선택하고 **사용자 이름** 텍스트 상자에 이름을 입력합니다.

1. **액세스 키 - 프로그래밍 방식 액세스**를 선택하고 **다음: 권한**을 선택합니다.

1. **다음: 태그**를 선택합니다.

1. 태그 키를 `environment`로 추가하고 태그 값을 `beta`로 추가합니다.

1. **다음: 검토**를 선택한 후 **사용자 생성**을 선택합니다.

1. 액세스 키 ID와 비밀 액세스 키를 복사하여 안전한 위치에 저장합니다.

**IAM 사용자 권한 추가**

1. 생성한 IAM 사용자를 선택합니다.

1. **인라인 정책 추가**를 선택합니다.

1. JSON 탭에 다음 정책을 붙여넣습니다.

1. **정책 검토**를 선택합니다.

1. **정책 생성**을 선택합니다.

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

다음 샘플 CloudFormation 템플릿을 사용하여 인라인 정책과 Amazon SQS 대기열이 연결된 IAM 사용자를 생성합니다.

```
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"
```