サービス間での不分別な代理処理の防止 - AWS CodeDeploy

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

サービス間での不分別な代理処理の防止

混乱した代理問題は、アクションを実行するためのアクセス許可を持たないエンティティが、より特権のあるエンティティにアクションの実行を強制できてしまう場合に生じる、セキュリティ上の問題です。では AWS、サービス間のなりすましにより、混乱した代理問題が発生する可能性があります。サービス間でのなりすましは、1 つのサービス (呼び出し元サービス) が、別のサービス (呼び出し対象サービス) を呼び出すときに発生する可能性があります。呼び出し元サービスは、本来ならアクセスすることが許可されるべきではない方法でその許可を使用して、別のお客様のリソースに対する処理を実行するように操作される場合があります。これを防ぐために、 は、アカウント内のリソースへのアクセスが許可されているサービスプリンシパルを持つすべてのサービスのデータを保護するのに役立つツール AWS を提供します。

リソースポリシーで aws:SourceArn および aws:SourceAccount グローバル条件コンテキストキーを使用して、リソースに別のサービス CodeDeploy を付与するアクセス許可を制限することをお勧めします。同じポリシーステートメントでこれらのグローバル条件コンテキストキーの両方を使用し、アカウント ID にaws:SourceArn の値が含まれていない場合、aws:SourceAccount 値と aws:SourceArn 値の中のアカウントには、同じアカウント ID を使用する必要があります。クロスサービスのアクセスにリソースを 1 つだけ関連付けたい場合は、aws:SourceArn を使用します。クロスサービスが使用できるように、アカウント内の任意のリソースを関連付けたい場合は、aws:SourceAccount を使用します。

EC2/On-Premises、 AWS Lambda、および通常の Amazon ECSデプロイの場合、 の値には、IAMロールの引き受けARN CodeDeploy が許可されている CodeDeploy デプロイグループを含めるaws:SourceArn必要があります。

を通じて作成された Amazon ECSブルー/グリーンデプロイ AWS CloudFormationの場合、 の値には、IAMロールの引き受けARN CodeDeploy が許可されている CloudFormation スタックを含めるaws:SourceArn必要があります。

混乱した代理問題から保護する最も効果的な方法は、リソースARNをいっぱいにしたaws:SourceArnキーを使用することです。完全な がわからない場合、ARNまたは複数のリソースを指定する場合は、不明な部分にはワイルドカード文字 (*) を使用します。

例えば、EC2/オンプレミス、 AWS Lambda、または通常の Amazon ECSデプロイで次の信頼ポリシーを使用できます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "codedeploy.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:codedeploy:us-east-1:111122223333:deploymentgroup:myApplication/*" } } } ] }

を使用して作成された Amazon BlueECS/Green デプロイ AWS CloudFormationでは、次のものを使用できます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "codedeploy.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:cloudformation:us-east-1:111122223333:stack/MyCloudFormationStackName/*" } } } ] }