先决条件:IAM 角色和 Amazon S3 访问权限 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

先决条件:IAM 角色和 Amazon S3 访问权限

从 Amazon Simple Storage Service (Amazon S3) 存储桶中加载数据需要Amazon Identity and Access Management有权访问存储桶的 IAM) 角色。Amazon Neptune 代入此角色以加载数据。

注意

在使用 Amazon S3 加密的情况下,您可从 Amazon S3 加载加密数据。SSE-S3模式。在这种情况下,Neptune 能够模拟您的凭证并发出。s3:getObject代表你打电话。

您也可以从 Amazon S3 加载使用SSE-KMS模式,只要您的 IAM 角色包括访问的必要权限,则Amazon KMS. 如果没有适当的 Amazon KMS 权限,批量加载操作将失败并返回 LOAD_FAILED 响应。

Neptune 当前不支持加载使用SSE-C模式。

以下各部分演示如何使用托管 IAM 策略创建 IAM 角色以访问 Amazon S3 资源,然后将此角色附加到 Neptune 集群。

注意

这些说明需要具有对 IAM 控制台的访问权限以及管理 IAM 角色和策略的权限。有关更多信息,请参阅 。在 中工作的权限Amazon管理控制台中的IAM 用户指南.

Amazon Neptune 控制台需要用户具有以下 IAM 权限以将角色附加到 Neptune 集群:

iam:GetAccountSummary on resource: * iam:ListAccountAliases on resource: * iam:PassRole on resource: * with iam:PassedToService restricted to rds.amazonaws.com

创建 IAM 角色以允许 Amazon Neptune 访问 Amazon S3 资源

使用AmazonS3ReadOnlyAccess托管 IAM 策略,以创建一个新的 IAM 角色,允许 Amazon Neptune 访问 Amazon S3 资源。

创建允许 Neptune 访问 Amazon S3 的新 IAM 角色

  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择 Roles(角色)。

  3. 选择 Create role(创建角色)。

  4. UDEAmazon服务,选择S3.

  5. 选择 Next:。Permissions (下一步:权限)

  6. 使用筛选框通过词语 S3 进行筛选并选中 AmazonS3ReadOnlyAccess 旁边的框。

    注意

    此策略向所有存储桶授予 s3:Get*s3:List* 权限。后续步骤使用信任策略限制对角色的访问。

    加载器只需要s3:Get*s3:List*要从中加载的存储桶的权限,这样您也可以通过 Amazon S3 资源限制这些权限。

    如果 S3 存储桶已加密,您需要添加 kms:Decrypt 权限

  7. 选择 Next:。审核

  8. Set角色名称将其定义为您的 IAM 角色的名称,例如:NeptuneLoadFromS3. 您也可以添加可选的角色描述值,例如,“允许 Neptune 代表您访问 Amazon S3 资源。”

  9. 请选择 Create Role(创建角色)。

  10. 在导航窗格中,选择 Roles(角色)。

  11. Search (搜索) 字段中,输入已创建的角色的名称,然后选择列表中显示的角色。

  12. Trust Relationships (信任关系) 选项卡上,选择 Edit trust relationship (编辑信任关系)

  13. 在文本字段中,粘贴以下信任策略。

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

  15. 完成 将 IAM 角色添加到 Amazon Neptune 集群 中的步骤。

将 IAM 角色添加到 Amazon Neptune 集群

使用控制台将 IAM 角色添加到 Amazon Neptune 集群。这允许集群中的任何 Neptune 数据库实例代入此角色并从 Amazon S3 加载。

注意

Amazon Neptune 控制台需要用户具有以下 IAM 权限以将角色附加到 Neptune 集群:

iam:GetAccountSummary on resource: * iam:ListAccountAliases on resource: * iam:PassRole on resource: * with iam:PassedToService restricted to rds.amazonaws.com

将 IAM 角色添加到 Amazon Neptune 集群

  1. 登录到Amazon并通过以下网址打开 Amazon Neptune 控制台:https://console.aws.amazon.com/neptune/home.

  2. 在导航窗格中,选择 Databases(数据库)。

  3. 选择要修改的集群旁边的单选按钮。

  4. Actions (操作) 下,选择 Manage IAM roles (管理 IAM 角色)

  5. 选择在上一部分中创建的角色。

  6. 选择完成

  7. 请耐心等待,直到 IAM 角色可供集群使用。

创建 Amazon S3 VPC 终端节点

Amazon S3 需要 VPC 终端节点。

设置 Amazon S3 访问权限

  1. 登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon VPC 控制台:https://console.aws.amazon.com/vpc/

  2. 在导航窗格中,选择 Endpoints(端点)

  3. 选择 Create Endpoint(创建终端节点)。

  4. 选择 Service Name (服务名称) com.amazonaws.region.s3

    注意

    如果此处的区域不正确,请确保控制台区域正确。

  5. 选择包含您的 Neptune 数据库实例的 VPC。

  6. 选中与子网 (与集群相关) 关联的路由表旁边的复选框。如果只有一个路由表,则必须选中该框。

  7. 选择 Create Endpoint(创建端点)

有关创建终端节点的信息,请参阅VPC 终端节点中的Amazon VPC User Guide. 有关 VPC 终端节点的限制的信息,请参阅。适用于 Amazon S3 的 VPC 终端节点.

后续步骤

现在已授予对 Amazon S3 存储桶的访问权限,可准备加载数据。有关所支持格式的信息,请参阅加载数据格式