View a markdown version of this page

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

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

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

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

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

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

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

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

Customer Profiles ドメインを作成するための Customer Profiles 接続ポリシーの例

Customer Profiles オブジェクトタイプを作成するための 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" } } } }

デッドレターキューを作成および更新する 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" } } } ] }

ID 解決プロセスの一部として使用される Amazon S3 バケットを保護するための Customer Profiles 接続ポリシーの例

{ "Sid": "Allow Connect Customer 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/*" } } }

Connect Customer 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" } } } }

Connect Customer Chat Message Streaming Cross-Service Confused Deputy Prevention

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

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" } } } ] }