本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 JSON
以下示例说明如何在创建索引时使用 JSON 进行用户访问控制。
警告
JSON 令牌是未经验证的有效负载。只有当对 Amazon Kendra 的请求来自可信服务器而不是浏览器时,才应使用此选项。
- Console
-
-
选择创建索引以开始创建新索引。
-
在指定索引详细信息页面上,为您的索引指定名称和描述。
-
对于 IAM 角色,选择一个角色或选择创建新角色,并指定角色名称来创建新角色。该 IAM 角色将带有前缀 “AmazonKendra-”。
-
将所有其他字段保留为默认值。选择下一步。
-
在配置用户访问控制页面上,在访问控制设置下,选择是以使用令牌进行访问控制。
-
在令牌配置下,选择 JSON 作为令牌类型。
-
指定要在 ACL 检查中使用的用户名。
-
指定要在 ACL 检查中使用的一个或多个组。
-
选择下一步。
-
在配置详细信息页面中,选择开发者版本。
-
选择创建以创建索引。
-
等待您的索引创建完成。 Amazon Kendra 为您的索引配置硬件。此操作可能需要一些时间。
-
- CLI
-
要使用 JSON 输入文件创建索引,请先 AWS CLI 使用所需参数创建一个 JSON 文件:
{ "Name": "
user-context
", "Edition": "ENTERPRISE_EDITION
", "RoleArn": "arn:aws:iam::account-id
:role:/my-role
", "UserTokenConfigurations": [ { "JsonTokenTypeConfiguration": { "UserNameAttributeField": "user", "GroupAttributeField": "group" } } ], "UserContextPolicy": "USER_TOKEN" }接下来,使用输入文件调用
create-index
。例如,如果您的 JSON 文件名为create-index-openid.json
,则可以使用以下名称:aws kendra create-index --cli-input-json file://create-index-openid.json
如果您未使用 Open ID AWS IAM Identity Center,则可以将 JSON 格式的令牌发送给我们。如果这样做,则必须指定 JSON 令牌中的哪个字段包含用户名,哪个字段包含组。组字段值必须是 JSON 字符串数组。例如,如果您使用 SAML,您的令牌可能类似于以下内容:
{ "username" : "user1", "groups": [ "group1", "group2" ] }
TokenConfiguration
指定用户名和组字段名称:{ "UserNameAttributeField":"username", "GroupAttributeField":"groups" }
- Python
-
response = kendra.create_index( Name='
user-context
', Edition='ENTERPRISE_EDITION
', RoleArn='arn:aws:iam::account-id
:role:/my-role
', UserTokenConfigurations=[ { "JwtTokenTypeConfiguration": { "UserNameAttributeField": "user
", "GroupAttributeField": "group
", } } ], UserContextPolicy='USER_TOKEN' )
使用带有公有密钥的 JSON Web 令牌(JWT)
创建数据来源连接器