建立 Amazon Neptune 的IAM管理政策陳述式 - Amazon Neptune

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立 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標籤設定為 ModifyDBInstanceCreateDBInstance或 的任何資料庫執行個體DeleteDBInstanceAPI上使用 devtest

{ "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 和值 testqadev 的標籤新增至資源:

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