

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

# Amazon EventBridge 및 AWS Identity and Access Management
<a name="eb-iam"></a>

Amazon EventBridge에 액세스하려면가 요청을 인증하는 데 사용할 AWS 수 있는 자격 증명이 필요합니다. 자격 증명에는 다른 AWS 리소스에서 이벤트 데이터를 검색하는 등 AWS 리소스에 액세스할 수 있는 권한이 있어야 합니다. 다음 단원에서는 리소스에 액세스할 수 있는지 대상을 제어하여 리소스를 보호할 수 있도록 [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) 및 EventBridge를 사용하는 방법에 대한 세부 정보를 제공합니다.

**Topics**
+ [Authentication](#eb-authentication)
+ [액세스 관리](#eb-access-control)
+ [Amazon EventBridge 리소스에 대한 액세스 권한 관리](eb-manage-iam-access.md)
+ [Amazon EventBridge에 대한 자격 증명 기반 정책(IAM 정책) 사용](eb-use-identity-based.md)
+ [Amazon EventBridge에 리소스 기반 정책 사용](eb-use-resource-based.md)
+ [Amazon EventBridge의 교차 서비스 혼동된 대리자 방지](cross-service-confused-deputy-prevention.md)
+ [Amazon EventBridge 스키마에 대한 리소스 기반 정책](eb-resource-based-schemas.md)
+ [Amazon EventBridge 권한 참조](eb-permissions-reference.md)
+ [Amazon EventBridge에서 IAM 정책 조건 사용](eb-use-conditions.md)
+ [에 대한 서비스 연결 역할 사용 EventBridge](using-service-linked-roles.md)

## Authentication
<a name="eb-authentication"></a>

다음 자격 증명 유형 중 AWS 하나로에 액세스할 수 있습니다.
+ **AWS 계정 루트 사용자** - 가입할 때 계정과 연결된 이메일 주소와 암호를 AWS제공합니다. 이는 *루트 자격 증명*이며 모든 AWS 리소스에 대한 완전한 액세스를 제공합니다.
**중요**  
보안상 *관리자*, 즉 계정에 대한 전체 권한이 있는 *IAM 사용자*를 만들 때에만 루트 자격 증명을 사용하는 것이 좋습니다. 그러면 이 관리자를 사용하여 제한된 권한이 있는 다른 사용자 및 역할을 만들 수 있습니다. 자세한 내용은 *IAM 사용 설명서*의 [IAM 모범 사례](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#create-iam-users) 및 [관리자 사용자 및 그룹 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) 단원을 참조하세요.
+ **IAM 사용자** – [IAM 사용자](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)는 특정 권한(예: EventBridge의 대상에 이벤트 데이터를 보낼 수 있는 권한)이 있는 계정 내의 자격 증명입니다. IAM 로그인 자격 증명을 사용하여 [AWS Management Console](https://console.aws.amazon.com/), [AWS 토론 포럼](https://forums.aws.amazon.com/) 또는 [AWS Support 센터](https://console.aws.amazon.com/support/home#/)와 같은 보안 AWS 웹 페이지에 로그인할 수 있습니다.

  로그인 보안 인증 정보 외에도 각 사용자마다 [액세스 키](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html)를 생성할 수도 있습니다. 프로그래밍 방식으로 AWS 서비스에 액세스하여 [ SDKs 중 하나를 통해](https://aws.amazon.com/tools/) 또는 [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/)를 사용하여 요청에 암호화 방식으로 서명할 때 이러한 키를 사용할 수 있습니다. AWS 도구를 사용하지 않으면 인바운드 API 요청을 인증하기 위한 프로토콜인 *서명 버전 4*를 사용하여 요청에 직접 서명해야 합니다. 요청 인증에 대한 자세한 내용은 *Amazon Web Services 일반 참조*의 [서명 버전 4 서명 프로세스](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)를 참조하십시오.
+ **IAM 역할** – [IAM 역할](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)은 계정에 만들 수 있는, 특정 권한을 지닌 또 하나의 IAM 자격 증명입니다. 이 역할은 *IAM 사용자*와 유사하지만 특정 개인과 연결되지 않습니다. IAM 역할을 사용하면 AWS 서비스 및 리소스에 액세스하기 위한 임시 액세스 키를 얻을 수 있습니다. 임시 보안 인증이 있는 IAM 역할은 다음과 같은 상황에서 유용합니다.
  + **페더레이션 사용자 액세스** - 사용자를 생성하는 대신의 자격 증명, 엔터프라이즈 사용자 디렉터리 또는 웹 자격 증명 공급자(IdP)를 사용할 수 Directory Service있습니다. 이를 *페더레이션 사용자*라고 합니다.는 사용자가 [자격 증명 공급자](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html)를 통해 액세스를 요청할 때 페더레이션 사용자에게 역할을 AWS 할당합니다. 페더레이션 사용자에 대한 자세한 내용은 *IAM 사용자 안내서*의 [페더레이션 사용자 및 역할](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_access-management.html#intro-access-roles)을 참조하세요.
  + **크로스 계정 액세스** – 계정의 IAM 역할을 사용하여 계정의 리소스에 액세스할 수 있는 권한을 다른 계정에 부여할 수 있습니다. 예제는 [IAM 사용 설명서의 자습서: IAM 역할을 사용하여 AWS 계정 간 액세스 권한 위임을 참조하세요](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html). ** 
  + **AWS 서비스 액세스** - 계정의 IAM 역할을 사용하여 계정의 리소스에 액세스할 수 있는 AWS 서비스 권한을 부여할 수 있습니다. 예를 들어, Amazon Redshift가 Amazon S3 버킷에 저장된 데이터를 Amazon Redshift 클러스터로 로드하도록 허용하는 역할을 생성할 수 있습니다. 자세한 내용은 *IAM 사용 설명서*의 [AWS 서비스에 대한 권한을 위임할 역할 생성을 참조하세요](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html).
  + **Amazon EC2에서 실행되는 애플리케이션** - EventBridge에 액세스해야 하는 Amazon EC2 애플리케이션의 경우 EC2 인스턴스에 액세스 키를 저장하거나 IAM 역할을 사용하여 임시 자격 증명을 관리할 수 있습니다. EC2 인스턴스에 AWS 역할을 할당하려면 인스턴스에 연결된 인스턴스 프로파일을 생성합니다. 인스턴스 프로파일에는 역할이 포함되어 있으며 EC2 인스턴스에서 실행되는 애플리케이션에 임시 자격 증명을 제공합니다. [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html)**자세한 정보는 IAM 사용 설명서의 Amazon EC2에서 실행되는 애플리케이션의 역할 사용하기를 참조하세요.

    

## 액세스 관리
<a name="eb-access-control"></a>

EventBridge 리소스를 생성하거나 액세스하려면 유효한 자격 증명과 권한이 모두 필요합니다. 예를 들어 AWS Lambda Amazon Simple Notification Service(Amazon SNS) 및 Amazon Simple Queue Service(Amazon SQS) 대상을 호출하려면 해당 서비스에 대한 권한이 있어야 합니다.

# Amazon EventBridge 리소스에 대한 액세스 권한 관리
<a name="eb-manage-iam-access"></a>

[자격 증명 기반](eb-use-identity-based.md) 또는 [리소스 기반](eb-use-resource-based.md) 정책을 사용하여 [규칙](eb-rules.md)이나 [이벤트](eb-events.md)와 같은 EventBridge 리소스에 대한 액세스를 관리합니다.

## EventBridge 리소스
<a name="eb-arn-format"></a>

EventBridge 리소스와 하위 리소스에는 고유한 Amazon 리소스 이름(ARN)이 연결됩니다. EventBridge의 ARN을 사용하여 이벤트 패턴을 생성합니다. ARNs에 대한 자세한 내용은의 [Amazon 리소스 이름(ARN) 및 AWS 서비스 네임스페이스](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)를 참조하세요*Amazon Web Services 일반 참조*.



EventBridge에서 리소스 작업을 위해 제공하는 작업 목록은 [Amazon EventBridge 권한 참조](eb-permissions-reference.md) 단원을 참조하세요.

**참고**  
의 대부분의 서비스는 콜론(`:`) 또는 슬래시(`/`)를 ARN에서 동일한 문자로 AWS 취급합니다. ARNs 그러나 EventBridge는 [이벤트 패턴](eb-event-patterns.md) 및 규칙에서 정확히 일치해야 합니다. 따라서 이벤트 패턴을 만들 때 일치시키려는 이벤트에서 ARN 구문이 일치하도록 정확한 ARN 문자를 사용해야 합니다.

다음 표에는 EventBridge 리소스가 나와 있습니다.


| 리소스 유형 | ARN 형식 | 
| --- | --- | 
|  아카이브  |  `arn:aws:events:region:account:archive/archive-name`  | 
|  다시 재생  |  `arn:aws:events:region:account:replay/replay-name`  | 
|  규칙  |  `arn:aws:events:region:account:rule/[event-bus-name]/rule-name`  | 
|  이벤트 버스  |  `arn:aws:events:region:account:event-bus/event-bus-name`  | 
|  모든 EventBridge 리소스  |  `arn:aws:events:*`  | 
|  지정한 리전에서 지정한 계정이 소유한 모든 EventBridge 리소스  |  `arn:aws:events:region:account:*`  | 

다음 예에서는 ARN을 사용하여 문에서 특정 규칙(*myRule*)을 나타내는 방법을 보여줍니다.

```
"Resource": "arn:aws:events:us-east-1:123456789012:rule/myRule"
```

특정 계정에 속하는 모든 규칙을 지정하려면 다음과 같이 별표(\$1) 와일드카드를 사용합니다.

```
"Resource": "arn:aws:events:us-east-1:123456789012:rule/*"
```

모든 리소스를 지정해야 하거나 특정 API 작업이 ARN을 지원하지 않는 경우 다음과 같이 `Resource` 요소에 별표(\$1) 와일드카드를 사용합니다.

```
"Resource": "*"
```

명령문 하나에 여러 리소스 또는 `PutTargets`을 지정하려면 다음과 같이 각 ARN을 쉼표로 구분합니다.

```
"Resource": ["arn1", "arn2"]
```

## 리소스 소유권
<a name="eb-understanding-resource-ownership"></a>

계정은 리소스를 누가 생성했든 상관없이 계정의 리소스를 소유합니다. 리소스 소유자는 *[보안 주체 엔터티](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html)*의 계정, 계정 루트 사용자, 리소스 생성 요청을 인증하는 IAM 사용자 또는 역할입니다. 다음 예제에서는 이러한 작동 방법을 설명합니다.
+ 계정의 루트 사용자 자격 증명을 사용하여 규칙을 생성하면, 계정이 EventBridge 리소스의 소유자가 됩니다.
+ 계정에 사용자를 생성하고 이 사용자에게 EventBridge 리소스를 생성할 수 있는 권한을 부여하면 해당 사용자는 EventBridge 리소스를 생성할 수 있습니다. 하지만 EventBridge 리소스는 사용자가 속한 계정이 소유합니다.
+ 계정에서 EventBridge 리소스를 생성할 권한이 있는 IAM 역할을 생성하는 경우, 해당 역할을 수임할 수 있는 사람은 누구나 EventBridge 리소스를 생성할 수 있습니다. 이 경우 역할이 속한 계정이 EventBridge 리소스를 소유합니다.

## 리소스 액세스 관리
<a name="eb-managing-access-resources"></a>

*권한 정책*은 누가 무엇에 액세스할 수 있는지를 나타냅니다. 다음 섹션에서는 권한 정책을 만드는 데 사용 가능한 옵션에 대해 설명합니다.

**참고**  
이 섹션에서는 EventBridge의 맥락에서 IAM을 사용하는 방법에 대해 설명하며, IAM 서비스에 대한 자세한 내용은 다루지 않습니다. IAM 설명서 전체 내용은 *IAM 사용 설명서*의 [IAM이란 무엇입니까?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)를 참조하세요. IAM 정책 구문 및 설명에 대한 자세한 내용은 *IAM 사용 설명서*의 [IAM 정책 참조](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) 단원을 참조하세요.

IAM 자격 증명에 연결된 정책을 *자격 증명 기반 정책*(IAM 정책)이라 하고, 리소스에 연결된 정책을 *리소스 기반 정책*이라고 합니다. EventBridge에서는 자격 증명 기반(IAM 정책)과 리소스 기반 정책을 모두 사용할 수 있습니다.

**Topics**
+ [자격 증명 기반 정책(IAM 정책)](#eb-identity-based-policies)
+ [리소스 기반 정책(IAM 정책)](#eb-resource-based-policies-overview)

### 자격 증명 기반 정책(IAM 정책)
<a name="eb-identity-based-policies"></a>

정책을 IAM ID에 연결할 수 있습니다. 예를 들면, 다음을 수행할 수 있습니다.
+ **계정 내 사용자 또는 그룹에 권한 정책 연결** – 사용자에게 Amazon CloudWatch 콘솔에서 규칙을 볼 수 있는 권한을 부여하려면 사용자가 속한 사용자 또는 그룹에 권한 정책을 연결하면 됩니다.
+ **역할에 정책 연결(교차 계정 권한 부여)** – ID 기반 권한 정책을 IAM 역할에 연결하여 교차 계정 권한을 부여할 수 있습니다. 예를 들어 계정 A의 관리자는 다음과 같이 다른 계정 B 또는 AWS 서비스에 교차 계정 권한을 부여하는 역할을 생성할 수 있습니다.

  1. 계정 A 관리자는 IAM 역할을 생성하고 계정 A의 리소스에 대한 권한을 부여하는 권한 정책을 역할에 연결합니다.

  1. 계정 A 관리자는 계정 B를 역할을 수임할 보안 주체로 식별하는 역할에 신뢰 정책을 연결합니다.

  1. 그런 다음 계정 B 관리자는 계정 B의 사용자에게 역할을 수임할 권한을 위임할 수 있습니다. 이렇게 하면 계정 B의 사용자가 계정 A의 리소스를 생성하거나 액세스할 수 있습니다. 신뢰 정책의 보안 주체는 AWS 역할을 수임하는 데 필요한 권한을 AWS 서비스에 부여하는 서비스 보안 주체일 수도 있습니다.

  IAM을 사용하여 권한을 위임하는 방법에 대한 자세한 내용은 *IAM 사용자 안내서*의 [액세스 관리](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)를 참조하세요.

특정 IAM 정책을 생성하여 계정의 사용자가 액세스할 수 있는 직접적 호출 및 리소스를 제한한 다음, 해당 정책을 사용자에게 연결합니다. IAM 역할 생성 방법 및 EventBridge용 IAM 정책 명령문 예제를 살펴보는 방법에 대한 자세한 내용은 [Amazon EventBridge 리소스에 대한 액세스 권한 관리](#eb-manage-iam-access) 단원을 참조하세요.

### 리소스 기반 정책(IAM 정책)
<a name="eb-resource-based-policies-overview"></a>

EventBridge에서 규칙이 실행되면 규칙과 연결된 모든 [대상이](eb-targets.md) 호출됩니다. 즉, AWS Lambda 함수를 호출하거나, Amazon SNS 주제에 게시하거나, 이벤트를 Amazon Kinesis 스트림으로 릴레이합니다. 소유하고 있는 리소스에 대해 API 직접 호출을 수행하려면 EventBridge가 해당되는 권한을 가지고 있어야 합니다. Lambda, Amazon SNS 및 Amazon SQS 리소스의 경우 EventBridge는 리소스 기반 정책을 사용합니다. Kinesis 스트림의 경우 EventBridge는 IAM 역할을 사용합니다.

IAM 역할을 생성하는 방법과 EventBridge에 대한 리소스 기반 정책 문 예시를 살펴보는 방법에 대한 자세한 내용은 [Amazon EventBridge에 리소스 기반 정책 사용](eb-use-resource-based.md) 단원을 참조하세요.

## 정책 요소 지정: 작업, 효과, 보안 주체
<a name="eb-actions-effects-principals"></a>

각 EventBridge 리소스에 대해 EventBridge는 일련의 API 작업을 정의합니다. 이러한 API 작업에 대한 권한을 부여하기 위해 EventBridge에서는 정책에서 지정할 수 있는 작업을 정의합니다. 일부 API 작업에서는 API 작업을 수행하기 위해 복수의 작업에 대한 권한이 필요합니다. 리소스 및 API 작업에 대한 자세한 내용은 [EventBridge 리소스](#eb-arn-format) 및 [Amazon EventBridge 권한 참조](eb-permissions-reference.md) 섹션을 참조하세요.

다음은 기본 정책 요소입니다.
+ **Resource** – Amazon 리소스 이름(ARN)을 사용하여 정책을 적용할 리소스를 식별합니다. 자세한 내용은 [EventBridge 리소스](#eb-arn-format) 단원을 참조하십시오.
+ **Action** - 키워드를 사용하여 허용 또는 거부할 리소스 작업을 식별합니다. 예를 들어 `events:Describe` 권한은 사용자에게 `Describe` 작업 수행을 허용합니다.
+ **Effect** – **허용** 또는 **거부**를 지정합니다. 리소스에 대한 액세스 권한을 부여(허용)하지 않는 경우, 액세스는 묵시적으로 거부됩니다. 한 리소스에 대한 액세스를 명시적으로 거부할 수도 있으며, 다른 정책에 따라 액세스 권한이 부여되더라도 사용자가 이 리소스에 액세스하지 못하도록 조치를 취합니다.
+ **Principal** – 자격 증명 기반 정책(IAM 정책)에서 정책이 연결되는 사용자는 암시적인 보안 주체입니다. 리소스 기반 정책의 경우, 사용자, 계정, 서비스 또는 권한의 수신자인 기타 개체를 지정합니다(리소스 기반 정책에만 해당).

IAM 정책 구문과 설명에 대한 자세한 내용은 *IAM User Guide*의 [IAM JSON Policy Reference](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)를 참조하세요.

EventBridge API 작업 및 해당 작업이 적용되는 리소스에 대한 자세한 내용은 [Amazon EventBridge 권한 참조](eb-permissions-reference.md) 섹션을 참조하세요.

## 정책에서 조건 지정
<a name="eb-policy-conditions"></a>

권한을 부여할 때 액세스 정책 언어를 사용하여 조건이 적용되는 조건을 지정할 수 있습니다. 예를 들어, 특정 날짜 이후에만 정책을 적용할 수 있습니다. 정책 언어에서의 조건 지정에 관한 자세한 내용은 *IAM 사용자 안내서*의 [조건](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)을 참조하세요.

조건을 표시하려면 미리 정의된 조건 키를 사용합니다. AWS 조건 키와 EventBridge 특정 키를 적절하게 사용할 수 있습니다. AWS 키의 전체 목록은 *IAM 사용 설명서*의 [사용 가능한 조건 키](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys)를 참조하세요. EventBridge 관련 키의 전체 목록은 [Amazon EventBridge에서 IAM 정책 조건 사용](eb-use-conditions.md) 단원을 참조하세요.

# Amazon EventBridge에 대한 자격 증명 기반 정책(IAM 정책) 사용
<a name="eb-use-identity-based"></a>

자격 증명 기반 정책은 IAM 자격 증명에 연결할 수 있는 권한 정책입니다.

## AWS EventBridge에 대한 관리형 정책
<a name="eb-managed-policies"></a>

AWS 는에서 생성하고 관리하는 독립 실행형 IAM 정책을 제공하여 많은 일반적인 사용 사례를 처리합니다 AWS. *관리형* 또는 미리 정의된 정책은 일반 사용 사례에 필요한 권한을 부여하므로 어떤 권한이 필요한지 조사할 필요가 없습니다. 자세한 내용은 *IAM 사용자 설명서*의 [AWS 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)을 참조하세요.

계정의 사용자에게 연결할 수 있는 다음 AWS 관리형 정책은 EventBridge에 고유합니다.
+ [**AmazonEventBridgeFullAccess**](#eb-full-access-policy) – EventBridge 파이프, EventBridge 스키마 및 EventBridge 스케줄러를 포함하여 EventBridge에 대한 전체 액세스 권한을 부여합니다.
+ [**AmazonEventBridgeReadOnlyAccess**](#eb-read-only-access-policy) – EventBridge 파이프, EventBridge 스키마 및 EventBridge 스케줄러를 포함하여 EventBridge에 대한 읽기 전용 액세스 권한을 부여합니다.

## AWS 관리형 정책: AmazonEventBridgeFullAccess
<a name="eb-full-access-policy"></a>

AmazonEventBridgeFullAccess 정책은 모든 EventBridge 작업을 사용할 수 있는 권한과 다음 권한을 부여합니다.
+ `iam:CreateServiceLinkedRole` – API 대상의 서비스 역할을 사용자 계정에 생성하려면 EventBridge에 이 권한이 필요합니다. 이 권한은 IAM 서비스에만 사용자 계정에서 API 대상의 역할을 생성할 수 있는 권한을 부여합니다.
+ `iam:PassRole` – EventBridge는 규칙의 대상을 간접 호출하기 위해 간접 호출 역할을 EventBridge에 전달하려면 이 권한이 필요합니다.
+ **Secrets Manager 권한** – EventBridge는 API 데스티네이션을 승인하기 위해 연결 리소스를 통해 보안 인증 정보를 제공할 때 계정의 비밀을 관리하기 위해 이러한 권한을 필요로 합니다.

이 정책의 권한을 보려면 *AWS 관리형 정책 참조*에서 [AmazonEventBridgeFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEventBridgeFullAccess.html)를 참조하세요.

## AWS 관리형 정책: AmazonEventBridgeReadOnlyAccess
<a name="eb-read-only-access-policy"></a>

AmazonEventBridgeReadOnlyAccess 정책은 모든 읽기 EventBridge 작업을 사용할 수 있는 권한을 부여합니다.

이 정책의 권한을 보려면 *AWS 관리형 정책 참조*에서 [AmazonEventBridgeReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEventBridgeReadOnlyAccess.html)를 참조하세요.

## AWS 관리형 정책: AmazonEventBridgeApiDestinationsServiceRolePolicy
<a name="api-destination-slr-policy"></a>

AmazonEventBridgeApiDestinationsServiceRolePolicy를 IAM 엔터티에 연결할 수 없습니다. 이 정책은 EventBridge 권한이 사용자를 대신하여 AWS Secrets Manager 리소스에 액세스할 수 있도록 허용하는 서비스 연결 역할에 연결됩니다.

이 정책의 권한을 보려면 *AWS 관리형 정책 참조*의 [AmazonEventBridgeApiDestinationsServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEventBridgeApiDestinationsServiceRolePolicy.html)를 참조하세요.

## AWS 관리형 정책: EventBridge 스키마
<a name="eb-schemas-access-policies"></a>

[스키마](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-schema.html)는 EventBridge로 전송되는 이벤트의 구조를 정의합니다. EventBridge는 AWS 서비스에서 생성되는 모든 이벤트에 대한 스키마를 제공합니다. EventBridge 스키마와 관련된 다음 AWS 관리형 정책을 사용할 수 있습니다.
+ [AmazonEventBridgeSchemasFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEventBridgeSchemasFullAccess.html)

  AmazonEventBridgeSchemasFullAccess 정책을 IAM 자격 증명에 연결할 수 있습니다.

  EventBridge 스키마에 대한 전체 액세스 권한을 제공합니다.
+ [AmazonEventBridgeSchemasReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEventBridgeSchemasReadOnlyAccess.html)

  AmazonEventBridgeSchemasReadOnlyAccess 정책을 IAM 자격 증명에 연결할 수 있습니다.

  EventBridge 스키마에 대한 읽기 전용 액세스 권한을 제공합니다.
+ [AmazonEventBridgeSchemasServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEventBridgeSchemasServiceRolePolicy.html)

  AmazonEventBridgeSchemasServiceRolePolicy를 IAM 엔터티에 연결할 수 없습니다. 이 정책은 EventBridge 스키마에서 생성한 관리형 규칙에 EventBridge 권한을 허용하는 서비스 연결 역할에 연결됩니다.

## AWS 관리형 정책: EventBridge 스케줄러
<a name="eb-scheduler-access-policies"></a>

Amazon EventBridge Scheduler는 하나의 중앙 관리형 서비스에서 작업을 생성, 실행 및 관리할 수 있는 서버리스 스케줄러입니다. EventBridge 스케줄러와 관련된 AWS 관리형 정책은 [AWS EventBridge 스케줄러 사용 설명서의 EventBridge 스케줄러에 대한 관리형 정책을](https://docs.aws.amazon.com/scheduler/latest/UserGuide/security_iam_id-based-policies.html#security_iam_id-based-policies-managed-policies) 참조하세요. *EventBridge *

## AWS 관리형 정책: EventBridge 파이프
<a name="eb-pipes-access-policies"></a>

EventBridge Pipes는 이벤트 소스를 대상에 연결합니다. 파이프는 이벤트 중심 아키텍처를 개발할 때 전문 지식 및 통합 코드의 필요성을 줄여줍니다. 이는 회사 애플리케이션 전반의 일관성을 보장하는 데 도움이 됩니다. EventBridge 파이프와 관련된 다음 AWS 관리형 정책을 사용할 수 있습니다.
+ [AmazonEventBridgePipesFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEventBridgePipesFullAccess.html)

  AmazonEventBridgePipesFullAccess 정책을 IAM 자격 증명에 연결할 수 있습니다.

  EventBridge Pipes에 대한 전체 액세스를 제공합니다.
**참고**  
이 정책은 `iam:PassRole`을 제공합니다. EventBridge에 간접 호출 역할을 전달하여 파이프를 생성하고 시작하려면 EventBridge 파이프에 이 권한이 필요합니다.
+ [AmazonEventBridgePipesReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEventBridgePipesReadOnlyAccess.html)

  AmazonEventBridgePipesReadOnlyAccess 정책을 IAM 자격 증명에 연결할 수 있습니다.

  EventBridge Pipes에 대한 읽기 전용 액세스를 제공합니다.
+ [AmazonEventBridgePipesOperatorAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEventBridgePipesOperatorAccess.html)

  AmazonEventBridgePipesOperatorAccess 정책을 IAM 자격 증명에 연결할 수 있습니다.

  EventBridge Pipes에 대한 읽기 전용 액세스 및 운영자(즉, 파이프 실행을 중지하고 시작하는 기능) 액세스를 제공합니다.

## AWS 관리형 정책에 대한 Amazon EventBridge 업데이트
<a name="eb-use-identity-based-awsmanpol-updates"></a>



이 서비스가 이러한 변경 사항을 추적하기 시작한 이후부터 EventBridge의 AWS 관리형 정책 업데이트에 대한 세부 정보를 봅니다. 이 페이지의 변경 사항에 관한 자동 알림을 받으려면 EventBridge 문서 기록 페이지에서 RSS 피드를 구독하세요.




| 변경 | 설명 | Date | 
| --- | --- | --- | 
|  [AmazonEventBridgeApiDestinationsServiceRolePolicy](#api-destination-slr-policy) – 업데이트된 정책  |  EventBridge는 Secrets Manager 작업에 대한 권한 범위를 동일한 계정으로 제한하도록 정책을 업데이트했습니다.  | 2025년 5월 29일 | 
|  [AmazonEventBridgeApiDestinationsServiceRolePolicy](#api-destination-slr-policy) – 업데이트된 정책  |  EventBridge는 Secrets Manager를 통해 암호화 및 AWS KMS 복호화 권한을 부여하도록 정책을 업데이트했습니다. 이렇게 하면 액세스 토큰 새로 고침이 필요한 경우 EventBridge가 새 OAuth 토큰 값으로 연결 보안 암호 리소스를 업데이트할 수 있습니다.  | 2025년 3월 28일 | 
|  [AmazonEventBridgeFullAccess](#eb-full-access-policy) – 업데이트된 정책  |  AWS GovCloud (US) Regions 만 다음 권한은 사용되지 않으므로 포함되지 않습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/eventbridge/latest/userguide/eb-use-identity-based.html)  | 2024년 5월 9일 | 
|  [AmazonEventBridgeSchemasFullAccess](#eb-schemas-access-policies) – 업데이트된 정책  |  AWS GovCloud (US) Regions 만 다음 권한은 사용되지 않으므로 포함되지 않습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/eventbridge/latest/userguide/eb-use-identity-based.html)  | 2024년 5월 9일 | 
|  [AmazonEventBridgePipesFullAccess](#eb-pipes-access-policies) – 새 정책이 추가됨  |  EventBridge는 EventBridge 파이프 사용에 대한 전체 권한에 대한 관리형 정책을 추가했습니다.  | 2022년 12월 1일 | 
|  [AmazonEventBridgePipesReadOnlyAccess](#eb-pipes-access-policies) – 새 정책이 추가됨  |  EventBridge는 EventBridge 파이프 정보 리소스를 볼 수 있는 권한에 대한 관리형 정책을 추가했습니다.  | 2022년 12월 1일 | 
|  [AmazonEventBridgePipesOperatorAccess](#eb-pipes-access-policies) – 새 정책이 추가됨  |  EventBridge는 EventBridge Pipes 정보를 볼 수 있는 권한과 파이프 실행을 시작하고 중지할 수 있는 권한에 대한 관리형 정책을 추가했습니다.  | 2022년 12월 1일 | 
|  [AmazonEventBridgeFullAccess](#eb-full-access-policy) – 기존 정책 업데이트  |  EventBridge는 EventBridge 파이프 기능을 사용하는 데 필요한 권한을 포함하도록 정책을 업데이트했습니다.  | 2022년 12월 1일 | 
|  [AmazonEventBridgeReadOnlyAccess](#eb-read-only-access-policy) – 기존 정책 업데이트  |  EventBridge는 EventBridge 파이프 정보 리소스를 보는 데 필요한 권한을 추가했습니다. 다음 작업이 추가되었습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/eventbridge/latest/userguide/eb-use-identity-based.html)  | 2022년 12월 1일 | 
|  [CloudWatchEventsReadOnlyAccess](#eb-read-only-access-policy) – 기존 정책 업데이트  |  AmazonEventBridgeReadOnlyAccess와 일치하도록 업데이트되었습니다.  | 2022년 12월 1일 | 
|  [CloudWatchEventsFullAccess](#eb-full-access-policy) – 기존 정책 업데이트  |  AmazonEventBridgeFullAccess와 일치하도록 업데이트되었습니다.  | 2022년 12월 1일 | 
|  [AmazonEventBridgeFullAccess](#eb-full-access-policy) – 기존 정책 업데이트  |  EventBridge는 스키마 및 스케줄러 기능을 사용하는 데 필요한 권한을 포함하도록 정책을 업데이트했습니다. 다음 권한이 추가되었습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/eventbridge/latest/userguide/eb-use-identity-based.html)  | 2022년 11월 10일 | 
|  [AmazonEventBridgeReadOnlyAccess](#eb-read-only-access-policy) – 기존 정책 업데이트  |  EventBridge는 스키마 및 스케줄러 정보 리소스를 보는 데 필요한 권한을 추가했습니다. 다음 작업이 추가되었습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/eventbridge/latest/userguide/eb-use-identity-based.html)  | 2022년 11월 10일 | 
|  [AmazonEventBridgeReadOnlyAccess](#eb-read-only-access-policy) – 기존 정책 업데이트  |  EventBridge는 엔드포인트 정보를 보는 데 필요한 권한을 추가했습니다. 다음 작업이 추가되었습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/eventbridge/latest/userguide/eb-use-identity-based.html)  | 2022년 4월 7일 | 
|  [AmazonEventBridgeReadOnlyAccess](#eb-read-only-access-policy) – 기존 정책 업데이트  |  EventBridge는 연결 및 API 대상 정보를 보는 데 필요한 권한을 추가했습니다. 다음 작업이 추가되었습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/eventbridge/latest/userguide/eb-use-identity-based.html)  | 2021년 3월 4일 | 
|  [AmazonEventBridgeFullAccess](#eb-full-access-policy) – 기존 정책 업데이트  |  EventBridge는 API 대상을 사용하는 데 필요한 `iam:CreateServiceLinkedRole` 및 AWS Secrets Manager 권한을 포함하도록 정책을 업데이트했습니다. 다음 작업이 추가되었습니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/eventbridge/latest/userguide/eb-use-identity-based.html)  | 2021년 3월 4일 | 
|  EventBridge에서 변경 사항 추적 시작  |  EventBridge가 AWS 관리형 정책에 대한 변경 사항 추적을 시작했습니다.  | 2021년 3월 4일 | 

# Amazon EventBridge의 대상으로 이벤트를 보내기 위한 IAM 역할
<a name="eb-events-iam-roles"></a>

이벤트를 대상으로 중계하려면 EventBridge에 IAM 역할이 필요합니다.

**EventBridge에 이벤트를 보내는 데 필요한 IAM 역할을 생성하는 방법**

1. IAM 콘솔([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/))을 엽니다.

1. IAM 역할을 생성하려면 *IAM 사용 설명서*의 [AWS 서비스에 대한 권한을 위임할 역할 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)의 단계를 따르세요. 단계를 따르면서 다음을 수행합니다.
   + **역할 이름**에 계정 내에서 고유한 이름을 사용합니다.
   + **역할 유형 선택**에서 **AWS 서비스 역할**을 선택한 후 **Amazon EventBridge**를 선택합니다. 이렇게 하면 역할을 수임할 EventBridge 권한이 부여됩니다.
   + **연결 정책**에서 **AmazonEventBridgeFullAccess**를 선택합니다.

EventBridge 작업 및 리소스에 대한 권한을 허용하는 고유의 맞춤 IAM 정책을 생성할 수도 있습니다. 해당 권한이 필요한 IAM 사용자 또는 그룹에 이러한 사용자 지정 정책을 연결할 수 있습니다. IAM 정책 작성에 대한 자세한 내용은 *IAM 사용 설명서*의 [IAM 정책 개요](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)를 참조하세요. 사용자 지정 IAM 정책 관리 및 생성에 대한 자세한 내용 *IAM 사용 설명서*에서 [IAM 정책 관리](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingPolicies.html)를 참조하세요.

## EventBridge가 IAM 역할을 사용하여 대상에 액세스하는 데 필요한 권한
<a name="eb-target-permissions"></a>

EventBridge 대상에는 일반적으로 대상을 간접 호출할 수 있는 권한을 EventBridge에 부여하는 IAM 역할이 필요합니다. 다음은 다양한 AWS 서비스 및 대상에 대한 몇 가지 예입니다. 다른 경우에는 EventBridge 콘솔을 사용하여 규칙을 생성하고 충분한 범위의 권한이 미리 구성된 정책으로 생성될 새 역할을 생성합니다.

Amazon SQS, Amazon SNS, Lambda, CloudWatch Logs 및 EventBridge 버스 대상은 역할을 사용하지 않으므로 리소스 정책을 통해 EventBridge에 대한 권한을 부여해야 합니다. API 게이트웨이 대상은 리소스 정책 또는 IAM 역할을 사용할 수 있습니다.

### API 데스티네이션
<a name="eb-target-permissions-apid"></a>

대상이 API 대상인 경우 지정한 역할에는 반드시 다음 스테이트먼트가 있는 정책이 포함되어야 합니다.
+ **효과**: `Allow`
+ **작업:** `events:InvokeApiDestination`
+ **리소스:** `arn:aws:events:*:*:api-destination/*`

### Kinesis 스트림
<a name="eb-target-permissions-kinesis"></a>

대상이 Kinesis 스트림이면 그 대상에게 이벤트 데이터를 전송하는 데 사용된 역할에 다음 스테이트먼트가 있는 정책이 포함되어야 합니다.
+ **효과**: `Allow`
+ **작업:** `kinesis:PutRecord`
+ **리소스:** `*`

### Systems Manager 실행 명령
<a name="eb-target-permissions-sys"></a>

대상이 Systems Manager 실행 명령이고 해당 명령에 하나 이상의 `InstanceIds` 값을 지정하는 경우에는 지정한 역할에 다음 정책이 반드시 포함되어야 합니다.
+ **효과**: `Allow`
+ **작업:** `ssm:SendCommand`
+ **리소스:** `arn:aws:ec2:us-east-1:accountId:instance/instanceIds`, `arn:aws:ssm:us-east-1:*:document/documentName` 

대상이 시스템 관리자 실행 명령이고 해당 명령에 하나 이상의 태그를 지정하는 경우에는 지정한 역할에 다음 두 작업이 있는 정책이 반드시 포함되어야 합니다.
+ **효과**: `Allow`
+ **작업:** `ssm:SendCommand`
+ **리소스:** `arn:aws:ec2::accountId:instance/*`
+ **조건:**

  ```
  "StringEquals": {
    "ec2:ResourceTag/*": [
      "[[tagValues]]"
    ]
  }
  ```

및:
+ **효과**: `Allow`
+ **작업:** `ssm:SendCommand`
+ **리소스:** `arn:aws:ssm:us-east-1:*:document/documentName`

### Step Functions 상태 시스템
<a name="eb-target-permissions-step-functions"></a>

대상이 AWS Step Functions 상태 시스템인 경우 지정하는 역할에 다음이 포함된 정책이 포함되어야 합니다.
+ **효과**: `Allow`
+ **작업:** `states:StartExecution`
+ **리소스:** `arn:aws:states:*:*:stateMachine:*`

### Amazon ECS 작업
<a name="eb-target-permissions-ec2"></a>

대상이 Amazon ECS 작업인 경우에는 지정한 역할에 다음 정책이 포함되어야 합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecs:RunTask"
            ],
            "Resource": [
                "arn:aws:ecs:*:111122223333:task-definition/task-definition-name"
            ],
            "Condition": {
                "ArnLike": {
                    "ecs:cluster": "arn:aws:ecs:*:111122223333:cluster/cluster-name"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "*"
            ],
            "Condition": {
                "StringLike": {
                    "iam:PassedToService": "ecs-tasks.amazonaws.com"
                }
            }
        }
    ]
}
```

------

다음 정책은 EventBridge의 기본 제공 대상이 사용자를 대신하여 Amazon EC2 작업을 수행합니다. AWS Management Console 를 사용하여 기본 제공 대상으로 규칙을 생성해야 합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "TargetInvocationAccess",
            "Effect": "Allow",
            "Action": [
                "ec2:Describe*",
                "ec2:RebootInstances",
                "ec2:StopInstances",
                "ec2:TerminateInstances",
                "ec2:CreateSnapshot"
            ],
            "Resource": "*"
        }
    ]
}
```

------

다음 정책은 EventBridge가 계정의 Kinesis 스트림으로 이벤트를 릴레이하도록 허용합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "KinesisAccess",
            "Effect": "Allow",
            "Action": [
                "kinesis:PutRecord"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## 고객 관리형 정책 예시: 태그를 사용하여 규칙에 대한 액세스 제어
<a name="eb-customer-managed-policies"></a>

다음 예에서는 EventBridge 작업에 대한 권한을 부여하는 사용자 정책을 보여줍니다. 이 정책은 EventBridge API, AWS SDKs 또는를 사용할 때 작동합니다 AWS CLI.

사용자에게 특정 EventBridge 규칙에 대한 액세스 권한을 부여하고 동시에 다른 규칙에는 액세스하지 못하게 할 수 있습니다. 이렇게 하려면 두 규칙 세트 모두에 태그를 지정한 다음 해당 태그를 참조하는 IAM 정책을 사용합니다. EventBridge 리소스 태깅에 대한 자세한 내용은 [Amazon EventBridge에서 리소스 태그 지정](eb-tagging.md) 단원을 참조하세요.

특정 태그가 있는 규칙에만 액세스할 수 있도록 사용자에게 IAM 정책에 대한 권한을 부여할 수 있습니다. 특정 태그로 규칙에 태그를 지정하여 액세스 권한을 부여할 규칙을 선택합니다. 예를 들어 다음 정책은 태그 키 `Stack`의 값이 `Prod`인 규칙에 대한 사용자 액세스 권한을 부여합니다.

```
{
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "events:*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/Stack": "Prod"
                }
            }
        }
    ]
}
```

IAM 정책 설명 사용에 대한 자세한 내용은 *IAM User Guide*의 [Controlling Access Using Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html)를 참조하세요.

# Amazon EventBridge에 리소스 기반 정책 사용
<a name="eb-use-resource-based"></a>

EventBridge에서 [규칙](eb-rules.md)이 실행되면 이 규칙과 연관된 모든 [대상](eb-targets.md)이 간접 호출됩니다. 규칙은 AWS Lambda 함수를 호출하거나, Amazon SNS 주제에 게시하거나, 이벤트를 Kinesis 스트림에 릴레이할 수 있습니다. 소유하고 있는 리소스에 대해 API 직접 호출을 수행하려면 EventBridge에 적절한 권한이 필요합니다. Lambda, Amazon SNS, Amazon SQS 및 Amazon CloudWatch Logs 리소스의 경우 EventBridge는 리소스 기반 정책을 사용합니다. Kinesis 스트림의 경우 EventBridge는 [자격 증명 기반](eb-use-identity-based.md) 정책을 사용합니다.

**중요**  
리소스 기반 정책(Lambda, Amazon SNS, Amazon SQS 및 Amazon CloudWatch Logs)을 사용하는 대상의 경우 대상 구성`RoleArn`에를 지정하지 마십시오. 이러한 대상 유형에 `RoleArn` 대해를 지정하면 이벤트 전송이 실패할 수 있으며, AWS KMS 암호화가 활성화된 Amazon SQS 및 Amazon SNS 대상의 경우 특히 그렇습니다. 이러한 대상에 대해서만 리소스 기반 정책을 사용합니다.

를 사용하여 대상 AWS CLI 에 권한을 추가합니다. 설치 및 구성 방법에 대한 자세한 내용은 *AWS Command Line Interface 사용 설명서*[의 시작하기 AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html)를 AWS CLI참조하세요.

**Topics**
+ [Amazon API Gateway 권한](#eb-api-gateway-permissions)
+ [CloudWatch Logs 권한](#eb-cloudwatchlogs-permissions)
+ [AWS Lambda 권한](#eb-lambda-permissions)
+ [Amazon SNS 권한](#eb-sns-permissions)
+ [Amazon SQS 권한](#eb-sqs-permissions)
+ [EventBridge 파이프 세부 사항](#eb-pipes-identity-diff)

## Amazon API Gateway 권한
<a name="eb-api-gateway-permissions"></a>

EventBridge 규칙을 사용하여 Amazon API Gateway 엔드포인트를 간접 호출하려면 API Gateway 엔드포인트의 정책에 다음 권한을 추가하세요.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "events.amazonaws.com"
            },
            "Action": "execute-api:Invoke",
            "Condition": {
                "ArnEquals": {
                "aws:SourceArn": "arn:aws:events:us-east-1:123456789012:rule/rule-name"
                }
            },
            "Resource": [
            "arn:aws:execute-api:us-east-1:123456789012:API-id/stage/GET/api"
            ]
        }
    ]
}
```

------

## CloudWatch Logs 권한
<a name="eb-cloudwatchlogs-permissions"></a>

CloudWatch Logs가 규칙의 대상인 경우 EventBridge는 로그 스트림을 생성하며 CloudWatch Logs는 이벤트의 텍스트를 로그 항목으로 저장합니다. EventBridge가 로그 스트림을 생성하고 이벤트를 기록하도록 허용하려면 CloudWatch Logs에 EventBridge가 CloudWatch Logs에 기록할 수 있도록 허용하는 리소스 기반 정책이 포함되어야 합니다.

 AWS Management Console 를 사용하여 CloudWatch Logs를 규칙의 대상으로 추가하면 리소스 기반 정책이 자동으로 생성됩니다. AWS CLI 를 사용하여 대상을 추가하고 정책이 아직 없는 경우 해당 대상을 생성해야 합니다.

다음 리소스 기반 정책 예제에서는 EventBridge가 이름이 로 시작하는 모든 로그 그룹에 쓸 수 있도록 허용합니다`/aws/events/`. 이러한 유형의 로그에 대해 다른 이름 지정 정책을 사용하는 경우 그에 따라 리소스 ARN을 조정합니다.

```
{
  "Effect": "Allow",
  "Principal": {
    "Service": [
      "events.amazonaws.com",
      "delivery.logs.amazonaws.com"
    ]
  },
  "Action": [
    "logs:CreateLogStream",
    "logs:PutLogEvents"
  ],
  "Resource": "arn:aws:logs:region:account-id:log-group:/aws/events/*:*"
}
```

**를 사용하여 CloudWatch Logs에 대한 리소스 정책을 생성하려면 AWS CLI**
+ 명령 프롬프트에서 다음 명령을 입력합니다.

  ```
  aws logs put-resource-policy --policy-name EventBridgeToCWLogsPolicy \
  --policy-document '{"Version":"2012-10-17",		 	 	 "Statement":[{"Effect":"Allow","Principal":{"Service":["events.amazonaws.com","delivery.logs.amazonaws.com"]},"Action":["logs:CreateLogStream","logs:PutLogEvents"],"Resource":"arn:aws:logs:region:account-id:log-group:/aws/events/*:*"}]}'
  ```

자세한 내용은 *CloudWatch Logs API 참조 가이드*에서 [PutResourcePolicy](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutResourcePolicy.html)를 참조하세요.

## AWS Lambda 권한
<a name="eb-lambda-permissions"></a>

EventBridge 규칙을 사용하여 AWS Lambda 함수를 호출하려면 Lambda 함수의 정책에 다음 권한을 추가합니다.

```
{
  "Effect": "Allow",
  "Action": "lambda:InvokeFunction",
  "Resource": "arn:aws:lambda:region:account-id:function:function-name",
  "Principal": {
    "Service": "events.amazonaws.com"
  },
  "Condition": {
    "ArnLike": {
      "AWS:SourceArn": "arn:aws:events:region:account-id:rule/rule-name"
    }
  },
  "Sid": "InvokeLambdaFunction"
}
```

**EventBridge가를 사용하여 Lambda 함수를 호출할 수 있도록 위의 권한을 추가하려면 AWS CLI**
+ 명령 프롬프트에서 다음 명령을 입력합니다.

  ```
  aws lambda add-permission --statement-id "InvokeLambdaFunction" \
  --action "lambda:InvokeFunction" \
  --principal "events.amazonaws.com" \
  --function-name "arn:aws:lambda:region:account-id:function:function-name" \
  --source-arn "arn:aws:events:region:account-id:rule/rule-name"
  ```

EventBridge가 Lambda 함수를 간접 호출할 수 있도록 하는 권한 설정에 대한 자세한 내용은 *AWS Lambda 개발자 안내서*의 [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html) 및[예약된 이벤트와 함께 Lambda 사용](https://docs.aws.amazon.com/lambda/latest/dg/with-scheduled-events.html)을 참조하세요.

## Amazon SNS 권한
<a name="eb-sns-permissions"></a>

EventBridge가 Amazon SNS 주제에 게시하도록 허용하려면 `aws sns get-topic-attributes` 및 `aws sns set-topic-attributes` 명령을 사용합니다.

**참고**  
EventBridge의 Amazon SNS 주제 정책에서는 `Condition` 블록을 사용할 수 없습니다.

**EventBridge가 SNS 주제를 게시하도록 허용하는 권한을 추가하려면**

1. SNS 주제의 속성을 나열하려면 다음 명령을 사용합니다.

   ```
   aws sns get-topic-attributes --topic-arn "arn:aws:sns:region:account-id:topic-name"
   ```

   다음 예제는 새 SNS 주제의 결과를 보여줍니다.

   ```
   {
       "Attributes": {
           "SubscriptionsConfirmed": "0", 
           "DisplayName": "", 
           "SubscriptionsDeleted": "0", 
           "EffectiveDeliveryPolicy": "{\"http\":{\"defaultHealthyRetryPolicy\":{\"minDelayTarget\":20,\"maxDelayTarget\":20,\"numRetries\":3,\"numMaxDelayRetries\":0,\"numNoDelayRetries\":0,\"numMinDelayRetries\":0,\"backoffFunction\":\"linear\"},\"disableSubscriptionOverrides\":false}}",
           "Owner": "account-id", 
           "Policy": "{\"Version\":\"2012-10-17\",		 	 	 \"Id\":\"__default_policy_ID\",\"Statement\":[{\"Sid\":\"__default_statement_ID\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"*\"},\"Action\":[\"SNS:GetTopicAttributes\",\"SNS:SetTopicAttributes\",\"SNS:AddPermission\",\"SNS:RemovePermission\",\"SNS:DeleteTopic\",\"SNS:Subscribe\",\"SNS:ListSubscriptionsByTopic\",\"SNS:Publish\"],\"Resource\":\"arn:aws:sns:region:account-id:topic-name\",\"Condition\":{\"StringEquals\":{\"AWS:SourceAccount\":\"account-id\"}}}]}", 
           "TopicArn": "arn:aws:sns:region:account-id:topic-name", 
           "SubscriptionsPending": "0"
       }
   }
   ```

1. [JSON-문자열 변환기](https://tools.knowledgewalls.com/jsontostring)를 사용하여 다음 명령문을 문자열로 변환합니다.

   ```
   {
     "Sid": "PublishEventsToMyTopic",
     "Effect": "Allow",
     "Principal": {
       "Service": "events.amazonaws.com"
     },
     "Action": "sns:Publish",
     "Resource": "arn:aws:sns:region:account-id:topic-name"
   }
   ```

   이 명령문이 문자열로 변환되면 다음 예시와 유사하게 화면에 나타납니다.

   ```
   {\"Sid\":\"PublishEventsToMyTopic\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"events.amazonaws.com\"},\"Action\":\"sns:Publish\",\"Resource\":\"arn:aws:sns:region:account-id:topic-name\"}
   ```

1. 이전 단계에서 만든 문자열을 `"Policy"` 속성 내 `"Statement"` 컬렉션에 추가합니다.

1. `aws sns set-topic-attributes` 명령을 사용하여 새 정책을 설정합니다.

   ```
   aws sns set-topic-attributes --topic-arn "arn:aws:sns:region:account-id:topic-name" \
   --attribute-name Policy \
   --attribute-value "{\"Version\":\"2012-10-17\",		 	 	 \"Id\":\"__default_policy_ID\",\"Statement\":[{\"Sid\":\"__default_statement_ID\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"*\"},\"Action\":[\"SNS:GetTopicAttributes\",\"SNS:SetTopicAttributes\",\"SNS:AddPermission\",\"SNS:RemovePermission\",\"SNS:DeleteTopic\",\"SNS:Subscribe\",\"SNS:ListSubscriptionsByTopic\",\"SNS:Publish\"],\"Resource\":\"arn:aws:sns:region:account-id:topic-name\",\"Condition\":{\"StringEquals\":{\"AWS:SourceAccount\":\"account-id\"}}}, {\"Sid\":\"PublishEventsToMyTopic\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"events.amazonaws.com\"},\"Action\":\"sns:Publish\",\"Resource\":\"arn:aws:sns:region:account-id:topic-name\"}]}"
   ```

자세한 내용은 *Amazon Simple Notification Service API 참조*의 [SetTopicAttributes](https://docs.aws.amazon.com/sns/latest/api/API_SetTopicAttributes.html) 작업을 참조하세요.

## Amazon SQS 권한
<a name="eb-sqs-permissions"></a>

EventBridge 규칙이 Amazon SQS 대기열을 간접 호출하도록 허용하려면 `aws sqs get-queue-attributes` 및 `aws sqs set-queue-attributes` 명령을 사용합니다.

SQS 대기열의 정책이 비어 있는 경우 먼저 정책을 생성한 다음 권한 설명을 추가할 수 있습니다. 새 SQS 대기열에는 빈 정책이 있습니다.

SQS 대기열에 이미 정책이 있는 경우 원본 정책을 복사하고 새 명령문과 결합하여 권한 설명을 추가해야 합니다.

**EventBridge 규칙이 SQS 대기열을 간접 호출하도록 허용하는 권한을 추가하려면**

1. SQS 대기열 속성을 나열하려면 명령 프롬프트에서 다음 명령을 입력합니다.

   ```
   aws sqs get-queue-attributes \
   --queue-url https://sqs.region.amazonaws.com/account-id/queue-name \
   --attribute-names Policy
   ```

1. 다음 명령문을 추가합니다.

   ```
   {
         "Sid": "AWSEvents_custom-eventbus-ack-sqs-rule_dlq_sqs-rule-target",
         "Effect": "Allow",
         "Principal": {
           "Service": "events.amazonaws.com"
         },
         "Action": "sqs:SendMessage",
         "Resource": "arn:aws:sqs:region:account-id:queue-name",
         "Condition": {
           "ArnEquals": {
             "aws:SourceArn": "arn:aws:events:region:account-id:rule/bus-name/rule-name"
           }
         }
       }
   ```

1. [JSON-문자열 변환기](https://tools.knowledgewalls.com/jsontostring)를 사용하여 앞의 명령문을 문자열로 변환합니다. 정책이 문자열로 변환되면 다음과 유사하게 화면에 나타납니다.

   ```
   {\"Sid\": \"EventsToMyQueue\", \"Effect\": \"Allow\", \"Principal\": {\"Service\": \"events.amazonaws.com\"}, \"Action\": \"sqs:SendMessage\", \"Resource\": \"arn:aws:sqs:region:account-id:queue-name\", \"Condition\": {\"ArnEquals\": {\"aws:SourceArn\": \"arn:aws:events:region:account-id:rule/rule-name\"}}
   ```

1. 다음 콘텐츠를 통해 `set-queue-attributes.json`이라는 파일을 생성합니다.

   ```
   {
       "Policy": "{\"Version\":\"2012-10-17\",		 	 	 \"Id\":\"arn:aws:sqs:region:account-id:queue-name/SQSDefaultPolicy\",\"Statement\":[{\"Sid\": \"EventsToMyQueue\", \"Effect\": \"Allow\", \"Principal\": {\"Service\": \"events.amazonaws.com\"}, \"Action\": \"sqs:SendMessage\", \"Resource\": \"arn:aws:sqs:region:account-id:queue-name\", \"Condition\": {\"ArnEquals\": {\"aws:SourceArn\": \"arn:aws:events:region:account-id:rule/rule-name\"}}}]}"
   }
   ```

1. 다음 명령과 같이 방금 생성한 `set-queue-attributes.json` 파일을 입력으로 사용하여 정책 속성을 설정합니다.

   ```
   aws sqs set-queue-attributes \
   --queue-url https://sqs.region.amazonaws.com/account-id/queue-name \
   --attributes file://set-queue-attributes.json
   ```

자세한 내용은 *Amazon Simple Queue Service 개발자 안내서*의 [Amazon SQS 정책 예](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSExamples.html)를 참조하세요.

## EventBridge 파이프 세부 사항
<a name="eb-pipes-identity-diff"></a>

EventBridge 파이프는 리소스 기반 정책을 지원하지 않으며 리소스 기반 정책 조건을 지원하는 API도 없습니다.

그러나 인터페이스 VPC 엔드포인트를 통해 파이프 액세스를 구성하는 경우 해당 VPC 엔드포인트는 EventBridge 파이프 APIs에 대한 액세스를 관리할 수 있는 리소스 정책을 지원합니다. 자세한 내용은 [인터페이스 VPC 엔드포인트에서 Amazon EventBridge 사용](eb-related-service-vpc.md) 섹션을 참조하세요.

# Amazon EventBridge의 교차 서비스 혼동된 대리자 방지
<a name="cross-service-confused-deputy-prevention"></a>

혼동된 대리자 문제는 작업을 수행할 권한이 없는 엔터티가 권한이 더 많은 엔터티에게 작업을 수행하도록 강요할 수 있는 보안 문제입니다. 에서 AWS교차 서비스 가장은 혼동된 대리자 문제를 초래할 수 있습니다. 교차 서비스 가장은 한 서비스(*직접 호출하는 서비스*)가 다른 서비스(*직접 호출되는 서비스*)를 직접 호출할 때 발생할 수 있습니다. 직접 호출하는 서비스는 다른 고객의 리소스에 대해 액세스 권한이 없는 방식으로 작동하게 권한을 사용하도록 조작될 수 있습니다. 이를 방지하기 위해 AWS 에서는 계정의 리소스에 대한 액세스 권한이 부여된 서비스 위탁자를 사용하여 모든 서비스에 대한 데이터를 보호하는 데 도움이 되는 도구를 제공합니다.

Amazon EventBridge가 리소스에 다른 서비스를 제공하는 권한을 제한하려면 리소스 정책에서 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) 및 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) 글로벌 조건 컨텍스트 키를 사용하는 것이 좋습니다. 하나의 리소스만 교차 서비스 액세스와 연결되도록 허용하려는 경우 `aws:SourceArn`을 사용하세요. 해당 계정의 모든 리소스가 교차 서비스 사용과 연결되도록 허용하려는 경우 `aws:SourceAccount`을(를) 사용합니다.

혼동된 대리자 문제로부터 보호하는 가장 효과적인 방법은 리소스의 전체 ARN이 포함된 `aws:SourceArn` 전역 조건 컨텍스트 키를 사용하는 것입니다. 리소스의 전체 ARN을 모르거나 여러 리소스를 지정하는 경우, ARN의 알 수 없는 부분에 대해 와일드카드 문자(`*`)를 포함한 `aws:SourceArn` 글로벌 조건 컨텍스트 키를 사용합니다. 예를 들어 `arn:aws:servicename:*:123456789012:*`입니다.

만약 `aws:SourceArn` 값에 Amazon S3 버킷 ARN과 같은 계정 ID가 포함되어 있지 않은 경우, 권한을 제한하려면 두 글로벌 조건 컨텍스트 키를 모두 사용해야 합니다.

## 이벤트 버스
<a name="cross-service-confused-deputy-prevention-eb-bus"></a>

EventBridge 이벤트 버스 규칙 대상의 경우 `aws:SourceArn`의 값은 규칙 ARN이어야 합니다.

다음 예는 EventBridge에서 `aws:SourceArn` 및 `aws:SourceAccount` 글로벌 조건 컨텍스트 키를 사용하여 혼동된 대리자 문제를 방지하는 방법을 보여줍니다. 이 예는 EventBridge 규칙에서 사용하는 역할에 대한 역할 신뢰 정책에 사용하기 위한 것입니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Sid": "ConfusedDeputyPreventionExamplePolicy",
        "Effect": "Allow",
        "Principal": {
            "Service": "events.amazonaws.com"
        },
        "Action": "sts:AssumeRole",
        "Condition": {
            "ArnLike": {
                "aws:SourceArn": "arn:aws:events:*:123456789012:rule/myRule"
            },
            "StringEquals": {
                "aws:SourceAccount": "123456789012"
            }
        }
    }
}
```

------

## EventBridge Pipes
<a name="cross-service-confused-deputy-prevention-eb-pipes"></a>

EventBridge 파이프의 경우 `aws:SourceArn`의 값은 파이프 ARN이어야 합니다.

다음 예는 EventBridge에서 `aws:SourceArn` 및 `aws:SourceAccount` 글로벌 조건 컨텍스트 키를 사용하여 혼동된 대리자 문제를 방지하는 방법을 보여줍니다. 이 예는 EventBridge 파이프에서 사용하는 역할에 대한 역할 신뢰 정책에 사용하기 위한 것입니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Sid": "ConfusedDeputyPreventionExamplePolicy",
        "Effect": "Allow",
        "Principal": {
            "Service": "pipes.amazonaws.com"
        },
        "Action": "sts:AssumeRole",
        "Condition": {
            "ArnLike": {
                "aws:SourceArn": "arn:aws:pipes:*:123456789012:pipe/example"
            },
            "StringEquals": {
                "aws:SourceAccount": "123456789012"
            }
        }
    }
}
```

------

# Amazon EventBridge 스키마에 대한 리소스 기반 정책
<a name="eb-resource-based-schemas"></a>

EventBridge [스키마 레지스트리](eb-schema-registry.md)는 [리소스 기반 정책](eb-use-resource-based.md)을 지원합니다. *리소스 기반 정책*은 IAM 자격 증명이 아니라 리소스에 연결된 정책입니다. 예를 들어 Amazon Simple Storage Service(S3)에서 리소스 정책은 Amazon S3 버킷에 연결됩니다. 

EventBridge 스키마 및 리소스 기반 정책에 대한 자세한 내용은 다음을 참조하세요.
+ [Amazon EventBridge 스키마 REST API 참조](https://docs.aws.amazon.com/eventbridge/latest/schema-reference/what-is-eventbridge-schemas.html)
+ IAM 사용 설명서의 [자격 증명 기반 정책 및 리소스 기반 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html)

## 리소스 기반 정책을 위한 지원되는 API
<a name="eb-resource-supported-apis"></a>

EventBridge 스키마 레지스트리에 대한 리소스 기반 정책과 함께 다음 API를 사용할 수 있습니다.
+ `DescribeRegistry`
+ `UpdateRegistry`
+ `DeleteRegistry`
+ `ListSchemas`
+ `SearchSchemas`
+ `DescribeSchema`
+ `CreateSchema`
+ `DeleteSchema`
+ `UpdateSchema`
+ `ListSchemaVersions`
+ `DeleteSchemaVersion`
+ `DescribeCodeBinding`
+ `GetCodeBindingSource`
+ `PutCodeBinding`

## 지원되는 모든 작업을 AWS 계정에 부여하는 정책 예제
<a name="eb-resource-policy-account-all"></a>

EventBridge 스키마 레지스트리의 경우 항상 리소스 기반 정책을 레지스트리에 연결해야 합니다. 스키마에 대한 액세스 권한을 부여하려면 정책에서 스키마 ARN과 레지스트리 ARN을 지정합니다.

EventBridge 스키마에서 사용 가능한 모든 API에 대한 액세스 권한을 사용자에게 부여하려면 다음과 유사한 정책을 사용하여 액세스 권한을 부여하려는 계정의 계정 ID로 `"Principal"`을 대체하세요.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Test",
            "Effect": "Allow",
            "Action": [
                "schemas:*"
            ],
            "Principal": {
                "AWS": [
                    "109876543210" 
                ]
            },
            "Resource": [
                "arn:aws:schemas:us-east-1:012345678901:registry/default",
                "arn:aws:schemas:us-east-1:012345678901:schema/default*"
            ]
        }
    ]
}
```

------

## AWS 계정에 읽기 전용 작업을 부여하는 정책 예제
<a name="eb-resource-policy-account-read"></a>

다음 예시에서는 EventBridge 스키마에 대한 읽기 전용 API에 대해서만 계정에 액세스 권한을 부여합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Test",
            "Effect": "Allow",
            "Action": [
                "schemas:DescribeRegistry",
                "schemas:ListSchemas",
                "schemas:SearchSchemas",
                "schemas:DescribeSchema",
                "schemas:ListSchemaVersions",
                "schemas:DescribeCodeBinding",
                "schemas:GetCodeBindingSource"
            ],
            "Principal": {
                "AWS": [
                    "109876543210"
                ]
            },
            "Resource": [
                "arn:aws:schemas:us-east-1:012345678901:registry/default",
                "arn:aws:schemas:us-east-1:012345678901:schema/default*"
            ]
        }
    ]
}
```

------

## 조직에 모든 작업을 부여하는 정책 예시
<a name="eb-resource-policy-org"></a>

EventBridge 스키마 레지스트리와 함께 리소스 기반 정책을 사용하여 조직에 액세스 권한을 부여할 수 있습니다. 자세한 내용은 [AWS Organizations 사용 설명서](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)를 참조하십시오. 다음 예시에서는 ID가 `o-a1b2c3d4e5`인 조직에 스키마 레지스트리에 대한 액세스 권한을 부여합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Test",
            "Effect": "Allow",
            "Action": [
                "schemas:*"
            ],
            "Principal": "*",
            "Resource": [
                "arn:aws:schemas:us-east-1:012345678901:registry/default",
                "arn:aws:schemas:us-east-1:012345678901:schema/default*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:PrincipalOrgID": [
                        "o-a1b2c3d4e5"
                    ]
                }
            }
        }
    ]
}
```

------

# Amazon EventBridge 권한 참조
<a name="eb-permissions-reference"></a>





EventBridge 정책에서 작업을 지정하려면 다음 예와 같이 `events:` 접두사 다음에 API 작업 이름을 사용합니다.

```
"Action": "events:PutRule"
```

명령문 하나에 여러 작업을 지정하려면 다음과 같이 쉼표로 구분합니다.

```
"Action": ["events:action1", "events:action2"]
```

여러 작업을 지정하려면 와일드카드를 사용할 수도 있습니다. 예를 들어 다음과 같이 `"Put"`이라는 단어로 시작되는 모든 작업을 지정할 수 있습니다.

```
"Action": "events:Put*"
```

모든 EventBridge API 작업을 지정하려면 다음과 같이 `*` 와일드카드를 사용합니다.

```
"Action": "events:*"
```

다음 표에는 IAM 정책에서 지정할 수 있는 EventBridge API 작업 및 해당 작업이 나열되어 있습니다.


| EventBridge API 작업 | 필수 권한 | 설명 | 
| --- | --- | --- | 
|  [DeleteRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DeleteRule.html)  |  `events:DeleteRule`  |  규칙을 삭제하는 데 필요합니다.  | 
|  [DescribeEventBus](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeEventBus.html)  |  `events:DescribeEventBus`  |  현재 계정의 이벤트 버스에 이벤트를 기록할 수 있는 계정을 나열해야 합니다.  | 
|  [DescribeRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeRule.html)  |  `events:DescribeRule`  |  규칙에 대한 세부 사항을 나열하는 데 필요합니다.  | 
|  [DisableRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DisableRule.html)  |  `events:DisableRule`  |  규칙을 비활성화하는 데 필요합니다.  | 
|  [EnableRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_EnableRule.html)  |  `events:EnableRule`  |  규칙을 활성화하는 데 필요합니다.  | 
|  [ListRuleNamesByTarget](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_ListRuleNamesByTarget.html)  |  `events:ListRuleNamesByTarget`  |  대상과 연관된 규칙을 나열하는 데 필요합니다.  | 
|  [ListRules](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_ListRules.html)  |  `events:ListRules`  |  계정에서 모든 그룹을 나열하는 데 필요합니다.  | 
|  [ListTagsForResource](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_ListTagsForResource.html)  |  `events:ListTagsForResource`  |  EventBridge 리소스와 연결된 모든 태그를 나열하는 데 필요합니다. 현재는 규칙에만 태그를 지정할 수 있습니다.  | 
|  [ListTargetsByRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_ListTargetsByRule.html)  |  `events:ListTargetsByRule`  |  규칙과 연관된 모든 대상을 나열하는 데 필요합니다.  | 
|  [PutEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html)  |  `events:PutEvents`  |  규칙에 일치시킬 수 있는 사용자 지정 이벤트를 추가하는 데 필요합니다.  | 
|  [PutPermission](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutPermission.html)  |  `events:PutPermission`  |  이 계정의 기본 이벤트 버스에 이벤트를 기록할 수 있는 계정 권한을 하나 더 부여해야 합니다.  | 
|  [PutRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutRule.html)  |  `events:PutRule`  |  규칙을 생성 또는 업데이트하는 데 필요합니다.  | 
|  [PutTargets](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutTargets.html)  |  `events:PutTargets`  |  규칙에 대상을 추가하는 데 필요합니다.  | 
|  [RemovePermission](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RemovePermission.html)  |  `events:RemovePermission`  |  이 계정의 기본 이벤트 버스에 이벤트를 기록할 수 있는 다른 계정의 권한을 취소해야 합니다.  | 
|  [RemoveTargets](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RemoveTargets.html)  |  `events:RemoveTargets`  |  규칙에서 대상을 제거하는 데 필요합니다.  | 
|  [TestEventPattern](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_TestEventPattern.html)  |  `events:TestEventPattern`  |  특정 이벤트를 기준으로 이벤트 패턴을 테스트하는 데 필요합니다.  | 

# Amazon EventBridge에서 IAM 정책 조건 사용
<a name="eb-use-conditions"></a>

권한을 부여하려면 정책 설명에서 IAM 정책 언어를 사용하여 정책이 적용되는 조건을 지정합니다. 예를 들어 특정 날짜 이후에만 적용되는 정책이 있을 수 있습니다.

정책 조건은 키-값 페어로 구성됩니다. 조건 키에는 대/소문자가 구분되지 않습니다.

단일 조건에 여러 조건이나 키를 지정하는 경우 EventBridge가 권한을 부여하려면 모든 조건 및 키를 충족해야 합니다. 조건 하나에서 키 하나에 여러 값을 지정하면 EventBridge는 값 중 하나가 충족되면 권한을 부여합니다.

조건을 지정할 때 자리 표시자나 *정책 변수*를 사용할 수 있습니다. 자세한 내용은 *IAM 사용 설명서*에서 [정책 변수](https://docs.aws.amazon.com/IAM/latest/UserGuide/policyvariables.html)를 참조하십시오. IAM 정책 언어에서의 조건 지정에 관한 자세한 내용은 *IAM 사용 설명서*의 [조건](https://docs.aws.amazon.com/IAM/latest/UserGuide/AccessPolicyLanguage_ElementDescriptions.html#Condition)을 참조하세요.

기본적으로 IAM 사용자와 역할은 계정의 [이벤트](eb-events.md)에 전혀 액세스할 수 없습니다. 이벤트에 액세스하려면 `PutRule` API 작업에 대해 허가를 받아야 합니다. IAM 사용자 또는 역할에 `events:PutRule` 작업에 대한 권한이 부여되면 특정 이벤트와 일치하는 [규칙](eb-rules.md)을 생성할 수 있습니다. 그러나 규칙이 유용하려면 사용자에게 `events:PutTargets` 작업에 대한 권한도 있어야 합니다. 규칙이 CloudWatch 지표 게시하는 것 이상의 작업을 수행하도록 하려면 규칙에 [대상](eb-targets.md)도 추가해야 하기 때문입니다.

사용자나 역할이 특정한 소스 세트 및 세부 유형에만 일치하는 규칙을 생성할 수 있도록 IAM 사용자 또는 역할의 정책 명령문에 조건을 제공할 수 있습니다. 특정 소스 및 유형의 이벤트에 대한 액세스 권한을 부여하려면 `events:source` 및 `events:detail-type` 조건 키를 사용하세요.

사용자나 역할이 계정의 특정 리소스에만 일치하는 규칙을 생성할 수 있도록 IAM 사용자 또는 역할의 정책 명령문에 조건을 제공할 수 있습니다. 특정 리소스에 대한 액세스 권한을 부여하려면 `events:TargetArn` 조건 키를 사용하세요.

## EventBridge 조건 키
<a name="conditions-table"></a>

다음 표에는 EventBridge의 정책에서 사용할 수 있는 조건 키와 키-값 페어가 나와 있습니다.


| 조건 키 | 키-값 페어: | 평가 유형 | 
| --- | --- | --- | 
|  aws:SourceAccount  |  `aws:SourceArn`에서 지정한 규칙이 존재하는 계정입니다.  |  계정 ID, Null  | 
|  aws:SourceArn  |  이벤트를 전송하는 규칙의 ARN입니다.  |  ARN, Null  | 
|  events:creatorAccount  |  `"events:creatorAccount":"creatorAccount"` *creatorAccount*의 경우 규칙을 생성한 계정의 계정 ID를 사용합니다. 이 조건을 사용하면 특정 계정의 규칙에 대한 API 직접 호출을 승인할 수 있습니다.  |  creatorAccount, Null  | 
|  events:detail-type  |  `"events:detail-type":"detail-type "` 여기서 *detail-type*은 `"AWS API Call via CloudTrail"` 및 `"EC2 Instance State-change Notification"`과 같은 이벤트의 **detail-type** 필드에 대한 리터럴 문자열입니다.  |  세부 유형, Null  | 
|  events: detail.eventTypeCode  |  `"events:detail.eventTypeCode":"eventTypeCode"` *eventTypeCode*의 경우 이벤트의 **detail.eventTypeCode** 필드에 대한 리터럴 문자열(예: `"AWS_ABUSE_DOS_REPORT"`)을 사용합니다.  |  eventTypeCode, Null  | 
|  events: detail.service  |  `"events:detail.service":"service"` *service*는 이벤트의 **detail.service** 필드에 대한 리터럴 문자열(예: `"ABUSE"`)을 사용합니다.  |  service, Null  | 
|  events: detail.userIdentity.principalId  |  `"events:detail.userIdentity.principalId":"principal-id"` *principal-id*의 경우 `"AROAIDPPEZS35WEXAMPLE:AssumedRoleSessionName."`과 같은 detail-type `"AWS API Call via CloudTrail"`이 있는 이벤트의 **detail.userIdentity.principalId** 필드에 리터럴 문자열을 사용합니다.  |  보안 주체 ID, Null  | 
|  events:eventBusInvocation  |  `"events:eventBusInvocation":"boolean"` *boolean*의 경우 규칙이 다른 계정의 이벤트 버스인 대상으로 이벤트를 보내는 경우 true를 사용합니다. `PutEvents` API 직접 호출을 사용할 때는 false를 사용하세요.  |  eventBusInvocation, Null  | 
|  events:ManagedBy  |   AWS 서비스에서 내부적으로 사용합니다. 사용자를 대신하여 AWS 서비스에서 생성한 규칙의 경우 값은 규칙을 생성한 서비스의 보안 주체 이름입니다.  |  고객 정책에 사용할 수 없습니다.  | 
|  events:source  |  `"events:source":"source "` `"aws.ec2"` 또는 `"aws.s3"` 같은 이벤트의 소스 필드를 위한 리터럴 문자열에 *source*를 사용합니다. *source*에 사용 가능한 값을 더 보려면 [AWS 서비스의 이벤트](eb-events.md#eb-service-event) 단원에서 예제 이벤트를 참조하세요.  |  소스, Null  | 
|  events:TargetArn  |  `"events:TargetArn":"target-arn "` 예를 들어 *target-arn*의 경우 대상의 ARN을 규칙에 사용합니다(예: `"arn:aws:lambda:*:*:function:*"`).  |  ArrayOfARN, Null  | 

EventBridge용 예제 정책 명령문은 [Amazon EventBridge 리소스에 대한 액세스 권한 관리](eb-manage-iam-access.md) 단원을 참조하세요.

**Topics**
+ [EventBridge 조건 키](#conditions-table)
+ [EventBridge 파이프 세부 사항](#eb-pipes-condition-diff)
+ [예: `creatorAccount` 조건 사용](#eb-events-creator-account)
+ [예: `eventBusInvocation` 조건 사용](#eb-events-bus-invocation)
+ [예제: 특정 소스에 대한 액세스 제한](#eb-events-limit-access-control)
+ [예제: 이벤트 패턴에서 개별적으로 사용할 수 있는 소스를 여러 개 정의](#eb-events-pattern-sources)
+ [예제: 소스가 이벤트 패턴에 정의되어 있는지 확인](#eb-source-defined-events-pattern)
+ [예제: 소스가 여러 개인 이벤트 패턴에서 허용되는 소스의 목록을 정의](#eb-allowed-sources-events-pattern)
+ [예: `detail.service`에 의한 `PutRule` 액세스 제한](#eb-limit-rule-by-service)
+ [예: `detail.eventTypeCode`에 의한 `PutRule` 액세스 제한](#eb-limit-rule-by-type-code)
+ [예: 특정의 API 호출에 대한 AWS CloudTrail 이벤트만 `PrincipalId` 허용되는지 확인](#eb-consume-specific-events)
+ [예제: 대상에 대한 액세스 제한](#eb-limiting-access-to-targets)

## EventBridge 파이프 세부 사항
<a name="eb-pipes-condition-diff"></a>

EventBridge 파이프는 추가 IAM 정책 조건 키를 지원하지 않습니다.

## 예: `creatorAccount` 조건 사용
<a name="eb-events-creator-account"></a>

다음 예제 정책 설명은 정책에서 `creatorAccount` 조건을 사용하여 `creatorAccount`로 지정된 계정이 규칙을 만든 계정인 경우에만 규칙을 만들도록 허용하는 방법을 보여줍니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowPutRuleForOwnedRules",
            "Effect": "Allow",
            "Action": "events:PutRule",
            "Resource": "*",
            "Condition": {
                "StringEqualsIfExists": {
                    "events:creatorAccount": "${aws:PrincipalAccount}"
                }
            }
        }
    ]
}
```

------

## 예: `eventBusInvocation` 조건 사용
<a name="eb-events-bus-invocation"></a>

`eventBusInvocation`는 간접 호출이 교차 계정 대상에서 시작되었는지 아니면 `PutEvents` API 요청에서 시작되었는지를 나타냅니다. 대상이 다른 계정의 이벤트 버스인 경우와 같이 교차 계정 대상이 포함된 규칙에서 간접 호출이 발생한 경우 이 값은 **true**입니다. `PutEvents` API 요청으로 인한 간접 호출 결과인 경우 이 값은 **false**입니다. 다음 예는 교차 계정 대상으로부터의 간접 호출을 나타냅니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowCrossAccountInvocationEventsOnly",
      "Effect": "Allow",
      "Action": "events:PutEvents",
      "Resource": "*",
      "Condition": {
        "BoolIfExists": {
          "events:eventBusInvocation": "true"
        }
      }
    }
  ]
}
```

------

## 예제: 특정 소스에 대한 액세스 제한
<a name="eb-events-limit-access-control"></a>

다음은 IAM 사용자에게 연결할 수 있는 정책의 예제입니다. 정책 A는 모든 이벤트에서 `PutRule` API 작업을 허용하는 반면, 정책 B는 생성 중인 규칙의 이벤트 패턴이 Amazon EC2 이벤트와 일치하는 경우에만 `PutRule`을 허용합니다.

**정책 A: 모든 이벤트 허용**

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowPutRuleForAllEvents",
            "Effect": "Allow",
            "Action": "events:PutRule",
            "Resource": "*"
        }
    ]
    }
```

------

**정책 B: —Amazon EC2의 이벤트만 허용** 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
    "Sid": "AllowPutRuleForAllEC2Events",
    "Effect": "Allow",
    "Action": "events:PutRule",
    "Resource": "*",
    "Condition": {
    "ForAllValues:StringEquals": {
    "events:source": "aws.ec2"
    }
    }
    }
    ]
    }
```

------

`EventPattern`은 `PutRule`에 대한 필수 인수입니다. 따라서 정책 B의 사용자가 다음과 같은 이벤트 패턴을 통해 `PutRule`을 호출하는 경우에는

```
{
    "source": [ "aws.ec2" ]
}
```

정책이 이러한 특정 소스(예: `"aws.ec2"`)를 허용하기 때문에 규칙을 생성할 수 있습니다. 그러나 정책 B를 사용하는 사용자가 다음과 같은 이벤트 패턴으로 `PutRule`을 호출하면 정책이 이 특정 소스(즉, `"aws.s3"`)를 허용하지 않으므로 규칙 생성이 거부됩니다.

```
{
    "source": [ "aws.s3" ]
}
```

기본적으로 정책 B의 사용자만 Amazon EC2에서 호출된 이벤트와 일치하는 규칙을 생성할 수 있습니다. 따라서 이들만 Amazon EC2에서 이벤트 액세스가 허용됩니다.

정책 A와 정책 B를 비교하려면 다음 표를 참고하십시오.


| 이벤트 패턴 | 정책 A에서 허용 | 정책 B에서 허용 | 
| --- | --- | --- | 
|  <pre>{<br />    "source": [ "aws.ec2" ]<br />}</pre>  |  예  |  예  | 
|  <pre>{<br />    "source": [ "aws.ec2", "aws.s3" ]<br />}</pre>  |  예  |  아니요(소스 aws.s3이 허용되지 않음)  | 
|  <pre>{<br />    "source": [ "aws.ec2" ],<br />    "detail-type": [ "EC2 Instance State-change Notification" ]<br />}</pre>  |  예  |  예  | 
|  <pre>{<br />    "detail-type": [ "EC2 Instance State-change Notification" ]<br />}</pre>  |  예  |  아니요(소스를 지정해야 함)  | 

## 예제: 이벤트 패턴에서 개별적으로 사용할 수 있는 소스를 여러 개 정의
<a name="eb-events-pattern-sources"></a>

다음 정책은 IAM 사용자 또는 역할이 `EventPattern`의 소스가 Amazon EC2 또는 Amazon ECS인 규칙을 생성할 수 있도록 허용합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
    "Sid": "AllowPutRuleIfSourceIsEC2OrECS",
    "Effect": "Allow",
    "Action": "events:PutRule",
    "Resource": "*",
    "Condition": {
    "ForAllValues:StringEquals": {
    "events:source": [
    "aws.ec2",
    "aws.ecs"
    ]
    }
    }
    }
    ]
    }
```

------

다음 표에는 이 정책에서 허용 또는 거부되는 이벤트 패턴의 몇 가지 예를 보여줍니다.


| 이벤트 패턴 | 정책에서 허용 | 
| --- | --- | 
|  <pre>{<br />    "source": [ "aws.ec2" ]<br />}</pre>  |  예  | 
|  <pre>{<br />    "source": [ "aws.ecs" ]<br />}</pre>  |  예  | 
|  <pre>{<br />    "source": [ "aws.s3" ]<br />}</pre>  |  아니요  | 
|  <pre>{<br />    "source": [ "aws.ec2", "aws.ecs" ]<br />}</pre>  |  아니요  | 
|  <pre>{<br />    "detail-type": [ "AWS API Call via CloudTrail" ]<br />}</pre>  |  아니요  | 

## 예제: 소스가 이벤트 패턴에 정의되어 있는지 확인
<a name="eb-source-defined-events-pattern"></a>

다음 정책은 사용자가 소스 필드가 있는 `EventPatterns`으로 규칙만 생성하도록 허용합니다. 이 정책을 사용하면 IAM 사용자나 역할은 특정 소스를 제공하지 않는 `EventPattern`으로는 규칙을 생성할 수 없습니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowPutRuleIfSourceIsSpecified",
            "Effect": "Allow",
            "Action": "events:PutRule",
            "Resource": "*",
            "Condition": {
                "Null": {
                    "events:source": "false"
                }
            }
        }
    ]
}
```

------

다음 표에는 이 정책에서 허용 또는 거부되는 이벤트 패턴의 몇 가지 예를 보여줍니다.


| 이벤트 패턴 | 정책에서 허용 | 
| --- | --- | 
|  <pre>{<br />    "source": [ "aws.ec2" ],<br />    "detail-type": [ "EC2 Instance State-change Notification" ]<br />}</pre>  |  예  | 
|  <pre>{<br />    "source": [ "aws.ecs", "aws.ec2" ]<br />}</pre>  |  예  | 
|  <pre>{<br />    "detail-type": [ "EC2 Instance State-change Notification" ]<br />}</pre>  |  아니요  | 

## 예제: 소스가 여러 개인 이벤트 패턴에서 허용되는 소스의 목록을 정의
<a name="eb-allowed-sources-events-pattern"></a>

다음 정책은 사용자가 여러 소스가 포함된 `EventPatterns`으로 규칙을 생성하는 것을 허용합니다. 이벤트 패턴의 각 소스는 해당 조건에서 제공되는 목록의 구성원이어야 합니다. `ForAllValues` 조건을 사용할 때는 이 조건의 항목 중 적어도 하나가 반드시 정의되어 있어야 합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowPutRuleIfSourceIsSpecifiedAndIsEitherS3OrEC2OrBoth",
            "Effect": "Allow",
            "Action": "events:PutRule",
            "Resource": "*",
            "Condition": {
                "ForAllValues:StringEquals": {
                    "events:source": [ "aws.ec2", "aws.s3" ]
                },
                "Null": {
                    "events:source": "false"
                }
            }
        }
    ]
}
```

------

다음 표에는 이 정책에서 허용 또는 거부되는 이벤트 패턴의 몇 가지 예를 보여줍니다.


| 이벤트 패턴 | 정책에서 허용 | 
| --- | --- | 
|  <pre>{<br />    "source": [ "aws.ec2" ]<br />}</pre>  |  예  | 
|  <pre>{<br />    "source": [ "aws.ec2", "aws.s3" ]<br />}</pre>  |  예  | 
|  <pre>{<br />    "source": [ "aws.ec2", "aws.autoscaling" ]<br />}</pre>  |  아니요  | 
|  <pre>{<br />    "detail-type": [ "EC2 Instance State-change Notification" ]<br />}</pre>  |  아니요  | 

## 예: `detail.service`에 의한 `PutRule` 액세스 제한
<a name="eb-limit-rule-by-service"></a>

IAM 사용자 또는 역할에 대해 `events:details.service` 필드에 특정 값이 있는 이벤트에 대해서만 규칙을 생성하도록 제한할 수 있습니다. 의 값이 반드시 AWS 서비스의 이름이 `events:details.service` 아닐 수도 있습니다.

이 정책 조건은 보안 또는 침해와 관련된의 이벤트를 작업 AWS Health 할 때 유용합니다. 이 정책 조건을 사용하면 이러한 기밀 경보에 대한 액세스를, 해당 경보를 볼 필요가 있는 사용자로만 제한할 수 있습니다.

예를 들어 다음 정책은 `events:details.service` 값이 `ABUSE`인 경우에만 이벤트에 대한 규칙 생성을 허용합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowPutRuleEventsWithDetailServiceEC2",
            "Effect": "Allow",
            "Action": "events:PutRule",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "events:detail.service": "ABUSE"
                }
            }
        }
    ]
}
```

------

## 예: `detail.eventTypeCode`에 의한 `PutRule` 액세스 제한
<a name="eb-limit-rule-by-type-code"></a>

IAM 사용자 또는 역할에 대해 `events:details.eventTypeCode` 필드에 특정 값이 있는 이벤트에 대해서만 규칙을 생성하도록 제한할 수 있습니다. 이 정책 조건은 보안 또는 침해와 관련된의 이벤트를 작업 AWS Health 할 때 유용합니다. 이 정책 조건을 사용하면 이러한 기밀 경보에 대한 액세스를, 해당 경보를 볼 필요가 있는 사용자로만 제한할 수 있습니다.

 예를 들어 다음 정책은 `events:details.eventTypeCode` 값이 `AWS_ABUSE_DOS_REPORT`인 경우에만 이벤트에 대한 규칙 생성을 허용합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowPutRuleEventsWithDetailServiceEC2",
            "Effect": "Allow",
            "Action": "events:PutRule",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "events:detail.eventTypeCode": "AWS_ABUSE_DOS_REPORT"
                }
            }
        }
    ]
}
```

------

## 예: 특정의 API 호출에 대한 AWS CloudTrail 이벤트만 `PrincipalId` 허용되는지 확인
<a name="eb-consume-specific-events"></a>

모든 AWS CloudTrail 이벤트에는 이벤트 `detail.userIdentity.principalId` 경로에서 API 호출을 수행한 사용자의 PrincipalId가 있습니다. `events:detail.userIdentity.principalId` 조건 키를 사용하여 IAM 사용자나 역할이 특정 계정에서 들어오는 호출에 대한 CloudTrail 이벤트만 액세스할 수 있도록 제한할 수 있습니다.

```
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowPutRuleOnlyForCloudTrailEventsWhereUserIsASpecificIAMUser",
            "Effect": "Allow",
            "Action": "events:PutRule",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "events:detail-type": [ "AWS API Call via CloudTrail" ],
                    "events:detail.userIdentity.principalId": [ "AIDAJ45Q7YFFAREXAMPLE" ]
                }
            }
        }
    ]
}
```

다음 표에는 이 정책에서 허용 또는 거부되는 이벤트 패턴의 몇 가지 예를 보여줍니다.


| 이벤트 패턴 | 정책에서 허용 | 
| --- | --- | 
|  <pre>{<br />    "detail-type": [ "AWS API Call via CloudTrail" ]<br />}</pre>  |  아니요  | 
|  <pre>{<br />    "detail-type": [ "AWS API Call via CloudTrail" ],<br />    "detail.userIdentity.principalId": [ "AIDAJ45Q7YFFAREXAMPLE" ]<br />}</pre>  |  예  | 
|  <pre>{<br />    "detail-type": [ "AWS API Call via CloudTrail" ],<br />    "detail.userIdentity.principalId": [ "AROAIDPPEZS35WEXAMPLE:AssumedRoleSessionName" ]<br />}</pre>  |  아니요  | 

## 예제: 대상에 대한 액세스 제한
<a name="eb-limiting-access-to-targets"></a>

IAM 사용자나 역할이 `events:PutTargets` 권한을 가지고 있는 경우에는 동일한 계정을 가진 모든 대상을 액세스를 허용하는 규칙에 추가할 수 있습니다. 다음 정책은 사용자가 특정 규칙(`123456789012` 계정 하의 `MyRule`)에만 대상을 추가하도록 제한합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowPutTargetsOnASpecificRule",
            "Effect": "Allow",
            "Action": "events:PutTargets",
            "Resource": "arn:aws:events:us-east-1:123456789012:rule/MyRule"
        }
    ]
}
```

------

규칙에 추가할 수 있는 대상을 제한하려면 `events:TargetArn` 조건 키를 사용합니다. 다음 예제에서와 같이 Lambda 함수로만 대상을 제한할 수 있습니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowPutTargetsOnASpecificRuleAndOnlyLambdaFunctions",
            "Effect": "Allow",
            "Action": "events:PutTargets",
            "Resource": "arn:aws:events:us-east-1:123456789012:rule/rule-name",
            "Condition": {
            "ForAnyValue:ArnLike": {
                    "events:TargetArn": "arn:aws:lambda:*:*:function:*"
                }
            }
        }
    ]
}
```

------

# 에 대한 서비스 연결 역할 사용 EventBridge
<a name="using-service-linked-roles"></a>

Amazon EventBridge 는 AWS Identity and Access Management (IAM) [서비스 연결 역할을](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) 사용합니다. 서비스 연결 역할은 직접 연결된 고유한 유형의 IAM 역할입니다 EventBridge. 서비스 연결 역할은에서 사전 정의 EventBridge 하며 서비스가 사용자를 대신하여 다른 AWS 서비스를 호출하는 데 필요한 모든 권한을 포함합니다.

필요한 권한을 수동으로 추가할 필요가 없으므로 서비스 연결 역할을 더 EventBridge 쉽게 설정할 수 있습니다.는 서비스 연결 역할의 권한을 EventBridge 정의하며, 달리 정의되지 않은 한 만 해당 역할을 수임 EventBridge 할 수 있습니다. 정의된 권한에는 신뢰 정책과 권한 정책이 포함되며 이 권한 정책은 다른 IAM 엔터티에 연결할 수 없습니다.

먼저 관련 리소스를 삭제한 후에만 서비스 연결 역할을 삭제할 수 있습니다. 이렇게 하면 EventBridge 리소스에 대한 액세스 권한을 실수로 제거할 수 없기 때문에 리소스가 보호됩니다.

서비스 연결 역할을 지원하는 다른 서비스에 대한 자세한 내용은 [AWS IAM으로 작업하는 서비스를](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) 참조하고 **서비스 연결 역할** 열에서 **예**인 서비스를 찾습니다. 해당 서비스에 대한 서비스 연결 역할 설명서를 보려면 **예** 링크를 선택합니다.

# 역할을 사용하여 EventBridge에서 API 데스티네이션의 보안 암호 생성
<a name="using-service-linked-roles-service-action-1"></a>

다음 주제에서는 ****AWSServiceRoleForAmazonEventBridgeApiDestinations**** 서비스 연결 역할의 사용법을 자세히 설명합니다.

## 에 대한 서비스 연결 역할 권한 EventBridge
<a name="service-linked-role-permissions-service-action-1"></a>

EventBridge 는 ****AWSServiceRoleForAmazonEventBridgeApiDestinations****라는 서비스 연결 역할을 사용합니다.에서 생성한 Secrets Manager 보안 암호에 대한 액세스를 활성화합니다 EventBridge.

**AWSServiceRoleForAmazonEventBridgeApiDestinations** 서비스 연결 역할은 역할을 수임하기 위해 다음 서비스를 신뢰합니다.
+ `apidestinations.events.amazonaws.com`

**AmazonEventBridgeApiDestinationsServiceRolePolicy**라는 역할 권한 정책은가 지정된 리소스에서 다음 작업을 완료 EventBridge 하도록 허용합니다.
+ 작업: `secrets created for all connections by EventBridge`에 대한 `create, describe, update and delete secrets; get and put secret values`

사용자, 그룹 또는 역할이 서비스 연결 역할을 생성, 편집 또는 삭제할 수 있도록 사용 권한을 구성해야 합니다. 자세한 내용은 *IAM 사용 설명서*의 [서비스 연결 역할 권한](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)을 참조하세요.

## 에 대한 서비스 연결 역할 생성 EventBridge
<a name="create-service-linked-role-service-action-1"></a>

서비스 연결 역할은 수동으로 생성할 필요가 없습니다. AWS Management Console, AWS CLI또는 AWS API에서 연결을 생성하면 EventBridge 가 서비스 연결 역할을 생성합니다.

**중요**  
 이러한 서비스 연결 역할은 해당 역할이 지원하는 기능을 사용하는 다른 서비스에서 작업을 완료했을 경우 계정에 나타날 수 있습니다. EventBridge 서비스 연결 역할을 지원하기 시작한 2021년 2월 11일 이전에 서비스를 사용 중이었다면에서 계정에 **AWSServiceRoleForAmazonEventBridgeApiDestinations** 역할을 EventBridge 생성했습니다. 자세한 내용은 [내에 표시되는 새 역할을 참조하세요 AWS 계정](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared).

이 서비스 연결 역할을 삭제했다가 다시 생성해야 하는 경우 동일한 프로세스를 사용하여 계정에서 역할을 다시 생성할 수 있습니다. 연결을 생성하면가 서비스 연결 역할을 다시 EventBridge 생성합니다.

## 에 대한 서비스 연결 역할 편집 EventBridge
<a name="edit-service-linked-role-service-action-1"></a>

EventBridge 에서는 **AWSServiceRoleForAmazonEventBridgeApiDestinations** 서비스 연결 역할을 편집할 수 없습니다. 서비스 연결 역할을 생성한 후에는 다양한 개체가 역할을 참조할 수 있기 때문에 역할 이름을 변경할 수 없습니다. 하지만 IAM을 사용하여 역할의 설명을 편집할 수 있습니다. 자세한 내용은 *IAM 사용 설명서*의 [서비스 연결 역할 편집](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)을 참조하세요.

## 에 대한 서비스 연결 역할 삭제 EventBridge
<a name="delete-service-linked-role-service-action-1"></a>

서비스 연결 역할이 필요한 기능 또는 서비스가 더 이상 필요 없는 경우에는 해당 역할을 삭제하는 것이 좋습니다. 따라서 적극적으로 모니터링하거나 유지하지 않는 미사용 엔터티가 없도록 합니다. 단, 서비스 연결 역할을 정리해야 수동으로 삭제할 수 있습니다.

### 서비스 연결 역할을 정리
<a name="service-linked-role-review-before-delete-service-action-1"></a>

IAM을 사용하여 서비스 연결 역할을 삭제하기 전에 먼저 역할에서 사용되는 리소스를 삭제해야 합니다.

**참고**  
리소스를 삭제하려고 할 때 EventBridge 서비스가 역할을 사용하는 경우 삭제에 실패할 수 있습니다. 이 문제가 발생하면 몇 분 기다렸다가 작업을 다시 시도하세요.

****AWSServiceRoleForAmazonEventBridgeApiDestinations**에서 사용하는 EventBridge 리소스를 삭제하려면(콘솔)**

1. Amazon EventBridge 콘솔([https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/))을 엽니다.

1. **통합**에서 **API 데스티네이션**을 선택한 다음, **연결** 탭을 선택합니다.

1. 연결을 선택한 다음, **삭제**를 선택합니다.

****AWSServiceRoleForAmazonEventBridgeApiDestinations**(AWS CLI)에서 사용하는 EventBridge 리소스를 삭제하려면**
+ `[delete-connection](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/delete-connection.html)` 명령을 사용합니다.

****AWSServiceRoleForAmazonEventBridgeApiDestinations**(API)에서 사용하는 EventBridge 리소스를 삭제하려면**
+ `[DeleteConnection](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DeleteConnection.html)` 명령을 사용합니다.

### 수동으로 서비스 연결 역할 삭제
<a name="slr-manual-delete-service-action-1"></a>

IAM 콘솔 AWS CLI, 또는 AWS API를 사용하여 **AWSServiceRoleForAmazonEventBridgeApiDestinations** 서비스 연결 역할을 삭제합니다. 자세한 내용은 IAM 사용 설명서의 [서비스 연결 역할 삭제](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)**를 참조하십시오.

## EventBridge 서비스 연결 역할에 지원되는 리전
<a name="slr-regions-service-action-1"></a>

EventBridge 는 서비스를 사용할 수 있는 모든 리전에서 서비스 연결 역할 사용을 지원합니다. 자세한 내용은 [AWS 리전 및 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html) 섹션을 참조하세요.

# Amazon EventBridge에서 스키마 검색에 역할 사용
<a name="using-service-linked-roles-service-action-2"></a>

다음 주제에서는 ****AWSServiceRoleForSchemas**** 서비스 연결 역할의 사용법을 자세히 설명합니다.

## 에 대한 서비스 연결 역할 권한 EventBridge
<a name="service-linked-role-permissions-service-action-2"></a>

EventBridge 는 ****AWSServiceRoleForSchemas****라는 서비스 연결 역할을 사용합니다. Amazon EventBridge 는 스키마에서 생성한 관리형 규칙에 권한을 부여합니다.

**AWSServiceRoleForSchemas** 서비스 연결 역할은 역할을 수임하기 위해 다음 서비스를 신뢰합니다.
+ `schemas.amazonaws.com`

****AmazonEventBridgeSchemasServiceRolePolicy****라는 역할 권한 정책은가 지정된 리소스에서 다음 작업을 완료 EventBridge 하도록 허용합니다.
+ 작업: `all managed rules created by EventBridge`에 대한 `put, enable, disable, and delete rules; put and remove targets; list targets per rule`

사용자, 그룹 또는 역할이 서비스 연결 역할을 생성, 편집 또는 삭제할 수 있도록 사용 권한을 구성해야 합니다. 자세한 내용은 *IAM 사용 설명서*의 [서비스 연결 역할 권한](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)을 참조하세요.

## 에 대한 서비스 연결 역할 생성 EventBridge
<a name="create-service-linked-role-service-action-2"></a>

서비스 연결 역할은 수동으로 생성할 필요가 없습니다. AWS Management Console, AWS CLI또는 AWS API EventBridge 에서 스키마 검색을 수행하면가 서비스 연결 역할을 생성합니다.

**중요**  
 이러한 서비스 연결 역할은 해당 역할이 지원하는 기능을 사용하는 다른 서비스에서 작업을 완료했을 경우 계정에 나타날 수 있습니다. EventBridge 서비스 연결 역할을 지원하기 시작한 2019년 11월 27일 이전에 서비스를 사용 중이었다면에서 계정에 **AWSServiceRoleForSchemas** 역할을 EventBridge 생성했습니다. 자세한 내용은 [내에 표시되는 새 역할을 참조하세요 AWS 계정](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared).

이 서비스 연결 역할을 삭제했다가 다시 생성해야 하는 경우 동일한 프로세스를 사용하여 계정에서 역할을 다시 생성할 수 있습니다. 스키마 검색을 수행하면가 서비스 연결 역할을 다시 EventBridge 생성합니다.

## 에 대한 서비스 연결 역할 편집 EventBridge
<a name="edit-service-linked-role-service-action-2"></a>

EventBridge 에서는 **AWSServiceRoleForSchemas** 서비스 연결 역할을 편집할 수 없습니다. 서비스 연결 역할을 생성한 후에는 다양한 개체가 역할을 참조할 수 있기 때문에 역할 이름을 변경할 수 없습니다. 하지만 IAM을 사용하여 역할의 설명을 편집할 수 있습니다. 자세한 내용은 *IAM 사용 설명서*의 [서비스 연결 역할 편집](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)을 참조하세요.

## 에 대한 서비스 연결 역할 삭제 EventBridge
<a name="delete-service-linked-role-service-action-2"></a>

서비스 연결 역할이 필요한 기능 또는 서비스가 더 이상 필요 없는 경우에는 해당 역할을 삭제하는 것이 좋습니다. 따라서 적극적으로 모니터링하거나 유지하지 않는 미사용 엔터티가 없도록 합니다. 단, 서비스 연결 역할을 정리해야 수동으로 삭제할 수 있습니다.

### 서비스 연결 역할을 정리
<a name="service-linked-role-review-before-delete-service-action-2"></a>

IAM을 사용하여 서비스 연결 역할을 삭제하기 전에 먼저 역할에서 사용되는 리소스를 삭제해야 합니다.

**참고**  
리소스를 삭제하려고 할 때 EventBridge 서비스가 역할을 사용하는 경우 삭제에 실패할 수 있습니다. 이 문제가 발생하면 몇 분 기다렸다가 작업을 다시 시도하세요.

****AWSServiceRoleForSchemas**에서 사용하는 EventBridge 리소스를 삭제하려면(콘솔)**

1. Amazon EventBridge 콘솔([https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/))을 엽니다.

1. **버스**에서 **이벤트 버스**를 선택한 다음, 이벤트 버스를 선택합니다.

1. **검색 중지**를 선택합니다.

****AWSServiceRoleForSchemas**에서 사용하는 EventBridge 리소스를 삭제하려면(AWS CLI)**
+ `[delete-discoverer](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/events/delete-discoverer.html)` 명령을 사용합니다.

****AWSServiceRoleForSchemas**(API)에서 사용하는 EventBridge 리소스를 삭제하려면**
+ `[DeleteDiscoverer](https://docs.aws.amazon.com/eventbridge/latest/schema-reference/v1-discoverers-id-discovererid.html#DeleteDiscoverer)` 명령을 사용합니다.

### 수동으로 서비스 연결 역할 삭제
<a name="slr-manual-delete-service-action-2"></a>

IAM 콘솔 AWS CLI, 또는 AWS API를 사용하여 **AWSServiceRoleForSchemas** 서비스 연결 역할을 삭제합니다. 자세한 내용은 IAM 사용 설명서의 [서비스 연결 역할 삭제](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)**를 참조하십시오.

## EventBridge 서비스 연결 역할에 지원되는 리전
<a name="slr-regions-service-action-2"></a>

EventBridge 는 서비스를 사용할 수 있는 모든 리전에서 서비스 연결 역할 사용을 지원합니다. 자세한 내용은 [AWS 리전 및 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html) 단원을 참조하세요.