AWSサービス間連携における権限設計の原則

AWSサービス間連携の権限設計は、最小権限の原則に基づき実施する。以下の優先順位で検討することで、一貫性のある適切な権限設計を実現できる。

1.実行ロールによる権限付与【基本原則】

同一アカウント内の連携では、連携元サービスが実行ロールを引き受けて実行することを原則とする。実行ロールには連携に必要な最小権限のみを付与する。

  • サービスロール: ユーザーが明示的に作成・管理
  • サービスリンクロール(SLR): AWSが自動作成・管理
2.リソースベースポリシーによる補完

実行ロールのみでは実現できない場合、連携先リソースのリソースベースポリシーで補完的にアクセスを許可する。設定は必要最小限の範囲に限定する。

3.クロスアカウント連携における権限付与

クロスアカウント連携では、以下の優先順位で実装する

クロスアカウントロールの引き受け(推奨)

リソースベースポリシーによる許可(ロールが使用できない場合のみ)

1.実行ロールによる権限付与【基本原則】

実行ロール(ユーザー管理)を使用する典型的なサービス

実行ロールを使用するサービス実行ロール/インスタンスプロファイル
EC2インスタンスプロファイル
Lambda実行ロール
ECS実行ロール
EKS実行ロール
Batch実行ロール
Step Functions実行ロール
EventBridge Scheduler実行ロール
EventBridge EventBus実行ロール
API Gateway実行ロール
Kinesis Firehose実行ロール
Glue実行ロール
EMR実行ロール
Redshift実行ロール
SageMaker実行ロール
Bedrock実行ロール
IoT Core実行ロール
CodeBuild実行ロール
CodePipeline実行ロール
SSM Automation実行ロール
CloudFormation実行ロール

SLR(AWS管理)が作成される主要サービス

SLR が作成される主要サービスSLR名
Auto ScalingAWSServiceRoleForAutoScaling
Application Auto ScalingAWSServiceRoleForApplicationAutoScaling_*
ECSAWSServiceRoleForECS
EKSAWSServiceRoleForAmazonEKS
RDSAWSServiceRoleForRDS
ElastiCacheAWSServiceRoleForElastiCache
Lambda(VPC設定時)AWSServiceRoleForLambdaReplicator
CloudFormationAWSServiceRoleForCloudFormationStackSetsOrgAdmin
AWSServiceRoleForCloudFormationStackSetsOrgMember
SSMAWSServiceRoleForAmazonSSM
BackupAWSServiceRoleForBackup
GuardDutyAWSServiceRoleForAmazonGuardDuty
Security HubAWSServiceRoleForSecurityHub
OrganizationsAWSServiceRoleForOrganizations
ELBAWSServiceRoleForElasticLoadBalancing

2.リソースベースポリシーによる補完

実行ロールでは対応できず、リソースベースポリシーで補う必要がある典型的なパターン

リソースベースポリシーが必要となるサービスリソースベースポリシー
EventBridgeイベントバスポリシー
SNSトピックポリシー
SQSキューポリシー
CloudWatch Logsリソースポリシー
KMSキーポリシー
Lambda関数ポリシー
S3バケットポリシー