

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

# Amazon EventBridge의 이벤트 버스에 대한 권한
<a name="eb-event-bus-perms"></a>

 AWS 계정의 기본 [이벤트 버스](eb-event-bus.md)는 한 계정의 [이벤트](eb-events.md)만 허용합니다. [리소스 기반 정책](eb-use-resource-based.md)을 이벤트 버스에 연결하여 추가 권한을 이벤트 버스에 부여할 수 있습니다. 리소스 기반 정책을 사용하면 다른 계정의 `PutEvents`, `PutRule` 및 `PutTargets` API 직접 호출을 허용할 수 있습니다. 또한 정책의 [IAM 조건](eb-use-conditions.md)을 사용하여 조직에 권한을 부여하거나, [태그](eb-tagging.md)를 적용하거나, 특정 규칙 또는 계정의 조직에만 이벤트를 필터링할 수 있습니다. 이벤트 버스 생성 시 또는 이후에 이벤트 버스에 대한 리소스 기반 정책을 설정할 수 있습니다.

`PutRule`, `PutTargets`, `DeleteRule`, `RemoveTargets`, `DisableRule` 및 `EnableRule` 등의 이벤트 버스 `Name` 파라미터를 허용하는 EventBridge API는 이벤트 버스 ARN도 허용합니다. 이러한 파라미터를 사용하여 API를 통해 교차 계정 또는 교차 리전 이벤트 버스를 참조합니다. 예를 들어 `PutRule`를 호출하면 역할을 맡을 필요 없이 다른 계정의 이벤트 버스에 [규칙](eb-rules.md)을 생성할 수 있습니다.

이 주제의 정책 예제를 IAM 역할에 연결하여 이벤트를 다른 계정이나 리전으로 전송할 권한을 부여할 수 있습니다. IAM 역할을 사용하여 사용자 계정에서 다른 계정으로 이벤트를 전송할 수 있는 사람에 대한 조직 제어 정책 및 경계를 설정합니다. 규칙의 대상이 이벤트 버스인 경우 항상 IAM 역할을 사용하는 것이 좋습니다. `PutTarget` 호출을 사용하여 IAM 역할을 연결할 수 있습니다. 이벤트를 다른 계정이나 리전으로 전송하는 규칙을 생성하는 방법에 대한 자세한 내용은 [Amazon EventBridge의 AWS 계정 간에 이벤트 전송 및 수신](eb-cross-account.md) 섹션을 참조하세요.

# Amazon EventBridge에서 이벤트 버스 권한 관리
<a name="eb-event-bus-permissions-manage"></a>

기존 이벤트 버스에 대한 권한을 수정하려면 다음 절차를 따릅니다. 를 사용하여 이벤트 버스 정책을 CloudFormation 생성하는 방법에 대한 자세한 내용은 [AWS::Events::EventBusPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html)를 참조하세요.

**기존 이벤트 버스에 대한 권한을 관리하려면**

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

1. 왼쪽 탐색 창에서 **이벤트 버스**를 선택합니다.

1. **이름**에서 권한을 관리할 이벤트 버스의 이름을 선택합니다.

   리소스 정책이 이벤트 버스에 연결된 경우 해당 정책이 표시됩니다.

1. **권한 관리**를 선택하고 다음 중 하나를 수행합니다.
   + 이벤트 버스에 부여할 권한이 포함된 정책을 입력합니다. 다른 소스의 정책을 붙여넣거나 정책에 대한 JSON을 입력할 수 있습니다.
   + 정책에 템플릿을 사용하려면 **템플릿 로드**를 선택합니다. 환경에 맞게 정책을 수정하고 정책에서 보안 주체에게 사용 권한을 부여하는 추가 작업을 추가합니다.

1. **업데이트**를 선택합니다.

템플릿은 계정과 환경에 맞게 사용자 지정할 수 있는 예제 정책 구문을 제공합니다. 템플릿은 유효한 정책이 아닙니다. 사용 사례에 맞게 템플릿을 수정하거나 정책 예제 중 하나를 복사하여 사용자 지정할 수 있습니다.

템플릿은 계정에 `PutEvents` 작업을 사용할 권한을 부여하는 방법, 조직에 권한을 부여하는 방법, 계정의 규칙을 관리할 수 있는 권한을 계정에 부여하는 방법에 대한 예가 포함된 정책을 로드합니다. 특정 계정에 맞게 템플릿을 사용자 지정하고 템플릿에서 다른 섹션을 삭제할 수 있습니다. 더 많은 정책 예제는 이 섹션의 뒷부분에 나와 있습니다.

버스에 대한 권한을 업데이트하려고 시도했지만 정책에 오류가 있는 경우 오류 메시지에 정책의 특정 문제가 나타납니다.

```
  ### Choose which sections to include in the policy to match your use case. ###
  ### Be sure to remove all lines that start with ###, including the ### at the end of the line. ###

  ### The policy must include the following: ###

  {
    "Version": "2012-10-17",		 	 	 
    "Statement": [

      ### To grant permissions for an account to use the PutEvents action, include the following, otherwise delete this section: ###

      {

        "Sid": "AllowAccountToPutEvents",
        "Effect": "Allow",
        "Principal": {
          "AWS": "<ACCOUNT_ID>"
        },
        "Action": "events:PutEvents",
        "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/default"
      },

      ### Include the following section to grant permissions to all members of your AWS Organizations to use the PutEvents action ###

      {
        "Sid": "AllowAllAccountsFromOrganizationToPutEvents",
        "Effect": "Allow",
        "Principal": "*",
        "Action": "events:PutEvents",
        "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/default",
        "Condition": {
          "StringEquals": {
            "aws:PrincipalOrgID": "o-yourOrgID"
          }
        }
      },

      ### Include the following section to grant permissions to the account to manage the rules created in the account ###

      {
        "Sid": "AllowAccountToManageRulesTheyCreated",
        "Effect": "Allow",
        "Principal": {
          "AWS": "<ACCOUNT_ID>"
        },
        "Action": [
          "events:PutRule",
          "events:PutTargets",
          "events:DeleteRule",
          "events:RemoveTargets",
          "events:DisableRule",
          "events:EnableRule",
          "events:TagResource",
          "events:UntagResource",
          "events:DescribeRule",
          "events:ListTargetsByRule",
          "events:ListTagsForResource"],
        "Resource": "arn:aws:events:us-east-1:123456789012:rule/default",
        "Condition": {
          "StringEqualsIfExists": {
            "events:creatorAccount": "<ACCOUNT_ID>"
          }
        }
    }]
  }
```

# 예제 정책: Amazon EventBridge의 다른 계정에 있는 기본 버스로 이벤트 전송
<a name="eb-event-bus-example-policy-cross-account"></a>

다음 예제 정책은 계정 111122223333에 이벤트를 계정 123456789012의 기본 이벤트 버스에 게시할 수 있는 권한을 부여합니다.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
        "Sid": "sid1",
        "Effect": "Allow",
        "Principal": {"AWS":"arn:aws:iam::111112222333:root"},
        "Action": "events:PutEvents",
        "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/default"
        }
    ]
  }
```

------

# 예제 정책: Amazon EventBridge의 다른 계정에 있는 사용자 지정 버스로 이벤트 전송
<a name="eb-event-bus-example-policy-cross-account-custom-bus-source"></a>

다음 예제 정책은 계정 111122223333에 이벤트를 계정 123456789012의 `central-event-bus`에 게시할 수 있는 권한을 부여합니다. 단, 소스 값이 `com.exampleCorp.webStore`로 설정되고 `detail-type`이 `newOrderCreated`로 설정된 이벤트에만 적용합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "WebStoreCrossAccountPublish",
      "Effect": "Allow",
      "Action": [
        "events:PutEvents"
      ],
      "Principal": {
        "AWS": "arn:aws:iam::123456789012:root"
      },
      "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/central-event-bus",
      "Condition": {
        "ForAllValues:StringEquals": {
          "events:source": "com.exampleCorp.webStore",
          "events:detail-type": "newOrderCreated"
        }
      }
    }
  ]
}
```

------

# 예제 정책: Amazon EventBridge의 동일한 계정에 있는 이벤트 버스로 이벤트 전송
<a name="eb-event-bus-example-policy-same-account"></a>

`CustomBus1`이라는 이벤트 버스에 연결된 다음 예제 정책은 이벤트 버스가 동일한 계정 및 리전에서 이벤트를 수신할 수 있도록 허용합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "events:PutEvents"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:111122223333:event-bus/CustomBus1"
            ]
        }
    ]
}
```

------

# 예제 정책: 특정 규칙의 이벤트를 다른 리전의 Amazon EventBridge 버스로 전송
<a name="eb-event-bus-example-policy-restrict-rule"></a>

다음 예제 정책은 계정 123456789012에서 중동(바레인) 및 미국 서부(오레곤) 리전의 `SendToUSE1AnotherAccount`라는 규칙과 일치하는 이벤트를 미국 동부(버지니아 북부)의 `CrossRegionBus`라는 이벤트 버스로 전송할 수 있는 권한을 계정 111122223333에 부여합니다. 예제 정책은 계정 123456789012에 `CrossRegionBus`라는 이벤트 버스에 추가됩니다. 이 정책은 계정 111122223333의 이벤트 버스에 지정된 규칙과 일치하는 경우에만 이벤트를 허용합니다. `Condition` 구문은 이벤트를 지정된 규칙 ARN이 있는 규칙과 일치하는 이벤트로만 제한합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowSpecificRulesAsCrossRegionSource",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111112222333:root"
      },
      "Action": "events:PutEvents",
      "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/CrossRegionBus",
      "Condition": {
        "ArnEquals": {
          "aws:SourceArn": [
            "arn:aws:events:us-west-2:111112222333:rule/CrossRegionBus/SendToUSE1AnotherAccount",
            "arn:aws:events:me-south-1:111112222333:rule/CrossRegionBus/SendToUSE1AnotherAccount"
          ]
        }
      }
    }
  ]
}
```

------

# 예제 정책: Amazon EventBridge의 특정 리전에서만 다른 리전으로 이벤트 전송
<a name="eb-event-bus-example-policy-specific-region"></a>

다음 예제 정책은 중동(바레인) 및 미국 서부(오레곤) 리전에서 생성된 모든 이벤트를 미국 동부(버지니아 북부) 리전의 계정 123456789012에서 `CrossRegionBus`라는 이벤트 버스로 전송할 수 있는 권한을 계정 111122223333에 부여합니다. 계정 111122223333에는 다른 리전에서 생성된 이벤트를 전송할 권한이 없습니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowCrossRegionEventsFromUSWest2AndMESouth1",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111112222333:root"
      },
      "Action": "events:PutEvents",
      "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/CrossRegionBus",
      "Condition": {
        "ArnEquals": {
          "aws:SourceArn": [
            "arn:aws:events:us-west-2:*:*",
            "arn:aws:events:me-south-1:*:*"
          ]
        }
      }
    }
  ]
}
```

------

# 예제 정책: Amazon EventBridge의 특정 리전에서 이벤트 전송 거부
<a name="eb-event-bus-example-policy-deny-regions"></a>

계정 123456789012의 `CrossRegionBus`라는 이벤트 버스에 연결된 다음 예제 정책은 이벤트 버스가 계정 111122223333에서 이벤트를 수신할 수 있는 권한을 부여하지만 미국 서부(오레곤) 리전에서 생성된 이벤트는 허용하지 않습니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "1AllowAnyEventsFromAccount111112222333",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111112222333:root"
      },
      "Action": "events:PutEvents",
      "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/CrossRegionBus"
    },
    {
      "Sid": "2DenyAllCrossRegionUSWest2Events",
      "Effect": "Deny",
      "Principal": {
        "AWS": "*"
      },
      "Action": "events:PutEvents",
      "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/CrossRegionBus",
      "Condition": {
        "ArnEquals": {
          "aws:SourceArn": [
            "arn:aws:events:us-west-2:*:*"
          ]
        }
      }
    }
  ]
}
```

------