创建和使用用于访问 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 不同。您必须构建如为 Neptune 数据库集群构建资源 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,请参阅 为 Neptune 数据库集群构建资源 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 格式构建。有关更多信息,请参阅 为 Neptune 数据库集群构建资源 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 格式构建。有关更多信息,请参阅 为 Neptune 数据库集群构建资源 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 格式构建。有关更多信息,请参阅 为 Neptune 数据库集群构建资源 ARN

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