Amazon Connect のリソースレベルのポリシー例 - Amazon Connect

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

Amazon Connect のリソースレベルのポリシー例

Amazon Connect はユーザーに対するリソースレベルのアクセス許可をサポートしており、以下のポリシーに示すように、インスタンスに対してユーザーのアクションを指定することができます。

Amazon Connect インスタンスのすべてのアクションを拒否する

Amazon Connect インスタンスは、Amazon Connect 内の最上位リソースです。他のすべてのサブリソースは、その範囲内で作成されます。Amazon Connect インスタンス内のすべてのリソースに対するすべてのアクションを拒否するには、次のいずれかの方法を使用できます。

  • connect:instanceId コンテキストキーを使用します。

  • インスタンス ARN の後にワイルドカード (*) を使用します。

次のサンプルポリシーは、instanceId 00fbeee1-123e-111e-93e3-1111bfbfcc1 を持つインスタンスのすべての接続アクションを拒否します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "connect:*" ], "Resource": "*" }, "Condition": { "StringEquals": { "connect:instanceId": "00fbeee1-123e-111e-93e3-11111bfbfcc1" } } ] }

または、インスタンス ARN の後にワイルドカード (*) を指定して、すべてのアクションを拒否することもできます。次のサンプルポリシーは、インスタンス ARN を持つインスタンスのすべての接続アクションを拒否しますarn:aws:connect:us-east-1:123456789012:instance/00fbeee1-123e-111e-93e3-11111bfbfcc1

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "connect:*" ], "Resource": "arn:aws:connect:us-east-1:123456789012:instance/00fbeee1-123e-111e-93e3-11111bfbfcc1*" } ] }

「削除」および「更新」アクションを拒否する

次のポリシー例は、1 つの Amazon Connect インスタンス内のユーザーに対し、「削除」および「更新」のアクションを拒否しています。この例では、Amazon Connect ユーザー ARN の末尾にワイルドカードを使用して、完全なユーザー ARN (これは、指定されたインスタンス内のすべての Amazon Connect ユーザーを表すもので、例えば、arn:aws:connect:us-east-1:123456789012:instance/00fbeee1-123e-111e-93e3-11111bfbfcc1/agent/00dtcddd1-123e-111e-93e3-11111bfbfcc1) に対して、「ユーザーの削除」と「ユーザーの更新」が拒否されるようにします。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "connect:DeleteUser", "connect:UpdateUser*" ], "Resource": "arn:aws:connect:us-east-1:123456789012:instance/00fbeee1-123e-111e-93e3-11111bfbfcc1/agent/*" } ] }

特定の名前の統合においてアクションを許可する

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllAppIntegrationsActions", "Effect": "Allow", "Action": [ "app-integrations:ListEventIntegrations", "app-integrations:CreateEventIntegration", "app-integrations:GetEventIntegration", "app-integrations:UpdateEventIntegration", "app-integartions:DeleteEventIntegration" ], "Resource":"arn:aws:appintegrations:*:*:event-integration/MyNamePrefix-*" } ] }

「ユーザーの作成」を許可するが、特定のセキュリティプロファイルに割り当てられている場合は拒否する

次のサンプルポリシーは、「ユーザーの作成」を許可しますが、CreateUser リクエストのセキュリティプロファイルのパラメータとして arn:aws:connect:us-west-2:123456789012:instance/00fbeee1-123e-111e-93e3-11111bfbfcc1/security-profile/11dtcggg1-123e-111e-93e3-11111bfbfcc17 を使用した場合は明示的に拒否します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "connect:CreateUser" ], "Resource": "*", }, { "Effect": "Deny", "Action": [ "connect:CreateUser" ], "Resource": "arn:aws:connect:us-west-2:123456789012:instance/00fbeee1-123e-111e-93e3-11111bfbfcc17/security-profile/11dtcggg1-123e-111e-93e3-11111bfbfcc17", } ] }

通話の記録アクションを許可する

次のサンプルポリシーでは、特定のインスタンスでの問い合わせに対し「通話の記録を開始する」ことが許可されています。contactID は動的であるため、* が使用されています。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "connect:StartContactRecording" ], "Resource": "arn:aws:connect:us-west-2:accountID:instance/instanceId/contact/*", "Effect": "Allow" } ] }

accountID を使用した信頼関係の設定。

記録 API には、以下のアクションが定義されています。

  • "connect:StartContactRecording"

  • "connect:StopContactRecording"

  • "connect:SuspendContactRecording"

  • "connect:ResumeContactRecording"

複数の問い合わせアクションを同じロールで許可する

複数の問い合わせ API の呼び出しで同じロールが使用されている場合には、以下の問い合わせアクションをリストします。

  • GetContactAttributes

  • ListContactFlows

  • StartChatContact

  • StartOutboundVoiceContact

  • StopContact

  • UpdateContactAttributes

または、ワイルドカード (例えば、connect:*) を使用して、すべての問い合わせアクションを許可します。

その他のリソースを許可する

ワイルドカードを使用して、より多くのリソースを許可することもできます。例えば、すべての問い合わせリソースに対するすべての接続アクションを許可する方法は次のとおりです。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "connect:*" ], "Resource": "arn:aws:connect:us-west-2:accountID:instance/*/contact/*", "Effect": "Allow" } ] }

レプリカリージョンの電話番号に対するキュー API アクションを許可または拒否します。

CreateQueueUpdateQueueOutboundCallerConfig API には、OutboundCallerIdNumberId という名前の入力フィールドが含まれます。このフィールドは、トラフィック分散グループに請求できる電話番号リソースを表します。ListPhoneNumbers によって返される電話番号 V1 ARN フォーマットと、ListPhoneNumbersV2 によって返される V2 ARN フォーマットの両方がサポートされます。

OutboundCallerIdNumberId がサポートする V1 と V2 の ARN フォーマットは次のとおりです。

  • V1 ARN フォーマット:arn:aws:connect:your-region:your-account_id:instance/instance_id/phone-number/resource_id

  • V2 ARN フォーマット:arn:aws:connect:your-region:your-account_id:phone-number/resource_id

注記

V2 ARN フォーマットの使用をお勧めします。V1 ARN フォーマットは将来廃止される予定です。

レプリカリージョンの電話番号リソースには、両方の ARN フォーマットを提供してください。

電話番号がトラフィック分散グループに対して要求されている場合、レプリカリージョンでの操作中に電話番号リソースのキュー API アクションへのアクセスを正しく許可/拒否するには、電話番号リソースは V1 と V2 の両方の ARN フォーマットで提供する必要があります。電話番号リソースを 1 つの ARN フォーマットでのみ指定すると、レプリカリージョンでの操作中に許可/拒否が正しく動作しません。

例 1: CreateQueue へのアクセスを拒否する

たとえば、レプリカリージョン us-west-2 を 123456789012 とインスタンス aaaaaaaa-bbbb-cccc-dddd-0123456789012 で運営しています。OutboundCallerIdNumberId 値がリソース ID aaaaaaaa-eeee-ffff-gggg-0123456789012 を持つトラフィック分散グループに申請された電話番号の場合、CreateQueue API へのアクセスを拒否することをお勧めします。ただし、このシナリオでは、次のポリシーを使用する必要があります。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyCreateQueueForSpecificNumber", "Effect": "Deny", "Action": "connect:CreateQueue", "Resource": [ "arn:aws:connect:us-east-1:123456789012:phone-number/aaaaaaaa-eeee-ffff-gggg-0123456789012", "arn:aws:connect:us-west-2:123456789012:instance/aaaaaaaa-bbbb-cccc-dddd-0123456789012/phone-number/aaaaaaaa-eeee-ffff-gggg-0123456789012" ] } ] }

ここで、us-west-2 はリクエストが行われているリージョンです。

例 2: UpdateQueueOutboundCallerConfig へのアクセスのみを許可する

たとえば、レプリカリージョン us-west-2 を 123456789012 とインスタンス aaaaaaaa-bbbb-cccc-dddd-0123456789012 で運営しています。OutboundCallerIdNumberId 値がリソース ID aaaaaaaa-eeee-ffff-gggg-0123456789012 を持つトラフィック分散グループに申請された電話番号の場合、UpdateQueueOutboundCallerConfig API へのアクセスのみ許可することをお勧めします。ただし、このシナリオでは、次のポリシーを使用する必要があります。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "OnlyAllowUpdateQueueOutboundCallerConfigForSpecificNumber", "Effect": "Allow", "Action": "connect:UpdateQueueOutboundCallerConfig", "Resource": [ "arn:aws:connect:us-east-1:123456789012:phone-number/aaaaaaaa-eeee-ffff-gggg-0123456789012", "arn:aws:connect:us-west-2:123456789012:instance/aaaaaaaa-bbbb-cccc-dddd-0123456789012/phone-number/aaaaaaaa-eeee-ffff-gggg-0123456789012" ] } ] }

特定の Amazon AppIntegrations のリソースを表示する

次のポリシー例では、特定のイベント統合の取得を許可します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "app-integrations:GetEventIntegration" ], "Resource": "arn:aws:app-integrations:us-west-2:accountID:event-integration/Name" } ] }

Amazon Connect Customer Profiles にアクセス許可を付与する

Amazon Connect Customer Profiles では、アクションのプレフィックスとして、connect の代わりに profile を使用します。以下のポリシーでは、Amazon Connect Customer Profiles 内の特定のドメインへの完全なアクセス許可が付与されます。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "profile:*" ], "Resource": "arn:aws:profile:us-west-2:accountID:domains/domainName", "Effect": "Allow" } ] }

accountID と domainName ドメインの間での信頼関係をセットアップします。

Customer Profiles のデータの読み取り専用アクセス許可を付与する

以下は、Amazon Connect Customer Profiles にあるデータに対する読み取りアクセスを許可する例です。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "profile:SearchProfiles", "profile:ListObjects" ], "Resource": "arn:aws:profile:us-west-2:accountID:domains/domainName", "Effect": "Allow" } ] }

特定のアシスタントについてのみ Amazon Q in Connect をクエリする

次のポリシー例では、特定のアシスタントのみにクエリを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "wisdom:QueryAssistant " ], "Resource": "arn:aws:wisdom:us-west-2:accountID:assistant/assistantID" } ] }

Amazon Connect Voice ID への完全なアクセス権を付与する

Amazon Connect Voice ID は、アクションのプレフィックスとして、connect の代わりに voiceid を指定します。次のポリシーでは、Amazon Connect Voice ID 内の特定のドメインへの完全なアクセス権を付与します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "voiceid:*" ], "Resource": "arn:aws:voiceid:us-west-2:accountID:domain/domainName", "Effect": "Allow" } ] }

accountID と domainName ドメインの間での信頼関係をセットアップします。

Amazon Connect アウトバウンドキャンペーンのリソースへのアクセスを付与する

アウトバウンドキャンペーンでは、connect の代わりに connect-campaign がアクションのプレフィックスとして使用されます。次のポリシーは、特定のアウトバウンドキャンペーンへのフルアクセスを付与します。

{ "Sid": "AllowConnectCampaignsOperations", "Effect": "Allow", "Action": [ "connect-campaigns:DeleteCampaign", "connect-campaigns:DescribeCampaign", "connect-campaigns:UpdateCampaignName", "connect-campaigns:GetCampaignState" "connect-campaigns:UpdateOutboundCallConfig", "connect-campaigns:UpdateDialerConfig", "connect-campaigns:PauseCampaign", "connect-campaigns:ResumeCampaign", "connect-campaigns:StopCampaign" ], "Resource": "arn:aws:connect-campaigns:us-west-2:accountID:campaign/campaignId", }

Amazon Connect Contact Lens によって分析されたトランスクリプトを検索する機能を制限する

次のポリシーでは、コンタクトを検索して説明することはできますが、Amazon Connect Contact Lens によって分析されたトランスクリプトを使用したコンタクトの検索は拒否されます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "connect:DescribeContact" ], "Resource": "arn:aws:connect:region:account-id:instance/instance-id/contact/*" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "connect:SearchContacts" ], "Resource": "arn:aws:connect:region:account-id:instance/instance-id" }, { "Sid": "VisualEditor2", "Effect": "Deny", "Action": [ "connect:SearchContacts" ], "Resource": "arn:aws:connect:region:account-id:instance/instance-id", "Condition": { "ForAnyValue:StringEquals": { "connect:SearchContactsByContactAnalysis": [ "Transcript" ] } } } ] }