Amazon Lex V2 のアイデンティティベースのポリシー例 - Amazon Lex

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

Amazon Lex V2 のアイデンティティベースのポリシー例

デフォルトで、ユーザーとロールには Amazon Lex V2 リソースを作成または変更する権限がありません。また、 を使用してタスクを実行することはできません。 AWS Management Console, AWS Command Line Interface (AWS CLI)、または AWS API。必要なリソースに対してアクションを実行するアクセス許可をユーザーに付与するために、IAM管理者はIAMポリシーを作成できます。その後、管理者はIAMポリシーをロールに追加し、ユーザーはロールを引き受けることができます。

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

各リソースタイプの の形式など、Amazon Lex V2 で定義されるアクションとリソースタイプの詳細については、「サービス認証リファレンスARNs」のAmazon Lexのアクション、リソース、および条件キーV2」を参照してください。

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

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

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

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

  • IAM ポリシーの条件を使用してアクセスをさらに制限する – ポリシーに条件を追加して、アクションとリソースへのアクセスを制限できます。例えば、ポリシー条件を記述して、すべてのリクエストを を使用して送信する必要があることを指定できますSSL。特定の を通じてサービスアクションが使用されている場合、条件を使用してサービスアクションへのアクセスを許可することもできます。 AWS のサービスまたは AWS CloudFormation。 詳細については、「 ユーザーガイド」のIAMJSON「ポリシー要素: 条件IAM」を参照してください。

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

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

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

Amazon Lex V2 コンソールを使用する

Amazon Lex V2 コンソールにアクセスするには、アクセス許可の最小限のセットが必要です。これらのアクセス許可により、 の Amazon Lex V2 リソースの詳細を一覧表示および表示できます。 V2 AWS アカウント。 最小限必要なアクセス許可よりも制限されたアイデンティティベースのポリシーを作成すると、そのポリシーを持つエンティティ (ユーザーまたはロール) に対してコンソールが意図したとおりに機能しません。

のみを呼び出すユーザーには、最小限のコンソールアクセス許可を付与する必要はありません。 AWS CLI または AWS API。代わりに、実行しようとしているAPIオペレーションに一致するアクションのみへのアクセスを許可します。

ユーザーとロールが引き続き Amazon Lex V2 コンソールを使用できるようにするには、ユーザーにコンソールアクセス権が必要です。コンソールアクセスを持つユーザーの作成の詳細については、「 での IAM ユーザーの作成」を参照してください。 AWSIAM ユーザーガイドの アカウント

ユーザーがボットに関数を追加できるようにする

この例は、IAMユーザーが Amazon Lex V2 ボットに Amazon Comprehend Amazon Lexクエリのアクセス許可を追加できるようにするポリシーを示しています。 V2

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Id1", "Effect": "Allow", "Action": "iam:PutRolePolicy", "Resource": "arn:aws:iam::*:role/aws-service-role/lexv2.amazonaws.com/AWSServiceRoleForLexV2Bots*" }, { "Sid": "Id2", "Effect": "Allow", "Action": "iam:GetRolePolicy", "Resource": "arn:aws:iam::*:role/aws-service-role/lexv2.amazonaws.com/AWSServiceRoleForLexV2Bots*" } ] }

ユーザーがボットにチャネルを追加できるようにする

この例は、IAMユーザーがメッセージングチャネルをボットに追加できるようにするポリシーです。ユーザーは、メッセージングプラットフォームにボットをデプロイする前に、このポリシーを設定しておく必要があります。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Id1", "Effect": "Allow", "Action": "iam:PutRolePolicy", "Resource": "arn:aws:iam::*:role/aws-service-role/channels.lexv2.amazonaws.com/AWSServiceRoleForLexV2Channels*" }, { "Sid": "Id2", "Effect": "Allow", "Action": "iam:GetRolePolicy", "Resource": "arn:aws:iam::*:role/aws-service-role/channels.lexv2.amazonaws.com/AWSServiceRoleForLexV2Channels*" } ] }

ボットの作成と更新をユーザーに許可する

この例は、IAMユーザーが任意のボットを作成および更新できるようにするポリシーの例を示しています。このポリシーには、コンソールまたは を使用してこのアクションを実行するアクセス許可が含まれています。 AWS CLI または AWS API.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lex:CreateBot", "lex:UpdateBot". "iam:PassRole" ], "Effect": "Allow", "Resource": ["arn:aws:lex:Region:123412341234:bot/*] } ] }

自動 Chatbot デザイナーの使用をユーザーに許可する

この例では、IAMユーザーに自動 Chatbot デザイナーの実行を許可するポリシーの例を示します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::<customer-bucket>/<bucketName>", # Resource should point to the bucket or an explicit folder. # Provide this to read the entire bucket "arn:aws:s3:::<customer-bucket>/<bucketName>/*", # Provide this to read a specifc folder "arn:aws:s3:::<customer-bucket>/<bucketName>/<pathFormat>/*" ] }, { # Use this if your S3 bucket is encrypted with a KMS key. "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:<Region>:<customerAccountId>:key/<kmsKeyId>" ] ] }

の使用をユーザーに許可する AWS KMS ファイルを暗号化および復号するための キー

この例は、IAMユーザーが を使用できるようにするポリシーの例を示しています。 AWS KMS データを暗号化および復号するための カスタマーマネージドキー。

{ "Version": "2012-10-17", "Id": "sample-policy", "Statement": [ { "Sid": "Allow Lex access", "Effect": "Allow", "Principal": { "Service": "lexv2.amazonaws.com" }, "Action": [ # If the key is for encryption "kms:Encrypt", "kms:GenerateDataKey" # If the key is for decryption "kms:Decrypt" ], "Resource": "*" } ] }

ユーザーにボットの削除を許可する

この例は、IAMユーザーがボットを削除できるようにするポリシーの例を示しています。このポリシーには、コンソールまたは を使用してこのアクションを実行するアクセス許可が含まれています。 AWS CLI または AWS API.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lex:DeleteBot", "lex:DeleteBotLocale", "lex:DeleteBotAlias", "lex:DeleteIntent", "lex:DeleteSlot", "lex:DeleteSlottype" ], "Effect": "Allow", "Resource": ["arn:aws:lex:Region:123412341234:bot/*", "arn:aws:lex:Region:123412341234:bot-alias/*"] } ] }

ユーザーにボットとの会話を許可する

この例は、IAMユーザーにボットとの会話を許可するポリシーの例を示しています。このポリシーには、コンソールまたは を使用してこのアクションを実行するアクセス許可が含まれています。 AWS CLI または AWS API.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lex:StartConversation", "lex:RecognizeText", "lex:RecognizeUtterance", "lex:GetSession", "lex:PutSession", "lex:DeleteSession" ], "Effect": "Allow", "Resource": "arn:aws:lex:Region:123412341234:bot-alias/*" } ] }

特定のユーザーにリソースベースのポリシーの管理を許可する

次の例では、リソースベースのポリシーを管理する権限を特定のユーザーに付与します。これにより、コンソールと、ボットとボットエイリアスに関連付けられたポリシーAPIへのアクセスが許可されます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ResourcePolicyEditor", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/ResourcePolicyEditor" }, "Action": [ "lex:CreateResourcePolicy", "lex:UpdateResourcePolicy", "lex:DeleteResourcePolicy", "lex:DescribeResourcePolicy" ] } ] }

ユーザーにボットとボットロケールのエクスポートを許可する

次のIAMアクセス許可ポリシーにより、ユーザーはボットまたはボットロケールのエクスポートを作成、更新、取得できます。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lex:CreateExport", "lex:UpdateExport", "lex:DescribeExport", "lex:DescribeBot", "lex:DescribeBotLocale", "lex:ListBotLocales", "lex:DescribeIntent", "lex:ListIntents", "lex:DescribeSlotType", "lex:ListSlotTypes", "lex:DescribeSlot", "lex:ListSlots", "lex:DescribeCustomVocabulary" ], "Effect": "Allow", "Resource": ["arn:aws:lex:Region:123456789012:bot/*"] } ] }

ユーザーにカスタム語彙のエクスポートを許可する

次のIAMアクセス許可ポリシーは、ユーザーがボットロケールからカスタム語彙をエクスポートすることを許可します。

{"Version": "2012-10-17", "Statement": [ {"Action": [ "lex:CreateExport", "lex:UpdateExport", "lex:DescribeExport", "lex:DescribeCustomVocabulary" ], "Effect": "Allow", "Resource": ["arn:aws:lex:Region:123456789012:bot/*"] } ] }

ユーザーにボットとボットロケールのインポートを許可する

次のIAMアクセス許可ポリシーでは、ユーザーがボットまたはボットロケールをインポートし、インポートのステータスを確認できるようにします。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lex:CreateUploadUrl", "lex:StartImport", "lex:DescribeImport", "lex:CreateBot", "lex:UpdateBot", "lex:DeleteBot", "lex:CreateBotLocale", "lex:UpdateBotLocale", "lex:DeleteBotLocale", "lex:CreateIntent", "lex:UpdateIntent", "lex:DeleteIntent", "lex:CreateSlotType", "lex:UpdateSlotType", "lex:DeleteSlotType", "lex:CreateSlot", "lex:UpdateSlot", "lex:DeleteSlot", "lex:CreateCustomVocabulary", "lex:UpdateCustomVocabulary", "lex:DeleteCustomVocabulary", "iam:PassRole", ], "Effect": "Allow", "Resource": [ "arn:aws:lex:Region:123456789012:bot/*", "arn:aws:lex:Region:123456789012:bot-alias/*" ] } ] }

ユーザーにカスタム語彙のエクスポートを許可する

次のIAMアクセス許可ポリシーは、ユーザーがカスタム語彙をボットロケールにインポートすることを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lex:CreateUploadUrl", "lex:StartImport", "lex:DescribeImport", "lex:CreateCustomVocabulary", "lex:UpdateCustomVocabulary", "lex:DeleteCustomVocabulary" ], "Effect": "Allow", "Resource": [ "arn:aws:lex:Region:123456789012:bot/*" ] } ] }

ユーザーが Amazon Lex から Amazon Lex V2 にボットを移行できるようにする

次のIAMアクセス許可ポリシーでは、ユーザーは Amazon Lex から Amazon Lex V2 Amazon Lex へのボットの移行を開始できます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "startMigration", "Effect": "Allow", "Action": "lex:StartMigration", "Resource": "arn:aws:lex:>Region<:>123456789012<:bot:*" }, { "Sid": "passRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::>123456789012<:role/>v2 bot role<" }, { "Sid": "allowOperations", "Effect": "Allow", "Action": [ "lex:CreateBot", "lex:CreateIntent", "lex:UpdateSlot", "lex:DescribeBotLocale", "lex:UpdateBotAlias", "lex:CreateSlotType", "lex:DeleteBotLocale", "lex:DescribeBot", "lex:UpdateBotLocale", "lex:CreateSlot", "lex:DeleteSlot", "lex:UpdateBot", "lex:DeleteSlotType", "lex:DescribeBotAlias", "lex:CreateBotLocale", "lex:DeleteIntent", "lex:StartImport", "lex:UpdateSlotType", "lex:UpdateIntent", "lex:DescribeImport", "lex:CreateCustomVocabulary", "lex:UpdateCustomVocabulary", "lex:DeleteCustomvocabulary", "lex:DescribeCustomVocabulary", "lex:DescribeCustomVocabularyMetadata" ], "Resource": [ "arn:aws:lex:>Region<:>123456789012<:bot/*", "arn:aws:lex:>Region<:>123456789012<:bot-alias/*/*" ] }, { "Sid": "showBots", "Effect": "Allow", "Action": [ "lex:CreateUploadUrl", "lex:ListBots" ], "Resource": "*" } ] }

自分の権限の表示をユーザーに許可する

この例では、IAMユーザーがユーザー ID にアタッチされているインラインポリシーと管理ポリシーを表示できるようにするポリシーを作成する方法を示します。このポリシーには、コンソールで、または を使用してプログラムでこのアクションを実行するアクセス許可が含まれています。 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": "*" } ] }

Amazon Lex V2 でのビジュアル会話ビルダーを使用して、ユーザーが会話フローを描画できるようにする

次のIAMアクセス許可ポリシーでは、ユーザーは Amazon Lex V2 のビジュアル会話ビルダーを使用して会話フローを描画できます。

{ "Version": "2012-10-17", "Statement": [ {"Action": [ "lex:UpdateIntent ", "lex:DescribeIntent " ], "Effect": "Allow", "Resource": ["arn:aws:lex:Region:123456789012:bot/*"] } ] }

ユーザーにボットレプリカの作成と表示を許可しますが、削除は許可しません

次のアクセス許可を IAMロールにアタッチして、ボットレプリカの作成と表示のみを許可できます。を省略するとlex:DeleteBotReplica、ロールがボットレプリカを削除できなくなります。詳細については、「Lex V2 でボットをレプリケートし、ボットレプリカを管理するアクセス許可」を参照してください。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lex:CreateBotReplica", "lex:DescribeBotReplica", "lex:ListBotReplica", "lex:ListBotVersionReplicas", "lex:ListBotAliasReplicas", ], "Resource": [ "arn:aws:lex:*:*:bot/*", "arn:aws:lex:*:*:bot-alias/*" ] }, { "Effect": "Allow", "Action": [ "iam:GetRole" ], "Resource": [ "arn:aws:iam::*:role/aws-service-role/replication.lexv2.amazonaws.com/AWSServiceRoleForLexV2Replication*" ] }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", ], "Resource": [ "arn:aws:iam::*:role/aws-service-role/replication.lexv2.amazonaws.com/AWSServiceRoleForLexV2Replication*" ], "Condition": { "StringEquals": { "iam:AWSServiceName": "lexv2.amazonaws.com" } } } ] }