

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

# IAM 사용자 생성 시 알림 전송
<a name="send-a-notification-when-an-iam-user-is-created"></a>

*Mansi Suratwala, Sergiy Shevchenko, Amazon Web Services*

## 요약
<a name="send-a-notification-when-an-iam-user-is-created-summary"></a>

Amazon Web Services(AWS)에서는 이 패턴을 사용하여 AWS CloudFormation 템플릿을 배포하여 AWS Identity 및 Access Management(IAM) 사용자가 생성될 때 자동으로 알림을 받을 수 있습니다. 

IAM을 사용하면 AWS 서비스 및 리소스에 대한 액세스를 안전하게 관리할 수 있습니다. AWS 사용자 및 그룹을 만들고 관리하며 권한을 사용하여 AWS 리소스에 대한 해당 사용자 및 그룹의 액세스를 허용 및 거부할 수 있습니다.

CloudFormation 템플릿은 Amazon CloudWatch Events 이벤트 및 AWS Lambda 함수를 만듭니다. 이 이벤트는 AWS CloudTrail을 사용하여 AWS 계정에서 생성되는 IAM 사용자를 모니터링합니다. 사용자가 생성되면 CloudWatch Events 이벤트는 Lambda 함수를 시작합니다. 이 함수는 새 사용자 생성 이벤트를 알려주는 Amazon Simple Notification Service(SNS) 알림을 보냅니다.

## 사전 조건 및 제한 사항
<a name="send-a-notification-when-an-iam-user-is-created-prereqs"></a>

**사전 조건 **
+ 활성 상태의 AWS 계정
+ 생성 및 배포된 AWS CloudTrail 트레일

**제한 사항 **
+ AWS CloudFormation 템플릿은 `CreateUser`용으로만 배포되어야 합니다. 

## 아키텍처
<a name="send-a-notification-when-an-iam-user-is-created-architecture"></a>

**대상 기술 스택  **
+ IAM
+ AWS CloudTrail
+ Amazon CloudWatch Events
+ AWS Lambda
+ Amazon Simple Storage Service (S3)
+ Amazon SNS

**대상 아키텍처 **

![\[사용자부터 IAM, CloudTrail, CloudWatch Event, Lambda 및 S3 버킷까지 처리하며, SNS 이메일 알림으로 종료됩니다.\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/5487fbff-72e7-4da4-a970-a4542e89824d/images/c73532fd-8e95-45a5-843d-1864eb4df227.png)


**자동화 및 규모 조정**

여러 AWS 리전 및 계정에 대해 AWS CloudFormation 템플릿을 여러 번 사용할 수 있습니다. 각 리전 또는 계정에서 한 번만 실행해야 합니다. 여러 계정에 배포를 자동화하려면 [AWS CloudFormation StackSets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html)를 사용합니다. CloudFormation 템플릿은 각 계정에 필요한 모든 리소스를 배포할 수 있습니다.

## 도구
<a name="send-a-notification-when-an-iam-user-is-created-tools"></a>

**도구**
+ [IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)-AWS Identity 및 Access Management(IAM)는 AWS 리소스에 대한 사용자의 액세스를 안전하게 제어할 수 있게 지원하는 웹 서비스입니다. IAM을 사용하여 리소스를 사용하도록 인증(로그인) 및 권한 부여(권한 있음)된 대상을 제어합니다.
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)-AWS CloudFormation은 Amazon Web Services 리소스를 모델링하고 설정하여 리소스 관리 시간을 줄이고 AWS에서 실행되는 애플리케이션에 더 많은 시간을 사용하도록 해 주는 서비스입니다. 원하시는 모든 AWS 리소스를 설명하는 템플릿을 생성하면 CloudFormation이 해당 리소스의 프로비저닝과 구성을 담당합니다.
+ [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) – AWS CloudTrail은 AWS 계정의 거버넌스, 규정 준수, 운영 및 위험 감사 관리를 지원합니다. 사용자, 역할 또는 AWS 서비스가 수행하는 작업은 CloudTrail에 이벤트로 기록됩니다. 이벤트에는 AWS Management Console, Command Line Interface, AWS SDK 및 API에서 수행되는 작업이 포함됩니다.
+ [Amazon CloudWatch Events](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html)-Amazon CloudWatch Events는 AWS 리소스의 변경 사항을 설명하는 시스템 이벤트의 스트림을 거의 실시간으로 제공합니다. 
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)-AWS Lambda는 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스입니다. Lambda는 필요 시에만 코드를 실행하며, 일일 몇 개의 요청에서 초당 수천 개의 요청까지 자동으로 규모를 조정합니다. 
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) – Amazon Simple Storage Service(S3)는 인터넷에 대한 스토리지입니다. Amazon S3를 사용하면 인터넷을 통해 언제 어디서든 원하는 양의 데이터를 저장하고 검색할 수 있습니다.
+ [Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)-Amazon Simple Notification Service(SNS)은 Lambda, HTTP, 이메일, 모바일 푸시 알림 및 모바일 문자 메시지(SMS)를 사용하여 메시지를 전송하는 관리형 서비스입니다.

**코드 **

프로젝트의 .zip 파일은 첨부 파일로 제공됩니다.

## 에픽
<a name="send-a-notification-when-an-iam-user-is-created-epics"></a>

### Lambda 스크립트용 S3 버킷을 생성
<a name="create-the-s3-bucket-for-the-lambda-script"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| S3 버킷을 정의합니다. | Amazon S3 콘솔을 열고 S3 버킷을 선택하거나 생성합니다. 이 S3 버킷은 Lambda 코드 .zip 파일을 호스팅합니다. S3 버킷 이름에는 선행 슬래시를 포함할 수 없습니다. | 클라우드 아키텍트 | 

### Lambda 코드를 S3 버킷에 업로드
<a name="upload-the-lambda-code-to-the-s3-bucket"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| Lambda 코드를 업로드합니다. | *첨부 파일* 섹션에 제공된 Lambda 코드 .zip 파일을 사용자가 정의한 S3 버킷에 업로드합니다. | 클라우드 아키텍트 | 

### CloudFormation 템플릿 배포
<a name="deploy-the-cloudformation-template"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| CloudFormation 템플릿을 배포합니다. | CloudFormation 콘솔에서 이 패턴의 첨부 파일로 제공된 CloudFormation `createIAMuser.yaml` 템플릿을 배포합니다. 다음 에픽에서 템플릿 파라미터에 대한 값을 입력합니다. | 클라우드 아키텍트 | 

### CloudFormation 템플릿에서 파라미터 작성
<a name="complete-the-parameters-in-the-cloudformation-template"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| S3 버킷 이름을 제공합니다. | 첫 번째 에픽에서 생성하거나 선택한 S3 버킷의 이름을 입력합니다. | 클라우드 아키텍트 | 
| S3 키를 입력합니다. | S3 버킷의 Lambda 코드 .zip 파일 위치를 선행 슬래시 없이 입력합니다(예: `<directory>/<file-name>.zip`). | 클라우드 아키텍트 | 
| 이메일 주소를 입력합니다. | Amazon SNS 알림을 수신할 활성 이메일 주소를 입력합니다. | 클라우드 아키텍트 | 
| 로깅 수준을 정의합니다. | Lambda 함수의 로깅 수준 및 빈도를 정의합니다. `Info`는 애플리케이션 진행 상황에 대한 자세한 정보 메시지를 지정합니다. `Error`는 애플리케이션을 계속 실행할 수 있게 해주는 오류 이벤트를 지정합니다. `Warning`은 잠재적으로 유해한 상황을 지정합니다. | 클라우드 아키텍트 | 

### 구독 확인
<a name="confirm-the-subscription"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 구독을 확인합니다. | 템플릿이 성공적으로 배포되면 입력한 이메일 주소로 구독 이메일 메시지가 전송됩니다. 알림을 받으려면 이 이메일 구독을 확인해야 합니다. | 클라우드 아키텍트 | 

## 관련 리소스
<a name="send-a-notification-when-an-iam-user-is-created-resources"></a>
+ [추적 생성](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-a-trail-using-the-console-first-time.html?icmpid=docs_console_unmapped)
+ [S3 버킷 생성](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html)
+ [S3 버킷에 파일 업로드](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/upload-objects.html) 
+ [CloudFormation 템플릿 배포](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html)
+ [IAM 사용자 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html)
+ [AWS CloudTrail을 사용하여 AWS API 직접 호출에서 트리거되는 CloudWatch Events 규칙 생성](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/Create-CloudWatch-Events-CloudTrail-Rule.html)

## 첨부
<a name="attachments-5487fbff-72e7-4da4-a970-a4542e89824d"></a>

이 문서와 관련된 추가 콘텐츠에 액세스하려면 [attachment.zip](samples/p-attach/5487fbff-72e7-4da4-a970-a4542e89824d/attachments/attachment.zip) 파일의 압축을 풉니다.