View a markdown version of this page

先决条件 - Amazon Kendra

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

先决条件

以下步骤是入门练习的先决条件。这些步骤向您展示了如何设置账户、创建 Amazon Kendra 允许代表您拨打电话的 IAM 角色以及如何为 Amazon S3 存储桶中的文档编制索引。我们以 S3 存储桶为例,但您可以使用其他 Amazon Kendra 支持的数据来源。选择数据来源

注册获取 AWS 账户

要开始使用 AWS,你需要一个 AWS 账户。有关创建的信息 AWS 账户,请参阅《AWS 账户管理 参考指南》 AWS 账户中的入门指南

  • 如果您使用的是包含要测试的文档的 S3 存储桶 Amazon Kendra,请在您使用的同一区域创建一个 S3 存储桶 Amazon Kendra。有关说明,请参阅 《Amazon Simple Storage Service 用户指南》中的创建和配置 S3 存储桶

    将您的文档上载到 S3 存储桶。有关说明,请参阅《Amazon Simple Storage Service 用户指南》中的上传、下载和管理对象

    如果您使用的是其他数据来源,则必须具有活动站点和凭证才能连接到该数据来源。

如果您使用控制台来开始使用,请从 开始使用 Amazon Kendra 控制台 开始。

Amazon Kendra 资源: AWS CLI、SDK、控制台

如果您使用 CLI、开发工具包或控制台,则需要某些权限。

要用 Amazon Kendra 于 CLI、SDK 或控制台,您必须拥有 Amazon Kendra 允许代表您创建和管理资源的权限。根据您的用例,这些权限包括访问 Amazon Kendra API 本身( AWS KMS keys 如果您想通过自定义 CMK 加密数据),如果您想与搜索体验集成 AWS IAM Identity Center 或创建搜索体验,则包括 Identity Center 目录。有关不同使用案例的完整权限列表,请参阅 IAM 角色

首先,您必须将以下权限授予您的 IAM 用户。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Stmt1644430853544", "Action": [ "kms:CreateGrant", "kms:DescribeKey" ], "Effect": "Allow", "Resource": "*" }, { "Sid": "Stmt1644430878150", "Action": "kendra:*", "Effect": "Allow", "Resource": "*" }, { "Sid": "Stmt1644430973706", "Action": [ "sso:AssociateProfile", "sso:CreateManagedApplicationInstance", "sso:DeleteManagedApplicationInstance", "sso:DisassociateProfile", "sso:GetManagedApplicationInstance", "sso:GetProfile", "sso:ListDirectoryAssociations", "sso:ListProfileAssociations", "sso:ListProfiles" ], "Effect": "Allow", "Resource": "*" }, { "Sid": "Stmt1644430999558", "Action": [ "sso-directory:DescribeGroup", "sso-directory:DescribeGroups", "sso-directory:DescribeUser", "sso-directory:DescribeUsers" ], "Effect": "Allow", "Resource": "*" }, { "Sid": "Stmt1644431025960", "Action": [ "identitystore:DescribeGroup", "identitystore:DescribeUser", "identitystore:ListGroups", "identitystore:ListUsers" ], "Effect": "Allow", "Resource": "*" } ] }

其次,如果您使用 CLI 或 SDK,则还必须创建要访问的 IAM 角色和策略 Amazon CloudWatch Logs。如果您使用的是控制台,则无需为此创建 IAM 角色和策略。您可以将其作为控制台过程的一部分创建。

要创建 IAM 的角色和政策 AWS CLI 以及允许的 SDK Amazon Kendra 访问你的 Amazon CloudWatch Logs.
  1. 登录 AWS 管理控制台 并打开 IAM 控制台,网址为https://console.aws.amazon.com/iam/

  2. 在左侧菜单中,选择策略,然后选择创建策略

  3. 选择 JSON,并将默认策略替换为以下策略:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData" ], "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": "AWS/Kendra" } } }, { "Effect": "Allow", "Action": [ "logs:DescribeLogGroups" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:/aws/kendra/*" ] }, { "Effect": "Allow", "Action": [ "logs:DescribeLogStreams", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:/aws/kendra/*:log-stream:*" ] } ] }
  4. 选择查看策略

  5. 将策略命名为 "KendraPolicyForGettingStartedIndex",然后单击创建策略

  6. 在左侧菜单中,选择角色,然后选择创建角色

  7. 选择 “其他 AWS 账户”,然后在 “账户 ID” 中键入您的账户 ID。选择下一步: 权限

  8. 选择您创建的策略,然后选择下一步:标签

  9. 请勿添加任何标签。选择下一步:审核

  10. 将角色命名为 "KendraRoleForGettingStartedIndex",然后单击创建角色

  11. 找到您刚才创建的角色。选择角色名称以打开摘要。选择信任关系,然后选择编辑信任关系

  12. 将现有信任关系替换为内容:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "kendra.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  13. 选择更新信任策略

第三,如果您使用存储文档或使用 S3 进行测试 Amazon Kendra,则还必须创建 IAM 角色和策略才能访问您的存储桶。 Amazon S3 如果您正在使用其他数据来源,请参阅 数据来源的IAM 角色

要创建 IAM 角色和策略,允许 Amazon Kendra 访问和索引您的 Amazon S3 桶。
  1. 登录 AWS 管理控制台 并打开 IAM 控制台,网址为https://console.aws.amazon.com/iam/

  2. 在左侧菜单中,选择策略,然后选择创建策略

  3. 选择 JSON,并将默认策略替换为以下策略:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::bucket name/*" ], "Effect": "Allow" }, { "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket name" ], "Effect": "Allow" }, { "Effect": "Allow", "Action": [ "kendra:BatchPutDocument", "kendra:BatchDeleteDocument" ], "Resource": "arn:aws:kendra:us-east-1:123456789012:index/*" } ] }
  4. 选择查看策略

  5. 将策略命名为 KendraPolicyForGettingStartedDataSource “”,然后选择创建策略

  6. 在左侧菜单中,选择角色,然后选择创建角色

  7. 选择 “其他 AWS 账户”,然后在 “账户 ID” 中键入您的账户 ID。选择下一步: 权限

  8. 选择您创建的策略,然后选择下一步:标签

  9. 请勿添加任何标签。选择下一步:审核

  10. 将角色命名为 “KendraRoleForGettingStartedDataSource”,然后选择 “创建角色”。

  11. 找到您刚才创建的角色。选择角色名称以打开摘要。选择信任关系,然后选择编辑信任关系

  12. 将现有信任关系替换为内容:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "kendra.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  13. 选择更新信任策略

根据您想要如何使用 Amazon Kendra API,请执行以下任一操作。