はじめに
これは簡単な備忘録になります。
今回の記事の内容についてはA組織のXアカウントに対してB組織のYアカウントのイベントブリッジを連携させる場合のIAMロール、イベントベースのポリシーの設定内容です。
送信側(Yアカウント)での準備
1.Eventbridge用のIAMロールの作成
{
"EventBridgePutEventsRole": {
"Type": "AWS::IAM::Role",
"Properties": {
"RoleName": "EventBridgePutEventsRole",
"AssumeRolePolicyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "events.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
},
"Policies": [
{
"PolicyName": "SendEventsToAuditEventBus_Crossaccount",
"PolicyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "events:PutEvents",
"Resource": {
"Fn::Sub": "arn:aws:events:${AWS::Region}:${受信するAccountId}:event-bus/default"
}
}
]
}
}
]
}
}
}
2.Eventbridgeの作成
今回はEventbridgeの作成については省略
3.ターゲットの確認
ターゲットが、クロスアカウント先のターゲット名
とARN
、「1.」で作成したロールが正しく設定されているかを確認
受信側(Xアカウントの設定)
1.対象のイベントブリッジのリソースベースのポリシーで送信側のアカウントの情報を記入する
"Statement": [
{
"Sid": "AllowEventFromAccountB",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<組織BのAWSアカウントID>:root"
},
"Action": "events:PutEvents",
"Resource": "arn:aws:events:<受信リージョン>:<組織AのAWSアカウントID>:event-bus/<イベントバス名>"
}
]
}
2.イベントルールの設定
組織Bから受信するイベントに基づいて、適切なイベントパターンを設定
3.ターゲットの設定
受信したイベントを処理するためのターゲット(例:Lambda関数、SNSトピックなど)を指定
まとめ
X(受信側)とY(送信側)で信頼関係を作り、X、Yアカウントでトリガーするイベントを正しく設定すれば組織間でのクロスアカウントの設定が完了です。
セキュリティの観点から受信側、送信側のアカウント間の信頼関係を明記することで、安全にイベントの送信をすることが可能になると考えます。