

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

# 创建自定义 IAM 策略语句来管理 Amazon Neptune
<a name="iam-admin-policies"></a>

管理策略语句允许您控制 IAM 用户可以执行哪些操作来管理 Neptune 数据库。

Neptune 管理策略语句授予对 Neptune 支持的一项或多项[管理操作](neptune-iam-admin-actions.md)和[管理资源](iam-admin-resources.md)的访问权限。您还可以使用[条件键](iam-admin-condition-keys.md)以使管理权限更具体。

**注意**  
由于 Neptune 与 Amazon RDS 共享功能，因此管理策略语句中的管理操作、资源和特定于服务的条件键在设计上使用 `rds:` 前缀。

**Topics**
+ [用于管理 Amazon Neptune 的 IAM 操作](neptune-iam-admin-actions.md)
+ [用于管理 Amazon Neptune 的 IAM 资源类型](iam-admin-resources.md)
+ [用于管理 Amazon Neptune 的 IAM 条件键](iam-admin-condition-keys.md)
+ [创建适用于 Amazon Neptune 的 IAM 管理策略语句](iam-admin-policy-examples.md)

# 用于管理 Amazon Neptune 的 IAM 操作
<a name="neptune-iam-admin-actions"></a>

您可以使用下面在 IAM 策略声明`Action`元素中列出的管理操作来控制对 Nep [tune](api.md) 管理层的访问权限。 APIs您在策略中使用一项操作时，通常使用相同的名称允许或拒绝对 API 操作或 CLI 命令的访问。但在某些情况下，单一动作可控制对多项操作的访问。还有某些操作需要多种不同的动作。

下表中的 `Resource type` 字段指示每项操作是否支持资源级权限。如果此字段中没有任何值，您必须在策略语句的 `Resource` 元素中指定所有资源 ("\$1")。如果该列包含一种资源类型，则可以在含有该操作的语句中指定该类型的资源 ARN。[本页](iam-admin-resources.md)列出了 Neptune 管理资源类型。

必需资源在下面的列表中以星号 (\$1) 指示。如果在使用该操作的语句中指定资源级权限 ARN，则它必须属于该类型。某些操作支持多种资源类型。如果资源类型是可选的（换句话说，没有用星号标记），则不必将其包括在内。

有关此处列出的字段的更多信息，请参阅 [IAM 用户指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/)中的[操作表](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_actions-resources-contextkeys.html#actions_table)。

## rds: AddRoleTo DBCluster
<a name="neptune-iam-admin-actions-AddRoleToDBCluster"></a>

`AddRoleToDBCluster` 将 IAM 角色与 Neptune 数据库集群关联。

*访问级别*：`Write`。

*相关操作*：`iam:PassRole`。

*资源类型：*[cluster](iam-admin-resources.md#neptune-cluster-resource)（必需）。

## rds: AddSourceIdentifierToSubscription
<a name="neptune-iam-admin-actions-AddSourceIdentifierToSubscription"></a>

`AddSourceIdentifierToSubscription` 将源标识符添加到现有 Neptune 事件通知订阅。

*访问级别*：`Write`。

*资源类型*：[es](iam-admin-resources.md#neptune-es-resource)（必需）。

## rds: AddTagsToResource
<a name="neptune-iam-admin-actions-AddTagsToResource"></a>

`AddTagsToResource` 将 IAM 角色与 Neptune 数据库集群关联。

*访问级别*：`Write`。

*资源类型*：
+ [db](iam-admin-resources.md#neptune-db-resource)
+ [es](iam-admin-resources.md#neptune-es-resource)
+ [pg](iam-admin-resources.md#neptune-pg-resource)
+ [cluster-snapshot](iam-admin-resources.md#neptune-cluster-snapshot-resource)
+ [subgrp](iam-admin-resources.md#neptune-subgrp-resource)

*条件键*：
+ [aws:RequestTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_RequestTag)
+ [aws：TagKeys](iam-admin-condition-keys.md#admin-aws_TagKeys)

## rds: ApplyPendingMaintenanceAction
<a name="neptune-iam-admin-actions-ApplyPendingMaintenanceAction"></a>

`ApplyPendingMaintenanceAction` 将待处理的维护操作应用于资源。

*访问级别*：`Write`。

*资源类型*：[db](iam-admin-resources.md#neptune-db-resource)（必需）。

## RDS: 复制 DBCluster ParameterGroup
<a name="neptune-iam-admin-actions-CopyDBClusterParameterGroup"></a>

`CopyDBClusterParameterGroup` 复制指定的数据库集群参数组。

*访问级别*：`Write`。

*资源类型*：[cluster-pg](iam-admin-resources.md#neptune-cluster-pg-resource)（必需）。

## RDSDBCluster: 复制快照
<a name="neptune-iam-admin-actions-CopyDBClusterSnapshot"></a>

`CopyDBClusterSnapshot` 复制数据库集群的快照。

*访问级别*：`Write`。

*资源类型*：[cluster-snapshot](iam-admin-resources.md#neptune-cluster-snapshot-resource)（必需）。

## RDSDBParameter: 复制组
<a name="neptune-iam-admin-actions-CopyDBParameterGroup"></a>

`CopyDBParameterGroup` 复制指定的数据库参数组。

*访问级别*：`Write`。

*资源类型*：[pg](iam-admin-resources.md#neptune-pg-resource)（必需）。

## RDS: 创建 DBCluster
<a name="neptune-iam-admin-actions-CreateDBCluster"></a>

`CreateDBCluster` 创建新的 Neptune 数据库集群。

*访问级别*：`Tagging`。

*相关操作*：`iam:PassRole`。

*资源类型*：
+ [cluster](iam-admin-resources.md#neptune-cluster-resource)（必需）。
+ [cluster-pg](iam-admin-resources.md#neptune-cluster-pg-resource)（必需）。
+ [subgrp](iam-admin-resources.md#neptune-subgrp-resource)（必需）。

*条件键*：
+ [aws:RequestTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_RequestTag)
+ [aws：TagKeys](iam-admin-condition-keys.md#admin-aws_TagKeys)
+ [neptune-rds\$1 DatabaseEngine](iam-admin-condition-keys.md#admin-rds_DatabaseEngine)

## RDS: 创建 DBCluster ParameterGroup
<a name="neptune-iam-admin-actions-CreateDBClusterParameterGroup"></a>

`CreateDBClusterParameterGroup` 创建新的数据库集群参数组。

*访问级别*：`Tagging`。

*资源类型*：[cluster-pg](iam-admin-resources.md#neptune-cluster-pg-resource)（必需）。

*条件键*：
+ [aws:RequestTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_RequestTag)
+ [aws：TagKeys](iam-admin-condition-keys.md#admin-aws_TagKeys)

## RDSDBCluster: 创建快照
<a name="neptune-iam-admin-actions-CreateDBClusterSnapshot"></a>

`CreateDBClusterSnapshot` 创建数据库集群的快照。

*访问级别*：`Tagging`。

*资源类型*：
+ [cluster](iam-admin-resources.md#neptune-cluster-resource)（必需）。
+ [cluster-snapshot](iam-admin-resources.md#neptune-cluster-snapshot-resource)（必需）。

*条件键*：
+ [aws:RequestTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_RequestTag)
+ [aws：TagKeys](iam-admin-condition-keys.md#admin-aws_TagKeys)

## RDS: 创建 DBInstance
<a name="neptune-iam-admin-actions-CreateDBInstance"></a>

`CreateDBInstance` 创建新的数据库实例。

*访问级别*：`Tagging`。

*相关操作*：`iam:PassRole`。

*资源类型*：
+ [db](iam-admin-resources.md#neptune-db-resource)（必需）。
+ [pg](iam-admin-resources.md#neptune-pg-resource)（必需）。
+ [subgrp](iam-admin-resources.md#neptune-subgrp-resource)（必需）。

*条件键*：
+ [aws:RequestTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_RequestTag)
+ [aws：TagKeys](iam-admin-condition-keys.md#admin-aws_TagKeys)

## RDSDBParameter: 创建群组
<a name="neptune-iam-admin-actions-CreateDBParameterGroup"></a>

`CreateDBParameterGroup` 创建一个新的数据库参数组。

*访问级别*：`Tagging`。

*资源类型*：[pg](iam-admin-resources.md#neptune-pg-resource)（必需）。

*条件键*：
+ [aws:RequestTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_RequestTag)
+ [aws：TagKeys](iam-admin-condition-keys.md#admin-aws_TagKeys)

## RDSDBSubnet: 创建群组
<a name="neptune-iam-admin-actions-CreateDBSubnetGroup"></a>

`CreateDBSubnetGroup` 创建新的数据库子网组。

*访问级别*：`Tagging`。

*资源类型*：[subgrp](iam-admin-resources.md#neptune-subgrp-resource)（必需）。

*条件键*：
+ [aws:RequestTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_RequestTag)
+ [aws：TagKeys](iam-admin-condition-keys.md#admin-aws_TagKeys)

## rds: CreateEventSubscription
<a name="neptune-iam-admin-actions-CreateEventSubscription"></a>

`CreateEventSubscription` 创建 Neptune 事件通知订阅。

*访问级别*：`Tagging`。

*资源类型*：[es](iam-admin-resources.md#neptune-es-resource)（必需）。

*条件键*：
+ [aws:RequestTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_RequestTag)
+ [aws：TagKeys](iam-admin-condition-keys.md#admin-aws_TagKeys)

## RDS: 删除 DBCluster
<a name="neptune-iam-admin-actions-DeleteDBCluster"></a>

`DeleteDBCluster` 删除现有的 Neptune 数据库集群。

*访问级别*：`Write`。

*资源类型*：
+ [cluster](iam-admin-resources.md#neptune-cluster-resource)（必需）。
+ [cluster-snapshot](iam-admin-resources.md#neptune-cluster-snapshot-resource)（必需）。

## RDS: 删除 DBCluster ParameterGroup
<a name="neptune-iam-admin-actions-DeleteDBClusterParameterGroup"></a>

`DeleteDBClusterParameterGroup` 删除指定的数据库集群参数组。

*访问级别*：`Write`。

*资源类型*：[cluster-pg](iam-admin-resources.md#neptune-cluster-pg-resource)（必需）。

## RDSDBCluster: 删除快照
<a name="neptune-iam-admin-actions-DeleteDBClusterSnapshot"></a>

`DeleteDBClusterSnapshot` 删除数据库集群快照。

*访问级别*：`Write`。

*资源类型*：[cluster-snapshot](iam-admin-resources.md#neptune-cluster-snapshot-resource)（必需）。

## RDS: 删除 DBInstance
<a name="neptune-iam-admin-actions-DeleteDBInstance"></a>

`DeleteDBInstance` 删除指定的数据库实例。

*访问级别*：`Write`。

*资源类型*：[db](iam-admin-resources.md#neptune-db-resource)（必需）。

## RDSDBParameter: 删除群组
<a name="neptune-iam-admin-actions-DeleteDBParameterGroup"></a>

`DeleteDBParameterGroup`删除指定的 DBParameter群组。

*访问级别*：`Write`。

*资源类型*：[pg](iam-admin-resources.md#neptune-pg-resource)（必需）。

## RDSDBSubnet: 删除群组
<a name="neptune-iam-admin-actions-DeleteDBSubnetGroup"></a>

`DeleteDBSubnetGroup` 删除数据库子网组。

*访问级别*：`Write`。

*资源类型*：[subgrp](iam-admin-resources.md#neptune-subgrp-resource)（必需）。

## rds: DeleteEventSubscription
<a name="neptune-iam-admin-actions-DeleteEventSubscription"></a>

`DeleteEventSubscription` 删除事件通知订阅。

*访问级别*：`Write`。

*资源类型*：[es](iam-admin-resources.md#neptune-es-resource)（必需）。

## RDS: 描述 DBCluster ParameterGroups
<a name="neptune-iam-admin-actions-DescribeDBClusterParameterGroups"></a>

`DescribeDBClusterParameterGroups`返回 DBClusterParameterGroup 描述列表。

*访问级别*：`List`。

*资源类型*：[cluster-pg](iam-admin-resources.md#neptune-cluster-pg-resource)（必需）。

## RDSDBCluster: 描述参数
<a name="neptune-iam-admin-actions-DescribeDBClusterParameters"></a>

`DescribeDBClusterParameters` 返回特定数据库集群参数组的详细参数列表。

*访问级别*：`List`。

*资源类型*：[cluster-pg](iam-admin-resources.md#neptune-cluster-pg-resource)（必需）。

## RDS: 描述 DBCluster SnapshotAttributes
<a name="neptune-iam-admin-actions-DescribeDBClusterSnapshotAttributes"></a>

`DescribeDBClusterSnapshotAttributes` 返回手动数据库集群快照的数据库集群快照属性名称和值的列表。

*访问级别*：`List`。

*资源类型*：[cluster-snapshot](iam-admin-resources.md#neptune-cluster-snapshot-resource)（必需）。

## RDSDBCluster: 描述快照
<a name="neptune-iam-admin-actions-DescribeDBClusterSnapshots"></a>

`DescribeDBClusterSnapshots` 返回有关数据库集群快照的信息。

*访问级别*：`Read`。

## RDS: 描述 DBClusters
<a name="neptune-iam-admin-actions-DescribeDBClusters"></a>

`DescribeDBClusters` 返回有关预调配的 Neptune 数据库集群的信息。

*访问级别*：`List`。

*资源类型：*[cluster](iam-admin-resources.md#neptune-cluster-resource)（必需）。

## RDSDBEngine: 描述版本
<a name="neptune-iam-admin-actions-DescribeDBEngineVersions"></a>

`DescribeDBEngineVersions` 返回可用数据库引擎的列表。

*访问级别*：`List`。

*资源类型*：[pg](iam-admin-resources.md#neptune-pg-resource)（必需）。

## RDS: 描述 DBInstances
<a name="neptune-iam-admin-actions-DescribeDBInstances"></a>

`DescribeDBInstances` 返回有关数据库实例的信息。

*访问级别*：`List`。

*资源类型*：[es](iam-admin-resources.md#neptune-es-resource)（必需）。

## RDSDBParameter: 描述群组
<a name="neptune-iam-admin-actions-DescribeDBParameterGroups"></a>

`DescribeDBParameterGroups`返回群 DBParameter组描述列表。

*访问级别*：`List`。

*资源类型*：[pg](iam-admin-resources.md#neptune-pg-resource)（必需）。

## RDS: 描述 DBParameters
<a name="neptune-iam-admin-actions-DescribeDBParameters"></a>

`DescribeDBParameters` 返回特定数据库参数组的详细参数列表。

*访问级别*：`List`。

*资源类型*：[pg](iam-admin-resources.md#neptune-pg-resource)（必需）。

## RDSDBSubnet: 描述群组
<a name="neptune-iam-admin-actions-DescribeDBSubnetGroups"></a>

`DescribeDBSubnetGroups`返回群 DBSubnet组描述列表。

*访问级别*：`List`。

*资源类型*：[subgrp](iam-admin-resources.md#neptune-subgrp-resource)（必需）。

## rds: DescribeEventCategories
<a name="neptune-iam-admin-actions-DescribeEventCategories"></a>

`DescribeEventCategories` 返回所有事件源类型的类别列表；或如果指定，则显示指定源类型的类别列表。

*访问级别*：`List`。

## rds: DescribeEventSubscriptions
<a name="neptune-iam-admin-actions-DescribeEventSubscriptions"></a>

`DescribeEventSubscriptions` 列出客户账户的所有订阅描述。

*访问级别*：`List`。

*资源类型*：[es](iam-admin-resources.md#neptune-es-resource)（必需）。

## rds: DescribeEvents
<a name="neptune-iam-admin-actions-DescribeEvents"></a>

`DescribeEvents` 返回过去 14 天与数据库实例、数据库安全组和数据库参数组相关的事件。

*访问级别*：`List`。

*资源类型*：[es](iam-admin-resources.md#neptune-es-resource)（必需）。

## rds: DescribeOrderable DBInstance 选项
<a name="neptune-iam-admin-actions-DescribeOrderableDBInstanceOptions"></a>

`DescribeOrderableDBInstanceOptions` 返回指定引擎的可订购数据库实例选项的列表。

*访问级别*：`List`。

## rds: DescribePendingMaintenanceActions
<a name="neptune-iam-admin-actions-DescribePendingMaintenanceActions"></a>

`DescribePendingMaintenanceActions` 返回至少具有一个待处理的维护操作的资源（例如，数据库实例）的列表。

*访问级别*：`List`。

*资源类型*：[db](iam-admin-resources.md#neptune-db-resource)（必需）。

## rds：DescribeValidDBInstance修改
<a name="neptune-iam-admin-actions-DescribeValidDBInstanceModifications"></a>

`DescribeValidDBInstanceModifications` 列出可以对数据库实例进行的修改。

*访问级别*：`List`。

*资源类型*：[db](iam-admin-resources.md#neptune-db-resource)（必需）。

## RDS: 故障切换 DBCluster
<a name="neptune-iam-admin-actions-FailoverDBCluster"></a>

`FailoverDBCluster` 强制数据库集群失效转移。

*访问级别*：`Write`。

*资源类型：*[cluster](iam-admin-resources.md#neptune-cluster-resource)（必需）。

## rds: ListTagsForResource
<a name="neptune-iam-admin-actions-ListTagsForResource"></a>

`ListTagsForResource` 列出 Neptune 资源上的所有标签。

*访问级别*：`Read`。

*资源类型*：
+ [cluster-snapshot](iam-admin-resources.md#neptune-cluster-snapshot-resource)
+ [db](iam-admin-resources.md#neptune-db-resource)
+ [es](iam-admin-resources.md#neptune-es-resource)
+ [pg](iam-admin-resources.md#neptune-pg-resource)
+ [subgrp](iam-admin-resources.md#neptune-subgrp-resource)

## RDS: 修改 DBCluster
<a name="neptune-iam-admin-actions-ModifyDBCluster"></a>

`ModifyDBCluster`

修改 Neptune 数据库集群的设置。

*访问级别*：`Write`。

*相关操作*：`iam:PassRole`。

*资源类型*：
+ [cluster](iam-admin-resources.md#neptune-cluster-resource)（必需）。
+ [cluster-pg](iam-admin-resources.md#neptune-cluster-pg-resource)（必需）。

## RDS: 修改 DBCluster ParameterGroup
<a name="neptune-iam-admin-actions-ModifyDBClusterParameterGroup"></a>

`ModifyDBClusterParameterGroup` 修改数据库集群参数组的参数。

*访问级别*：`Write`。

*资源类型*：[cluster-pg](iam-admin-resources.md#neptune-cluster-pg-resource)（必需）。

## RDS: 修改 DBCluster SnapshotAttribute
<a name="neptune-iam-admin-actions-ModifyDBClusterSnapshotAttribute"></a>

`ModifyDBClusterSnapshotAttribute` 向手动数据库集群快照添加属性和值，或者从中删除属性和值。

*访问级别*：`Write`。

*资源类型*：[cluster-snapshot](iam-admin-resources.md#neptune-cluster-snapshot-resource)（必需）。

## RDS: 修改 DBInstance
<a name="neptune-iam-admin-actions-ModifyDBInstance"></a>

`ModifyDBInstance` 修改数据库实例的设置。

*访问级别*：`Write`。

*相关操作*：`iam:PassRole`。

*资源类型*：
+ [db](iam-admin-resources.md#neptune-db-resource)（必需）。
+ [pg](iam-admin-resources.md#neptune-pg-resource)（必需）。

## RDSDBParameter: 修改群组
<a name="neptune-iam-admin-actions-ModifyDBParameterGroup"></a>

`ModifyDBParameterGroup` 修改数据库参数组的参数。

*访问级别*：`Write`。

*资源类型*：[pg](iam-admin-resources.md#neptune-pg-resource)（必需）。

## RDSDBSubnet: 修改群组
<a name="neptune-iam-admin-actions-ModifyDBSubnetGroup"></a>

`ModifyDBSubnetGroup` 修改现有的数据库子网组。

*访问级别*：`Write`。

*资源类型*：[subgrp](iam-admin-resources.md#neptune-subgrp-resource)（必需）。

## rds: ModifyEventSubscription
<a name="neptune-iam-admin-actions-ModifyEventSubscription"></a>

`ModifyEventSubscription` 修改现有 Neptune 事件通知订阅。

*访问级别*：`Write`。

*资源类型*：[es](iam-admin-resources.md#neptune-es-resource)（必需）。

## RDS: 重启 DBInstance
<a name="neptune-iam-admin-actions-RebootDBInstance"></a>

`RebootDBInstance` 重启实例的数据库引擎服务。

*访问级别*：`Write`。

*资源类型*：[db](iam-admin-resources.md#neptune-db-resource)（必需）。

## rds: RemoveRoleFrom DBCluster
<a name="neptune-iam-admin-actions-RemoveRoleFromDBCluster"></a>

`RemoveRoleFromDBCluster`取消 AWS 身份和访问管理 (IAM) Access Management 角色与亚马逊 Neptune 数据库集群的关联。

*访问级别*：`Write`。

*相关操作*：`iam:PassRole`。

*资源类型：*[cluster](iam-admin-resources.md#neptune-cluster-resource)（必需）。

## rds: RemoveSourceIdentifierFromSubscription
<a name="neptune-iam-admin-actions-RemoveSourceIdentifierFromSubscription"></a>

`RemoveSourceIdentifierFromSubscription` 从现有 Neptune 事件通知订阅中移除源标识符。

*访问级别*：`Write`。

*资源类型*：[es](iam-admin-resources.md#neptune-es-resource)（必需）。

## rds: RemoveTagsFromResource
<a name="neptune-iam-admin-actions-RemoveTagsFromResource"></a>

`RemoveTagsFromResource`从 Neptune 资源中移除元数据标签。

*访问级别*：`Tagging`。

*资源类型*：
+ [cluster-snapshot](iam-admin-resources.md#neptune-cluster-snapshot-resource)
+ [db](iam-admin-resources.md#neptune-db-resource)
+ [es](iam-admin-resources.md#neptune-es-resource)
+ [pg](iam-admin-resources.md#neptune-pg-resource)
+ [subgrp](iam-admin-resources.md#neptune-subgrp-resource)

*条件键*：
+ [aws:RequestTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_RequestTag)
+ [aws：TagKeys](iam-admin-condition-keys.md#admin-aws_TagKeys)

## RDS: 重置 DBCluster ParameterGroup
<a name="neptune-iam-admin-actions-ResetDBClusterParameterGroup"></a>

`ResetDBClusterParameterGroup` 将数据库集群参数组的参数修改为默认值。

*访问级别*：`Write`。

*资源类型*：[cluster-pg](iam-admin-resources.md#neptune-cluster-pg-resource)（必需）。

## RDSDBParameter: 重置组
<a name="neptune-iam-admin-actions-ResetDBParameterGroup"></a>

`ResetDBParameterGroup`将数据库参数组的参数修改为 engine/system 默认值。

*访问级别*：`Write`。

*资源类型*：[pg](iam-admin-resources.md#neptune-pg-resource)（必需）。

## RDS: 恢复 DBCluster FromSnapshot
<a name="neptune-iam-admin-actions-RestoreDBClusterFromSnapshot"></a>

`RestoreDBClusterFromSnapshot` 从数据库集群快照中创建新的数据库集群。

*访问级别*：`Write`。

*相关操作*：`iam:PassRole`。

*资源类型*：
+ [cluster](iam-admin-resources.md#neptune-cluster-resource)（必需）。
+ [cluster-snapshot](iam-admin-resources.md#neptune-cluster-snapshot-resource)（必需）。

*条件键*：
+ [aws:RequestTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_RequestTag)
+ [aws：TagKeys](iam-admin-condition-keys.md#admin-aws_TagKeys)

## RDS: 恢复 DBCluster ToPointInTime
<a name="neptune-iam-admin-actions-RestoreDBClusterToPointInTime"></a>

`RestoreDBClusterToPointInTime` 将数据库集群还原到任意时间点。

*访问级别*：`Write`。

*相关操作*：`iam:PassRole`。

*资源类型*：
+ [cluster](iam-admin-resources.md#neptune-cluster-resource)（必需）。
+ [subgrp](iam-admin-resources.md#neptune-subgrp-resource)（必需）。

*条件键*：
+ [aws:RequestTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_RequestTag)
+ [aws：TagKeys](iam-admin-condition-keys.md#admin-aws_TagKeys)

## RDS: 开始 DBCluster
<a name="neptune-iam-admin-actions-StartDBCluster"></a>

`StartDBCluster` 启动指定的数据库集群。

*访问级别*：`Write`。

*资源类型：*[cluster](iam-admin-resources.md#neptune-cluster-resource)（必需）。

## RDS: 停止 DBCluster
<a name="neptune-iam-admin-actions-StopDBCluster"></a>

`StopDBCluster` 停止指定的数据库集群。

*访问级别*：`Write`。

*资源类型：*[cluster](iam-admin-resources.md#neptune-cluster-resource)（必需）。

# 用于管理 Amazon Neptune 的 IAM 资源类型
<a name="iam-admin-resources"></a>

Neptune 支持下表中的资源类型，以用于 IAM 管理策略语句的 `Resource` 元素。有关 `Resource` 元素的更多信息，请参阅 [IAM JSON 策略元素：Resource](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html)。

[Neptune 管理操作列表](neptune-iam-admin-actions.md)确定了可以使用每个操作指定的资源类型。资源类型还会决定您可以在策略中包含哪些条件键，如下表的最后一列所指定。

下表中的 `ARN` 列指定在引用该类型的资源时必须使用的 Amazon 资源名称 (ARN) 格式。前缀为 ` $ ` 的部分必须替换为您的方案的实际值。例如，如果在 ARN 中看到 `$user-name`，您必须将该字符串替换为实际 IAM 用户的名称或包含 IAM 用户名的策略变量。有关的更多信息 ARNs，请参阅 [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns) 和[ARNs 在 Amazon Neptune 中与管理员合作](tagging-arns.md)。

` Condition Keys `列指定条件上下文键，只有在 IAM policy 语句中同时包含该资源和兼容的支持操作时，才能在该语句中包含这些键。


****  

| 资源类型 | ARN | 条件键 | 
| --- | --- | --- | 
|  `cluster` （数据库集群）  | arn:partition:rds:region:account-id:cluster:instance-name |  [aws:ResourceTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_ResourceTag) [rds: cluster-tag/ *tag-key*](iam-admin-condition-keys.md#admin-rds_cluster-tag)  | 
|  `cluster-pg` （数据库集群参数组）  | arn:partition:rds:region:account-id:cluster-pg:neptune-DBClusterParameterGroupName |  [aws:ResourceTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_ResourceTag)  | 
|  `cluster-snapshot` （数据库集群快照）  | arn:partition:rds:region:account-id:cluster-snapshot:neptune-DBClusterSnapshotName |  [aws:ResourceTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_ResourceTag) [rds:cluster-snapshot-tag/*tag-key*](iam-admin-condition-keys.md#admin-rds_cluster-snapshot-tag)  | 
|  `db` （数据库实例）  | arn:partition:rds:region:account-id:db:neptune-DbInstanceName |  [aws:ResourceTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_ResourceTag) [rds: DatabaseClass](iam-admin-condition-keys.md#admin-rds_DatabaseClass) [rds: DatabaseEngine](iam-admin-condition-keys.md#admin-rds_DatabaseEngine) [rds: db-tag/ *tag-key*](iam-admin-condition-keys.md#admin-rds_db-tag)  | 
|  `es` （事件订阅）  | arn:partition:rds:region:account-id:es:neptune-CustSubscriptionId  |  [aws:ResourceTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_ResourceTag) [rds: es-tag/ *tag-key*](iam-admin-condition-keys.md#admin-rds_es-tag)  | 
|  `pg` （数据库参数组）  | arn:partition:rds:region:account-id:pg:neptune-ParameterGroupName |  [aws:ResourceTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_ResourceTag) [rds: pg-tag/ *tag-key*](iam-admin-condition-keys.md#admin-rds_pg-tag)  | 
|  `subgrp` （数据库子网组）  | arn:partition:rds:region:account-id:subgrp:neptune-DBSubnetGroupName\$1 |  [aws:ResourceTag/*tag-key*](iam-admin-condition-keys.md#admin-aws_ResourceTag) [rds: subgrp-tag/ *tag-key*](iam-admin-condition-keys.md#admin-rds_subgrp-tag)  | 

# 用于管理 Amazon Neptune 的 IAM 条件键
<a name="iam-admin-condition-keys"></a>

[使用条件键](security-iam-access-manage.md#iam-using-condition-keys)，您可以在 IAM policy 语句中指定条件，这样该语句仅在条件为 true 时才生效。您可以在 Neptune 管理策略语句中使用的条件键分为以下几类：
+ [全局条件键](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) — 这些条件键由定义 AWS ，供一般 AWS 服务使用。大多数可用于 Neptune 管理策略语句中。
+ [管理资源属性条件键](#iam-rds-property-condition-keys) - [下面](#iam-rds-property-condition-keys)列出的这些键基于管理资源的属性。
+ [基于标签的访问条件键](#iam-rds-tag-based-condition-keys) - [下面](#iam-rds-tag-based-condition-keys)列出的这些键基于附加到管理资源的 [AWS 标签](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)。

## Neptune 管理资源属性条件键
<a name="iam-rds-property-condition-keys"></a>


| 条件键 | 描述 | Type | 
| --- | --- | --- | 
| rds:DatabaseClass | 按数据库实例类的类型筛选访问。 | 字符串 | 
| rds:DatabaseEngine | 按数据库引擎筛选访问。有关可能的值，请参阅 Create DBInstance API 中的引擎参数 | 字符串 | 
| rds:DatabaseName | 按数据库实例上的数据库的用户定义名称筛选访问 | 字符串 | 
| rds:EndpointType | 按终端节点类型筛选访问。它是以下内容之一：READER、WRITER、CUSTOM | 字符串 | 
| rds:Vpc | 指定数据库实例是否在 Amazon Virtual Private Cloud (Amazon VPC) 中运行的值筛选访问。要指示数据库实例在 Amazon VPC 中运行，请指定 true。 | 布尔值 | 

## 基于管理标签的条件键
<a name="iam-rds-tag-based-condition-keys"></a>

Amazon Neptune 支持在 IAM policy 中使用自定义标签指定条件，以通过 [管理 API 参考](api.md) 控制对 Neptune 的访问。

例如，如果您向数据库实例添加一个名为 `environment` 的标签，其值为 `beta`、`staging`、和 `production` 等，则可以创建一个策略，以根据该标签的值限制对实例的访问。

**重要**  
如果您使用标签管理对 Neptune 资源的访问，请保护对于标签的访问。您可通过为 `AddTagsToResource` 和 `RemoveTagsFromResource` 操作创建策略来限制对标签的访问。  
例如，您可以使用以下策略拒绝用户为所有资源添加或删除标签。然后，您可以创建策略来允许特定用户添加或删除标签。  

****  

```
{ "Version":"2012-10-17",		 	 	 
  "Statement":[
    { "Sid": "DenyTagUpdates",
      "Effect": "Deny",
      "Action": [
        "rds:AddTagsToResource",
        "rds:RemoveTagsFromResource"
      ],
      "Resource":"*"
    }
  ]
}
```

以下基于标签的条件键仅适用于管理策略语句中的管理资源。


**基于标签的管理条件键**  

| 条件键 | 描述 | Type | 
| --- | --- | --- | 
|   [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag)  | 根据在请求中是否具有标签键/值对来筛选访问。 | 字符串 | 
|   [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag)  | 根据附加到资源的标签键/值对筛选访问。 | 字符串 | 
|   [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keyss](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keyss)  | 根据在请求中是否具有标签键来筛选访问。 | 字符串 | 
| rds:cluster-pg-tag/\$1\$1TagKey\$1 | 按附加到数据库集群参数组的标签筛选访问。 | 字符串 | 
| rds:cluster-snapshot-tag/\$1\$1TagKey\$1 | 按附加到数据库集群快照的标签筛选访问。 | 字符串 | 
| rds:cluster-tag/\$1\$1TagKey\$1 | 按附加到数据库集群的标签筛选访问。 | 字符串 | 
| rds:db-tag/\$1\$1TagKey\$1 | 按附加到数据库实例的标签筛选访问。 | 字符串 | 
| rds:es-tag/\$1\$1TagKey\$1 | 按附加到事件订阅的标签筛选访问。 | 字符串 | 
| rds:pg-tag/\$1\$1TagKey\$1 | 按附加到数据库参数组的标签筛选访问。 | 字符串 | 
| rds:req-tag/\$1\$1TagKey\$1 | 按可用于对资源进行标记的一组标签键和值筛选访问。 | 字符串 | 
| rds:secgrp-tag/\$1\$1TagKey\$1 | 按附加到数据库安全组的标签筛选访问。 | 字符串 | 
| rds:snapshot-tag/\$1\$1TagKey\$1 | 按附加到数据库快照的标签筛选访问。 | 字符串 | 
| rds:subgrp-tag/\$1\$1TagKey\$1 | 按附加到数据库子网组的标签筛选访问 | 字符串 | 

# 创建适用于 Amazon Neptune 的 IAM 管理策略语句
<a name="iam-admin-policy-examples"></a>

## 一般管理策略示例
<a name="iam-admin-policy-general-examples"></a>

以下示例说明如何创建 Neptune 管理策略，以授予对数据库集群执行各种管理操作的权限。

### 防止 IAM 用户删除指定数据库实例的策略
<a name="iam-admin-policy-not-delete-instance"></a>

以下是防止 IAM 用户删除指定的 Neptune 数据库实例的策略示例：

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyDeleteOneInstance",
      "Effect": "Deny",
      "Action": "rds:DeleteDBInstance",
      "Resource": "arn:aws:rds:us-west-2:123456789012:db:my-instance-name"
    }
  ]
}
```

------

### 授予创建新数据库实例的权限的策略
<a name="iam-admin-policy-to-create-instances"></a>

以下是允许 IAM 用户在指定的 Neptune 数据库集群中创建数据库实例的示例策略：

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowCreateInstance",
      "Effect": "Allow",
      "Action": "rds:CreateDBInstance",
      "Resource": "arn:aws:rds:us-west-2:123456789012:cluster:my-cluster"
    }
  ]
}
```

------

### 授予创建新数据库实例（使用特定数据库参数组）的权限的策略
<a name="iam-admin-policy-to-create-instances-with-pg"></a>

以下是一个策略示例，它允许 IAM 用户仅使用指定的数据库参数组，在指定的 Neptune 数据库集群的指定数据库集群（此处为 `us-west-2`）中创建数据库实例。

------
#### [ JSON ]

****  

```
{
  "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"
      ]
    }
  ]
}
```

------

### 授予描述任何资源的权限的策略
<a name="iam-admin-policy-to-describe"></a>

以下是允许 IAM 用户描述任何 Neptune 资源的策略示例。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowDescribe",
            "Effect": "Allow",
            "Action": "rds:Describe*",
            "Resource": "*"
        }
    ]
}
```

------

## 基于标签的管理策略示例
<a name="iam-admin-policy-tagging-examples"></a>

以下示例说明如何创建 Neptune 管理策略，这些策略将进行标记，以筛选在数据库集群上执行各种管理操作的权限。

### 示例 1：使用可以取多个值的自定义标签，授予对资源执行操作的权限
<a name="security-iam-tag-examples-1"></a>

以下策略允许在 `env` 标签设置为 `dev` 或 `test` 的任何数据库实例上使用 `ModifyDBInstance`、`CreateDBInstance` 或 `DeleteDBInstance` API：

------
#### [ JSON ]

****  

```
{ "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：限制可用于对资源进行标记的一组标签键和值
<a name="security-iam-tag-examples-2"></a>

此策略使用 `Condition` 键来允许将键 `env` 且值为 `test`、`qa` 或 `dev` 的标签添加到资源中：

------
#### [ JSON ]

****  

```
{ "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 资源进行完全访问
<a name="security-iam-tag-examples-3"></a>

以下策略与上面的第一个示例类似，但改为使用 `aws:ResourceTag`：

------
#### [ JSON ]

****  

```
{ "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowFullAccessToDev",
      "Effect": "Allow",
      "Action": [
        "rds:*"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/env": "dev",
          "rds:DatabaseEngine": "neptune"
        }
      }
    }
  ]
}
```

------