111111111111 と 222222222222 の 2 つのアカウントがあります。
要件 - アカウント 111111111111 は、RDS のスナップショットを毎日作成します。スナップショットが作成されたら、アカウント 111111111111 がアカウント 222222222222 で作成された SNS トピックに発行するようにします。アカウント 222222222222 が通知を受信すると、Lambda 関数を実行します。
アカウント 222222222222 で作成されたトピックに次のポリシーを添付しました。
"Sid":"RestoreRDSEng_topic_publish",
"Effect":"Allow",
"Principal":{
"AWS":"111111111111"
},
"Action":"sns:Publish",
"Resource":"arn:aws:sns:us-east-1:222222222222:RestoreRDSEng",
"Condition":{
"StringEquals":{
"AWS:SourceAccount":"222222222222"
},
}
}
アカウント 111111111111 が 222222222222 に公開しようとすると、次のエラーが表示されます。
*"message": "AuthorizationError: User: arn:aws:sts::************assumed-role/tf-rds_eventhandler/tf-rds_eventhandler is not Authorized to perform: SNS:Publish onリソース: arn:aws:sns:us-east-1:xxxxxxxxxxxx:RestoreRDSEng\n\tステータス コード: 403、リクエスト ID: 098f4647-c9ad-51fe-9bc3-17b45deef60e"*
質問:
このアプローチに何か問題はありますか?
111111111111 への信頼できるアクセス権を持つアカウント 222222222222 にロールを作成する必要がありますか?
他の提案をいただければ幸いです。