

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

# 先决条件
<a name="gs-prerequisites"></a>

以下步骤是入门练习的先决条件。这些步骤向您展示了如何设置账户、创建 Amazon Kendra 允许代表您拨打电话的 IAM 角色以及如何为 Amazon S3 存储桶中的文档编制索引。我们以 S3 存储桶为例，但您可以使用其他 Amazon Kendra 支持的数据来源。选择[数据来源](https://docs.aws.amazon.com/kendra/latest/dg/hiw-data-source.html)。

## 注册获取 AWS 账户
<a name="sign-up-for-aws"></a>

如果您没有 AWS 账户，请完成以下步骤来创建一个。

**报名参加 AWS 账户**

1. 打开[https://portal.aws.amazon.com/billing/注册。](https://portal.aws.amazon.com/billing/signup)

1. 按照屏幕上的说明操作。

   在注册时，将接到电话或收到短信，要求使用电话键盘输入一个验证码。

   当您注册时 AWS 账户，就会创建*AWS 账户根用户*一个。根用户有权访问该账户中的所有 AWS 服务 和资源。作为最佳安全实践，请为用户分配管理访问权限，并且只使用根用户来执行[需要根用户访问权限的任务](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

AWS 注册过程完成后会向您发送一封确认电子邮件。您可以随时前往 [https://aws.amazon.com/](https://aws.amazon.com/)并选择 “**我的账户”，查看您当前的账户活动并管理您的账户**。

## 创建具有管理访问权限的用户
<a name="create-an-admin"></a>

注册后，请保护您的安全 AWS 账户 AWS 账户根用户 AWS IAM Identity Center，启用并创建管理用户，这样您就不会使用 root 用户执行日常任务。

**保护你的 AWS 账户根用户**

1.  选择 **Root 用户**并输入您的 AWS 账户 电子邮件地址，以账户所有者的身份登录。[AWS 管理控制台](https://console.aws.amazon.com/)在下一页上，输入您的密码。

   要获取使用根用户登录方面的帮助，请参阅《AWS 登录 用户指南》**中的 [Signing in as the root user](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)。

1. 为您的根用户启用多重身份验证（MFA）。

   有关说明，请参阅 I [A *M* 用户指南中的为 AWS 账户 根用户启用虚拟 MFA 设备（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)。

**创建具有管理访问权限的用户**

1. 启用 IAM Identity Center。

   有关说明，请参阅**《AWS IAM Identity Center 用户指南》中的[启用 AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)。

1. 在 IAM Identity Center 中，为用户授予管理访问权限。

   有关使用 IAM Identity Center 目录 作为身份源的教程，请参阅《[用户*指南》 IAM Identity Center 目录中的使用默认设置配置AWS IAM Identity Center 用户*访问权限](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html)。

**以具有管理访问权限的用户身份登录**
+ 要使用您的 IAM Identity Center 用户身份登录，请使用您在创建 IAM Identity Center 用户时发送到您的电子邮件地址的登录 URL。

  有关使用 IAM Identity Center 用户[登录的帮助，请参阅*AWS 登录 用户指南*中的登录 AWS 访问门户](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)。

**将访问权限分配给其他用户**

1. 在 IAM Identity Center 中，创建一个权限集，该权限集遵循应用最低权限的最佳做法。

   有关说明，请参阅《AWS IAM Identity Center 用户指南》**中的 [Create a permission set](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)。

1. 将用户分配到一个组，然后为该组分配单点登录访问权限。

   有关说明，请参阅《AWS IAM Identity Center 用户指南》**中的 [Add groups](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)。
+ 如果您使用的是包含要测试的文档的 S3 存储桶 Amazon Kendra，请在您使用的同一区域创建一个 S3 存储桶 Amazon Kendra。有关说明，请参阅 *《Amazon Simple Storage Service 用户指南》*中的[创建和配置 S3 存储桶](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-configure-bucket.html)。

  将您的文档上载到 S3 存储桶。有关说明，请参阅*《Amazon Simple Storage Service 用户指南》*中的[上传、下载和管理对象](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-download-objects.html)。

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

如果您使用控制台来开始使用，请从 [Amazon Kendra 控制台入门](gs-console.md) 开始。

## Amazon Kendra 资源： AWS CLI、SDK、控制台
<a name="gs-prereq-cli-sdk"></a>

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

要用 Amazon Kendra 于 CLI、SDK 或控制台，您必须拥有 Amazon Kendra 允许代表您创建和管理资源的权限。根据您的用例，这些权限包括访问 Amazon Kendra API 本身（ AWS KMS keys 如果您想通过自定义 CMK 加密数据），如果您想与搜索体验集成 AWS IAM Identity Center 或[创建搜索体验](https://docs.aws.amazon.com/kendra/latest/dg/deploying-search-experience-no-code.html)，则包括 Identity Center 目录。有关不同使用案例的完整权限列表，请参阅 [IAM 角色](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html)。

首先，您必须将以下权限授予您的 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 角色和策略。您可以将其作为控制台过程的一部分创建。

**为和 SDK 创建允许 Amazon Kendra 访问您的 IAM 角色 AWS CLI 和策略 Amazon CloudWatch Logs。**

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在左侧菜单中，选择**策略**，然后选择**创建策略**。

1. 选择 **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:*"
               ]
           }
       ]
   }
   ```

------

1. 选择**查看策略**。

1. 将策略命名为 "KendraPolicyForGettingStartedIndex"，然后单击**创建策略**。

1. 在左侧菜单中，选择**角色**，然后选择**创建角色**。

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

1. 选择您创建的策略，然后选择**下一步：标签**。

1. 请勿添加任何标签。选择**下一步：审核**。

1. 将角色命名为 "KendraRoleForGettingStartedIndex"，然后单击**创建角色**。

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

1. 将现有信任关系替换为内容：

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Principal": {
             "Service": "kendra.amazonaws.com"
           },
           "Action": "sts:AssumeRole"
         }
       ]
   }
   ```

------

1. 选择**更新信任策略**。

第三，如果您使用存储文档或使用 S3 进行测试 Amazon Kendra，则还必须创建 IAM 角色和策略才能访问您的存储桶。 Amazon S3 如果您正在使用其他数据来源，请参阅 [数据来源的IAM 角色](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)。

**创建允许 Amazon Kendra 访问 Amazon S3 存储桶并为其编制索引的 IAM 角色和策略。**

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在左侧菜单中，选择**策略**，然后选择**创建策略**。

1. 选择 **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/*"
           }
       ]
   }
   ```

------

1. 选择**查看策略**。

1. 将策略命名为 KendraPolicyForGettingStartedDataSource “”，然后选择**创建策略**。

1. 在左侧菜单中，选择**角色**，然后选择**创建角色**。

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

1. 选择您创建的策略，然后选择**下一步：标签**。

1. 请勿添加任何标签。选择**下一步：审核**。

1. 将角色命名为 “KendraRoleForGettingStartedDataSource”，然后选择 “**创建角色**”。

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

1. 将现有信任关系替换为内容：

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Principal": {
             "Service": "kendra.amazonaws.com"
           },
           "Action": "sts:AssumeRole"
         }
       ]
   }
   ```

------

1. 选择**更新信任策略**。

根据您想要如何使用 Amazon Kendra API，请执行以下任一操作。
+ [入门 (AWS CLI)](gs-cli.md)
+ [入门 (适用于 Java 的 AWS SDK)](gs-java.md)
+ [入门 (适用于 Python (Boto3) 的 AWS SDK)](gs-python.md)