でのサービス間の混乱した代理の防止 AWS - Amazon Connect

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

でのサービス間の混乱した代理の防止 AWS

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

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

混乱した代理問題を回避するための最も効果的な方法は、許可するリソースに正確な Amazon リソースネーム (ARN) を使用することです。リソースの完全な ARN が不明な場合や、複数のリソースを指定する場合は、aws:SourceArn グローバルコンテキスト条件キーを使用して、ARN の未知部分をワイルドカード (*) で表します。例えば、arn:aws:servicename::region-name::your AWS account ID:* です。

Amazon Connect Customer Profiles サービス間の混乱した代理問題の防止

以下に、他のユーザーが Amazon Connect Customer Profiles の管理者として設定されているケースに適用するポリシーの例を示します。これらのポリシーを使用して、混乱した代理問題を防止します。

Customer Profiles ドメインを作成する Amazon Connect Customer Profiles ポリシーの例

Customer Profiles オブジェクトタイプを作成する Amazon Connect Customer Profiles ポリシーの例

JSON
{ "Version": "2012-10-17" , "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "profile.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:CreateGrant", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:us-east-1:111122223333:key/KeyId" ], "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:profile:us-east-1:111122223333:domains/CustomerProfilesDomainName/objects/YourObjectType" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } } }

デッドレターキューを作成および更新する Amazon Connect Customer Profiles ポリシーの例

JSON
{ "Version": "2012-10-17" , "Statement": [ { "Sid": "Allow Customer Profiles to publish messages to your queue", "Effect": "Allow", "Principal": { "Service": "profile.amazonaws.com" }, "Action": "sqs:SendMessage", "Resource": "arn:aws:sqs:us-east-1:111122223333:YourDeadLetterQueueName", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333", "aws:SourceArn": "arn:aws:profile:us-east-1:111122223333:domains/CustomerProfileDomainName" } } } ] }

アイデンティティ解決プロセスの一部として使用される Amazon S3 バケットを保護する Amazon Connect Customer Profiles ポリシーの例

{ "Sid": "Allow Amazon Connect Customer Profiles to put S3 objects to your bucket", "Effect": "Allow", "Principal": { "Service": "profile.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Condition": { "StringEquals": { "aws:SourceAccount": "your AWS account ID" }, "ArnEquals": { "aws:SourceArn": "arn:aws:profile:your region name:your AWS account ID:domains/*" } } }

Amazon Connect Voice ID サービス間の混乱した代理問題の防止

次の Voice ID の例は、混乱した代理問題を防ぐために適用するリソースポリシーを示しています。

JSON
{ "Version": "2012-10-17" , "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "voiceid.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:voiceid:us-east-1:111122223333:domain/YourVoiceIDDomain" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } } }

Amazon Connect チャットメッセージストリームのサービス間の混乱した代理問題の防止

次の Amazon Connect の例は、混乱した代理問題を回避するために適用するリソースポリシーを示しています。

JSON
{ "Version":"2012-10-17" , "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"connect.amazonaws.com" }, "Action":"sns:Publish", "Resource":"arn:aws:sns:us-east-1:111122223333:TopicName", "Condition":{ "StringEquals":{ "aws:SourceAccount":"111122223333" }, "ArnEquals":{ "aws:SourceArn":"arn:aws:connect:us-east-1:111122223333:instance/InstanceId" } } } ] }