翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
あるリソースベースのポリシーは、ボットやボットのエイリアスなどのリソースにアタッチされています。リソースベースのポリシーによって、リソースにアクセスできるユーザーと、そのユーザーが実行できるアクションを指定できます。例えば、ユーザーが特定のボットを変更できるようにするリソースベースのポリシーを追加したり、特定のボットエイリアスに対してユーザーがランタイムオペレーションを使用することができます。
リソースベースのポリシーを使用するときは、アカウントのリソースに他の AWS サービスがアクセスすることを許可することができます。例えば、Amazon Connect に Amazon Lex ボットへのアクセスを許可できます。
ボットまたはボットエイリアスを作成する方法については、「Amazon Lex V2 ボットの使用」を参照してください。
トピック
コンソールを使用してリソースベースのポリシーを指定します。
Amazon Lex コンソールを使用して、ボットとボットエイリアスのリソースベースのポリシーを管理できます。ポリシーのJSON構造を入力すると、コンソールはポリシーをリソースに関連付けます。リソースにポリシーがすでに関連付けられている場合は、コンソールを使用してポリシーを表示および変更できます。
ポリシーエディタでポリシーを保存すると、コンソールはポリシーの構文をチェックします。ポリシーに、存在しないユーザーやリソースでサポートされていないアクションなどのエラーが含まれている場合は、エラーを返し、ポリシーを保存しません。
次に、コンソール内のボットのリソースベースのポリシーエディタを示します。ボットエイリアスのポリシーエディタも同様です。
ボットのポリシーエディタを開くには
にサインイン AWS Management Console し、 で Amazon Lex コンソールを開きますhttps://console.aws.amazon.com/lex/
。 -
[ボット] リストから、ポリシーを編集するボットを選択します。
-
[リソースベースのポリシー] セクションで、[編集]を選択します。
ボットエイリアスのポリシーエディタを開くには
にサインイン AWS Management Console し、 で Amazon Lex コンソールを開きますhttps://console.aws.amazon.com/lex/
。 -
[ボット] リストから、編集するエイリアスを含むボットを選択します。
-
左側のメニューから、[エイリアス] を選択し、[エイリアスの作成] を選択します。
-
[リソースベースのポリシー] セクションで、[編集]を選択します。
を使用してリソースベースのポリシーAPIを指定する
API オペレーションを使用して、ボットとボットエイリアスのリソースベースのポリシーを管理できます。ポリシーを作成、更新、および削除するオペレーションがあります。
- CreateResourcePolicy
-
指定されたポリシーステートメントを持つ新しいリソースポリシーをボットまたはボットのエイリアスに追加します。
- CreateResourcePolicyStatement
-
新しいリソースポリシーステートメントをボットまたはボットのエイリアスに追加します。
- DeleteResourcePolicy
-
ボットまたはボットのエイリアスからリソースポリシーを削除します。
- DeleteResourcePolicyStatement
-
ボットまたはボットのエイリアスからリソースポリシーステートメントを削除します。
- DescribeResourcePolicy
-
リソースポリシーとポリシーリビジョンを取得します。
- UpdateResourcePolicy
-
ボットまたはボットのエイリアスの既存のリソースポリシーを新しいリソースポリシーに置き換えます。
IAM ロールにボットの更新とボットエイリアスの一覧表示を許可する
次の例では、Amazon Lex V2 モデル構築APIオペレーションを呼び出して既存のボットを変更するアクセス許可を特定のIAMロールに付与します。ユーザーはボットのエイリアスを一覧表示してボットを更新できますが、ボットまたはボットのエイリアスは削除できません。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "botBuilders
",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012
:role/BotBuilder
"
},
"Action": [
"lex:ListBotAliases",
"lex:UpdateBot"
],
"Resource": [
"arn:aws:lex:Region
:123456789012
:bot/MYBOT
"
]
}
]
}
ユーザーにボットとの会話を許可する
次の例では、ボットの単一のエイリアスで Amazon Lex V2 ランタイムAPIオペレーションを呼び出すアクセス許可を特定のユーザーに付与します。
ユーザーには、ボットエイリアスを更新または削除する許可が特に拒否されています。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "botRunners",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012
:user/botRunner
"
},
"Action": [
"lex:RecognizeText",
"lex:RecognizeUtterance",
"lex:StartConversation",
"lex:DeleteSession",
"lex:GetSession",
"lex:PutSession"
],
"Resource": [
"arn:aws:lex:Region
:123456789012
:bot-alias/MYBOT
/MYBOTALIAS
"
]
},
{
"Sid": "botRunners",
"Effect": "Deny",
"Principal": {
"AWS": "arn:aws:iam::123456789012
:user/botRunner
"
},
"Action": [
"lex:UpdateBotAlias",
"lex:DeleteBotAlias"
],
"Resource": [
"arn:aws:lex:Region
:123456789012
:bot-alias/MYBOT
/MYBOTALIAS
"
]
}
]
}
AWS サービスに特定の Amazon Lex V2 ボットの使用を許可する
次の例では、 AWS Lambda と Amazon Connect に Amazon Lex V2 ランタイムAPIオペレーションを呼び出すアクセス許可を付与します。
条件ブロックはサービスプリンシパルに必要であり、グローバルコンテキストキー AWS:SourceAccount
および AWS:SourceArn
を使用する必要があります。
AWS:SourceAccount
は、Amazon Lex V2 ボットを呼び出しているアカウント ID です。
AWS:SourceArn
は、Amazon Lex V2 ボットエイリアスの呼び出し元の Amazon Connect Amazon Lex サービスインスタンスまたは Lambda 関数ARNのリソースです。 V2
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "connect-bot-alias
",
"Effect": "Allow",
"Principal": {
"Service": [
"connect.amazonaws.com"
]
},
"Action": [
"lex:RecognizeText",
"lex:StartConversation"
],
"Resource": [
"arn:aws:lex:Region
:123456789012
:bot-alias/MYBOT
/MYBOTALIAS
"
],
"Condition": {
"StringEquals": {
"AWS:SourceAccount": "123456789012
"
},
"ArnEquals": {
"AWS:SourceArn": "arn:aws:connect:Region
:123456789012
:instance/instance-id
"
}
}
},
{
"Sid": "lambda-function
",
"Effect": "Allow",
"Principal": {
"Service": [
"lambda.amazonaws.com"
]
},
"Action": [
"lex:RecognizeText",
"lex:StartConversation"
],
"Resource": [
"arn:aws:lex:Region
:123456789012
:bot-alias/MYBOT
/MYBOTALIAS
"
],
"Condition": {
"StringEquals": {
"AWS:SourceAccount": "123456789012
"
},
"ArnEquals": {
"AWS:SourceArn": "arn:aws:lambda:Region
:123456789012
:function/function-name
"
}
}
}
]
}