Amazon Connect の ID ベースのポリシー例 - Amazon Connect

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

Amazon Connect の ID ベースのポリシー例

IAM エンティティのデフォルトでは、Amazon Connect のリソースを作成または変更するアクセス許可は付与されていません。また、 AWS Management Console、 AWS CLI、または AWS API を使用してタスクを実行することはできません。IAM 管理者は、IAM エンティティに必要な、指定されたリソースに対して特定の API オペレーションを実行するアクセス許可を付与する IAM ポリシーを作成する必要があります。続いて、IAM 管理者はそれらのアクセス許可が必要な IAM エンティティに、そのポリシーをアタッチします。

JSON ポリシードキュメントのこれらの例を使用して、IAM アイデンティティベースのポリシーを作成する方法については、「IAM ユーザーガイド」の「JSON タブでのポリシーの作成」を参照してください。

ポリシーのベストプラクティス

ID ベースのポリシーは、あるユーザーがアカウント内で Amazon Connect リソースを作成、アクセス、または削除できるどうかを決定します。これらのアクションを実行すると、 AWS アカウントに料金が発生する可能性があります。アイデンティティベースのポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください。

  • AWS 管理ポリシーを開始し、最小特権のアクセス許可に移行する – ユーザーとワークロードにアクセス許可を付与するには、多くの一般的ユースケースにアクセス許可を付与するAWS 管理ポリシーを使用します。これらは で使用できます AWS アカウント。ユースケースに固有の AWS カスタマー管理ポリシーを定義して、アクセス許可をさらに減らすことをお勧めします。詳細については、IAM ユーザーガイドの「AWS マネージドポリシー」または「AWS ジョブ機能の管理ポリシー」を参照してください。

  • 最小特権を適用する – IAM ポリシーで権限を設定するときは、タスクの実行に必要な権限のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権とも呼ばれています。IAM を使用して権限を適用する方法の詳細については、「IAM ユーザーガイド」の「IAM でのポリシーと権限」を参照してください。

  • IAM ポリシーで条件を使用してアクセスをさらに制限する - ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。例えば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定できます。条件を使用して、 などの特定の を通じてサービスアクションを使用する場合 AWS のサービス、サービスアクションへのアクセスを許可することもできます AWS CloudFormation。詳細については、「IAM ユーザーガイド」の [IAM JSON policy elements: Condition] (IAM JSON ポリシー要素:条件) を参照してください。

  • IAM Access Analyzer を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する - IAM Access Analyzer は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、「IAM ユーザーガイド」の「IAM Access Analyzer ポリシーの検証」を参照してください。

  • 多要素認証 (MFA) を要求する – で IAM ユーザーまたはルートユーザーを必要とするシナリオがある場合は AWS アカウント、セキュリティを強化するために MFA を有効にします。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、「IAM ユーザーガイド」の「MFA 保護 API アクセスの設定」を参照してください。

IAM でのベストプラクティスの詳細については、『IAM ユーザーガイド』の「IAM でのセキュリティのベストプラクティス」を参照してください。

自分のアクセス許可の表示を IAM ユーザーに許可する

この例では、ユーザーアイデンティティに添付されたインラインおよびマネージドポリシーの表示を IAM ユーザーに許可するポリシーを作成する方法を示します。このポリシーには、コンソールで、または AWS CLI または AWS API を使用してプログラムでこのアクションを実行するアクセス許可が含まれています。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

「ユーザーの表示」アクセス許可を付与する

AWS アカウントでユーザーまたはグループを作成するときに、IAM ポリシーをそのグループまたはユーザーに関連付けることができます。このポリシーは、付与するアクセス許可を指定します。

例えば、入門レベルの開発者グループを想定してみましょう。Junior application developers という名前の IAM グループを作成し、すべての入門レベルの開発者を含めることができます。次に、そのグループに対し、Amazon Connect のユーザーを表示するためのアクセス許可を付与するポリシーを関連付けます。このシナリオでは、以下のサンプルのようなポリシーを使用します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "connect:DescribeUser", "connect:ListUsers" ], "Resource": "*" } ] }

このサンプルポリシーは、Action 要素にリストされた API アクションへのアクセス許可を付与します。

注記

ステートメントでユーザー ARN または ID を指定しない場合は、Resource 要素に * ワイルドカードを使用してアクションにすべてのリソースを使用するためのアクセス許可も付与する必要があります。

ユーザーに外部アプリケーションとの統合を許可する

この例では、ユーザーが外部アプリケーション統合とやり取りすることを許可するポリシーの作成方法を示します。

{ "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", "app-integrations:ListDataIntegrations", "app-integrations:CreateDataIntegration", "app-integrations:GetDataIntegration", "app-integrations:UpdateDataIntegration", "app-integartions:DeleteDataIntegration" ], "Resource": "*" } ] }

タグに基づいて、Amazon Connect ユーザーの詳細表示および更新を行う

IAM ポリシーでは、必要に応じて、ポリシーを有効にするタイミングを制御する条件を指定できます。例えば、テスト環境で作業している Amazon Connect ユーザーのみを更新する許可を、ユーザーに付与するためのポリシーを定義できます。

Amazon Connect に固有の条件を定義し、すべての に適用されるその他の条件を定義できます AWS。AWS 全体の条件のリストについては、「IAM ユーザーガイド」の「IAM JSON ポリシーの要素のリファレンス」を参照してください。

次のサンプルポリシーは、特定のタグを持つユーザーの「説明」および「更新」アクションを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "connect:DescribeUser", "connect:UpdateUser*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Department": "Test" } } } ] }

このポリシーは、「ユーザーの説明」と「ユーザーの更新」に関する許可を「Department: Test」というタグが付いた Amazon Connect ユーザーに対してのみ付与します。ここで「Department」はタグキーであり「Test」はタグ値です。

タグに基づいて Amazon Connect ユーザーを作成する

次のサンプルポリシーは、特定のリクエストタグを持つユーザーの作成アクションを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "connect:CreateUser", "connect:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/Owner": "TeamA" } } } ] }

このポリシーでは、「ユーザーの作成」と「リソースのタグ付け」が可能ですが、リクエストに「Owner: TeamA」というタグが必要です。

Amazon AppIntegrations リソースの作成と表示

次のポリシー例では、イベント統合の作成、一覧表示、および取得を許可しています。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "app-integrations:CreateEventIntegration", "app-integrations:GetEventIntegration", "app-integrations::ListEventIntegrations", ], "Resource": "*" } ] }

Amazon Q in Connect Assistant を作成して表示する

Amazon Q in Connect アシスタントの作成、一覧表示、取得、削除を許可するポリシーの例は、次のとおりです。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "wisdom:CreateContent", "wisdom:DeleteContent", "wisdom:CreateKnowledgeBase", "wisdom:GetAssistant", "wisdom:GetKnowledgeBase", "wisdom:GetContent", "wisdom:GetRecommendations", "wisdom:GetSession", "wisdom:NotifyRecommendationsReceived", "wisdom:QueryAssistant", "wisdom:StartContentUpload", "wisdom:UpdateContent", "wisdom:UntagResource", "wisdom:TagResource", "wisdom:CreateSession" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/AmazonConnectEnabled": "True" } } }, { "Action": [ "wisdom:ListAssistants", "wisdom:ListKnowledgeBases" ], "Effect": "Allow", "Resource": "*" } ] }

アウトバウンドキャンペーンリソースを管理する

オンボーディングのアクセス許可: 次のサンプルポリシーでは、Amazon Connect インスタンスをアウトバウンドキャンペーンに対してオンボーディングすることができます。

"Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:CreateGrant" ], "Resource": [ "arn:aws:kms:region:account-id:key/key-id" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "connect:DescribeInstance" ], "Resource": [ "arn:aws:connect:region:account-id:instance/instance-id" ] }, { "Sid": "VisualEditor2", "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "iam:CreateServiceLinkedRole", "iam:AttachRolePolicy", "iam:PutRolePolicy", "ds:DescribeDirectories", "connect-campaigns:StartInstanceOnboardingJob", "connect-campaigns:GetConnectInstanceConfig", "connect-campaigns:GetInstanceOnboardingJobStatus", "connect-campaigns:DeleteInstanceOnboardingJob", "connect:DescribeInstanceAttribute", "connect:UpdateInstanceAttribute", "connect:ListInstances", "kms:ListAliases" ], "Resource": "*" }

インスタンスに対してアウトバウンドキャンペーンを無効にするには、以下のアクセス許可を追加します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:RetireGrant" ], "Resource": [ "arn:aws:kms:region:account-id:key/key-id" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "events:DeleteRule", "events:RemoveTargets", "events:DescribeRule", "iam:DeleteRolePolicy", "events:ListTargetsByRule", "iam:DeleteServiceLinkedRole", "connect-campaigns:DeleteConnectInstanceConfig" ], "Resource": "*" } ]

管理アクセス許可: 次のサンプルポリシーでは、アウトバウンドキャンペーンに対するすべての読み取りおよび書き込み操作が可能です。

{ "Sid": "AllowConnectCampaignsOperations", "Effect": "Allow", "Action": [ "connect-campaigns:CreateCampaign", "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", "connect-campaigns:GetCampaignStateBatch", "connect-campaigns:ListCampaigns" ], "Resource": "*" }

ReadOnly アクセス許可: 次のサンプルポリシーは、キャンペーンへの読み取り専用アクセスを許可します。

{ "Sid": "AllowConnectCampaignsReadOnlyOperations", "Effect": "Allow", "Action": [ "connect-campaigns:DescribeCampaign", "connect-campaigns:GetCampaignState", "connect-campaigns:GetCampaignStateBatch", "connect-campaigns:ListCampaigns" ], "Resource": "*", }

タグベースのアクセス許可: 次のポリシー例では、タグを使用して特定の Amazon Connect インスタンスと統合されるキャンペーンにアクセスを制限します。ユースケースに応じて、さらに多くの権限を追加できます。

{ "Sid": "AllowConnectCampaignsOperations", "Effect": "Allow", "Action": [ "connect-campaigns:DescribeCampaign", "connect-campaigns:GetCampaignState" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/owner": "arn:aws:connect:region:customer_account_id:instance/connect_instance_id" } } }
注記

connect-campaigns:ListCampaigns および connect-campaigns:GetCampaignStateBatch オペレーションは、タグにより制限することはできません。