创建和使用用于访问 Neptune 的您自己的 IAM 策略 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

创建和使用用于访问 Neptune 的您自己的 IAM 策略

要允许 IAM 用户连接到 Amazon Neptune 数据库集群,必须创建 IAM 策略。之后,将该策略附加到 IAM 用户或角色。有关将策略附加到角色的信息,请参阅添加和删除 IAM 策略中的IAM 用户指南.

注意

IAM 策略、IAM 用户和 Neptune 数据库集群必须位于同一账户中。不支持跨账户访问。

以下示例策略允许 IAM 用户使用 IAM 数据库身份验证连接到 Neptune 数据库集群。

重要

这些区域有:neptune-dbIAM 授权的 Amazon 资源名称 (ARN)Resource与创建时分配给集群的 ARN 不同。您必须构建如为集群构建资源 ARN 中所示的 ARN。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "neptune-db:*" ], "Resource": [ "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*" ] } ] }
重要

neptune-db: 前缀和 neptune-db:* 操作仅适用于 IAM 数据库身份验证。它们在任何其他上下文中无效。

以上示例包含采用特定于 Neptune IAM 身份验证的格式的资源 ARN。如需构造 ARN,请参阅 为集群构建资源 ARN。IAM 授权 Resource 的 ARN 与创建时分配给集群的 ARN 不同。ARN 的构造如下所示。

更多 IAM 自定义策略示例

以下示例策略要求您构建资源 ARN。该示例资源 ARN 可使用通配符以包含多个资源。

重要
  • 对 IAM 策略的更改将需要长达 10 分钟才能应用于指定 Neptune 资源。

  • 应用于 Neptune 数据库集群的 IAM 策略将应用于集群中的所有实例。

授予对所有集群的访问权限

以下策略使用”*“字符匹配特定数据库集群Amazon区域账户和区域。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "neptune-db:*" ], "Resource": [ "arn:aws:neptune-db:us-east-1:123456789012:*/*" ] } ] }

IAM 用户有权访问 Neptune 数据库集群上的所有内容。Neptune 不支持精细访问控制。

策略的 "Resource" 列表中的资源 ARN 与集群 ARN 不同。它必须根据资源 ARN 格式构建。有关更多信息,请参阅为集群构建资源 ARN

拒绝对特定集群的访问

以下策略拒绝对特定的数据库集群的访问:Amazon账户和Amazon区域。

默认 IAM 操作为拒绝对数据库集群的访问,除非Allow Effect授予。

为确保阻止访问,可使用 Deny 效果。显式 Deny效果优先于任何 Allow 效果

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "neptune-db:*" ], "Resource": [ "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD1234EFGH5678IJKL90MNOP/*" ] } ] }

IAM 用户拒绝对 Neptune 数据库集群上所有内容的访问。Neptune 不支持精细访问控制。

策略的 "Resource" 列表中的资源 ARN 与集群 ARN 不同。它必须根据资源 ARN 格式构建。有关更多信息,请参阅为集群构建资源 ARN

拒绝对所有集群的访问

以下策略拒绝对特定数据库集群的所有数据库集群的访问。Amazon区域账户和区域。

默认 IAM 操作为拒绝对数据库集群的访问,除非Allow Effect授予。

为确保阻止访问,可使用 Deny 效果。显式 Deny效果优先于任何 Allow 效果

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "neptune-db:*" ], "Resource": [ "arn:aws:neptune-db:us-east-1:123456789012:*/*" ] } ] }

IAM 用户拒绝对 Neptune 数据库集群上所有内容的访问。Neptune 不支持精细访问控制。

策略的 "Resource" 列表中的资源 ARN 与集群 ARN 不同。它必须根据资源 ARN 格式构建。有关更多信息,请参阅为集群构建资源 ARN

接下来,您将 IAM 策略附加到用户。有关更多信息,请参阅将 IAM 策略附加到 IAM 用户