本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为 Amazon Neptune 创建IAM管理政策声明
一般管理策略示例
以下示例说明如何创建 Neptune 管理策略,以授予对数据库集群执行各种管理操作的权限。
防止IAM用户删除指定数据库实例的策略
以下是防止IAM用户删除指定的 Neptune 数据库实例的策略示例:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyDeleteOneInstance", "Effect": "Deny", "Action": "rds:DeleteDBInstance", "Resource": "arn:aws:rds:
us-west-2
:123456789012
:db:my-instance-name
" } ] }
授予创建新数据库实例的权限的策略
以下是允许IAM用户在指定的 Neptune 数据库集群中创建数据库实例的示例策略:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateInstance", "Effect": "Allow", "Action": "rds:CreateDBInstance", "Resource": "arn:aws:rds:
us-west-2
:123456789012
:cluster:my-cluster
" } ] }
授予创建新数据库实例(使用特定数据库参数组)的权限的策略
以下是一个策略示例,允许IAM用户仅使用指定的数据库参数组在指定的 Neptune 数据库集群中的指定数据库集群(此处us-west-2
)中创建数据库实例。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateInstanceWithPG", "Effect": "Allow", "Action": "rds:CreateDBInstance", "Resource": [ "arn:aws:rds:
us-west-2
:123456789012
:cluster:my-cluster
", "arn:aws:rds:us-west-2
:123456789012
:pg:my-instance-pg
" ] } ] }
授予描述任何资源的权限的策略
以下是允许IAM用户描述任何 Neptune 资源的策略示例。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowDescribe", "Effect": "Allow", "Action": "rds:Describe*", "Resource": * } ] }
基于标签的管理策略示例
以下示例说明如何创建 Neptune 管理策略,这些策略将进行标记,以筛选在数据库集群上执行各种管理操作的权限。
示例 1:使用可以取多个值的自定义标签,授予对资源执行操作的权限
以下策略允许在env
标签设置为CreateDBInstance
或的任何数据库实例DeleteDBInstance
API上使用dev
或test
:ModifyDBInstance
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowDevTestAccess", "Effect": "Allow", "Action": [ "rds:ModifyDBInstance", "rds:CreateDBInstance", "rds:DeleteDBInstance" ], "Resource": "*", "Condition": { "StringEquals": { "rds:db-tag/env": [ "dev", "test" ], "rds:DatabaseEngine": "neptune" } } } ] }
示例 2:限制可用于对资源进行标记的一组标签键和值
此策略使用 Condition
键来允许将键 env
且值为 test
、qa
或 dev
的标签添加到资源中:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowTagAccessForDevResources", "Effect": "Allow", "Action": [ "rds:AddTagsToResource", "rds:RemoveTagsFromResource" ], "Resource": "*", "Condition": { "StringEquals": { "rds:req-tag/env": [ "test", "qa", "dev" ], "rds:DatabaseEngine": "neptune" } } } ] }
示例 3:允许基于 aws:ResourceTag
对 Neptune 资源进行完全访问
以下策略与上面的第一个示例类似,但改为使用 aws:ResourceTag
:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowFullAccessToDev", "Effect": "Allow", "Action": [ "rds:*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/env": "dev", "rds:DatabaseEngine": "neptune" } } } ] }