本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
一般管理策略示例
以下示例说明如何创建 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
标签设置为 dev
或 test
的任何数据库实例上使用 ModifyDBInstance
、CreateDBInstance
或 DeleteDBInstance
API:
{ "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"
}
}
}
]
}