View a markdown version of this page

管理员设置 - Amazon Quick

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

管理员设置

在用户创建 Amazon S3 集成和知识库之前,Amazon Quick 管理员必须完成以下设置任务。

授予亚马逊快速访问亚马逊 S3 存储桶的权限

授予亚马逊快速访问您的组织所需的 Amazon S3 存储桶的权限。无论存储桶位于同一个账户还是不同的 AWS 账户中,这都适用。

  1. 在 Amazon Quick 管理控制台的 “权限” 下,选择AWS 资源

  2. 在 “允许访问和自动发现这些资源” 下,选中 Amazon S3 复选框。

  3. 选择选择 S3 存储桶

  4. “选择 Amazon S3 存储桶” 对话框中,选择与您的存储桶位置相匹配的选项卡:

    • 与@@ 快速账户关联的 S3 存储桶 — 从列表中选择您希望 Amazon Quick 访问的存储桶。默认情况下,选定的存储桶具有只读权限。

    • 您可以访问的 S3 存储桶 AWS — 对于跨账户存储桶,请确保账户所有者已授权您的账户。选择使用其他存储桶,输入存储桶名称,然后选择添加 S3 存储桶

  5. (可选)对于跨账户存储桶,请选择限制知识库创建者对存储桶的访问权限以限制访问权限,以便只有创建知识库的用户才能使用存储桶。

  6. 选择结束

现在,用户可以在创建知识库期间访问选定的存储桶。

准备 IAM 角色和策略设置

Amazon S3 集成使用 AWS 身份验证来访问您的 Amazon S3 存储桶。在用户设置集成之前,请准备好您的 IAM 角色和策略配置。

所需的 IAM 权限

请确保您的 AWS 账户具有以下对 Amazon S3 存储桶的最低权限:

  • s3:GetObject— 读取存储桶中的对象。

  • s3:ListBucket— 列出存储桶内容。

  • s3:GetBucketLocation— 获取存储桶区域信息。

  • s3:GetObjectVersion— 获取对象版本。

  • s3:ListBucketVersions— 列出存储桶版本。

配置 Amazon S3 存储桶权限以进行跨账户访问

如果您使用其他 AWS 账户访问 Amazon S3 存储桶,则必须在源 AWS 账户中配置 IAM 策略。

配置 Amazon S3 存储桶权限以进行跨账户访问
  1. 登录包含 Amazon S3 存储桶的账户的 AWS 管理控制台。

  2. 打开 Amazon S3 控制台,网址为 https://console.aws.amazon.com/s3/

  3. 选择您要授予访问权限的存储桶。

  4. 选择 Permissions,然后选择 Bucket Policy

  5. 添加包含以下元素的存储桶策略:

    • Version— 设置为 “2012-10-17”

    • Statement— 包含政策声明的数组,其中包含:

      • Sid – "AllowQuickSuiteS3Access"

      • Effect— “允许”

      • Principal— 您账户中的 AWS Amazon Quick 服务角色的 ARN。例如,校长应如下所示: "Principal": { "AWS": "arn:aws:iam::<quick_account_id>:role/service-role/aws-quicksight-service-role-v0" }

      • Action— Amazon S3 权限数组:s3: GetObject、s3: ListBucket、s3:、s3: GetBucketLocation、s3: GetObjectVersion、s3:ListBucketVersions

      • Resource— “*”(适用于当前密钥),Amazon S3 存储桶路径应如下所示:"Resource": [ "arn:aws:s3:::bucket_name"]

  6. 选择保存更改

配置 KMS 密钥权限(如果您的存储桶使用加密)

如果您的 Amazon S3 存储桶使用 AWS KMS 加密,请完成以下步骤。

配置 KMS 密钥权限
  1. 打开 AWS 密钥管理服务 (AWS KMS) 控制台,网址为https://console.aws.amazon.com/kms

  2. 选择用于加密您的 Amazon S3 存储桶的 KMS 密钥。

  3. 选择 “密钥策略”,然后选择 “编辑”

  4. 在密钥策略中添加包含以下结构元素的声明:

    • Sid – "AllowQuickSuiteKMSAccess"

    • Effect— “允许”

    • Principal— 您账户中的 AWS Amazon Quick 服务角色的 ARN。例如,校长应如下所示: "Principal": { "AWS": "arn:aws:iam::<quick_account_id>:role/service-role/aws-quicksight-service-role-v0" }

    • Action— KMS 权限数组:kms: decrypt,kms: DescribeKey

    • Resource— “*”(适用于当前密钥),Amazon S3 存储桶路径应如下所示:"Resource": [ "arn:aws:s3:::bucket_name"]

  5. 选择保存更改

  6. 等待 2-3 分钟,让策略更改传播。

在 Amazon Quick 中配置 Amazon S3 连接器的 VPC 访问权限

VPC 权限可确保 Amazon Quick 只能通过安全的 VPC 或 VPC 终端节点连接访问您的 Amazon S3 存储桶。

必需的政策变更

将此声明添加到您的存储桶访问策略中,以允许 Amazon Quick 通过 VPC 终端节点访问您的存储桶:

{ "Sid": "Allow-Quick-access", "Principal": "arn:aws:iam::Quick Account:role/service-role/aws-quicksight-service-role-v0", "Action": "s3:*", "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ], "Condition": { "Null": { "aws:SourceVpce": "false" } } }
  • amzn-s3-demo-bucket替换为存储桶名称。

  • Quick Account用您的 Amazon Quick 账户替换。

"aws:SourceVpce": "false"条件可确保 Amazon Quick 只能通过 VPC 终端节点访问您的存储桶,从而满足您的安全要求。

拒绝策略

如果您的存储桶的策略通过拒绝策略限制流向特定 VPC 或 VPC 终端节点,则必须撤消此政策,因为拒绝策略优先于允许策略。

例如:

{ "Version":"2012-10-17", "Id": "Policy1415115909152", "Statement": [ { "Sid": "Access-to-specific-VPCE-only", "Principal": "*", "Action": "s3:*", "Effect": "Deny", "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*"], "Condition": { "StringNotEquals": { "aws:SourceVpce": "vpce-0abcdef1234567890" } } } ] }

应反转为:

{ "Version":"2012-10-17", "Id": "Policy1415115909152", "Statement": [ { "Sid": "Access-to-specific-VPCE-only", "Principal": "*", "Action": "s3:*", "Effect": "Allow", "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*"], "Condition": { "StringEquals": { "aws:SourceVpce": "vpce-0abcdef1234567890" } } } ] }

最佳实践

限制访问您的 Amazon Quick 角色

访问策略应强制要求来电者是你的 Amazon Quick 角色 ARN,或者至少是你的 Amazon Quick 账户。这样可以确保尽管允许 VPC 流量,但呼叫仅来自预期来源。

安全建议

  • 将策略限制在您的 Amazon Quick 角色上,以获得最安全的流量

  • 定期查看您的存储桶策略,确保它们遵循最低权限原则

通过 IAM 策略分配限制 Amazon S3 存储桶的访问权限

您可以通过创建 IAM 策略并通过 Amazon Quick IAM 策略分配将其分配给特定用户、群组或所有用户,来控制您的 Amazon Quick 用户可以使用哪些 Amazon S3 存储桶来创建知识库。这允许您限制谁可以针对特定的存储分区(包括知识库)创建 ACL-aware 知识库。

注意

通过 Amazon Quick 分配的 IAM 策略优先于 AWS 资源级策略。为确保您的访问要求得到满足,请适当配置您的 IAM 策略。

例如,您可以为需要访问存储桶的特定用户分配限制性策略,同时为非 ACL ACL-aware 存储桶的所有用户分配更广泛的策略。

步骤 1:在 IAM 中创建 Amazon S3 访问策略

在 IAM 控制台中创建一个 AWS IAM 策略,定义用户可以访问哪些 Amazon S3 存储桶来创建知识库。以下示例策略授予对两个特定存储桶的访问权限:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "arn:aws:s3:::*" }, { "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-1", "arn:aws:s3:::amzn-s3-demo-bucket-2" ] }, { "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-1/*", "arn:aws:s3:::amzn-s3-demo-bucket-2/*" ] }, { "Action": [ "s3:ListBucketMultipartUploads", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-1", "arn:aws:s3:::amzn-s3-demo-bucket-2" ] }, { "Action": [ "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-1/*", "arn:aws:s3:::amzn-s3-demo-bucket-2/*" ] } ] }

amzn-s3-demo-bucket-1amzn-s3-demo-bucket-2替换为您想要授予访问权限的 Amazon S3 存储桶的名称。

第 2 步:在 Amazon Quick 中分配策略

创建 IAM 策略后,将其分配给 Amazon Quick 用户或群组。

  1. 在 Amazon Quick 管理控制台的 “权限” 下,选择 IAM 策略分配

  2. 选择 “添加新作业”

  3. 输入任务的名称。

  4. 选择 IAM 策略页面上,搜索并选择您在步骤 1 中创建的 IAM 策略。选择下一步

  5. 分配用户和群组页面上,选择以下选项之一:

    • 选择 “分配给所有用户和群组”,将该策略应用于所有当前和未来的用户。

    • 搜索并选择要向其分配策略的特定用户或组。

    选择下一步

  6. 在 “查看并启用更改” 页面上,验证您的任务详细信息,然后选择 “保存并启用”。

未通过 IAM 策略分配明确授予访问权限的用户将无法访问受限的 Amazon S3 存储桶来创建集成或知识库。