在 Amazon RDS 中建立、修改和刪除資源的許可政策 - Amazon Relational Database Service

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

Amazon RDS 中建立、修改和刪除資源的許可政策

下列各節提供授予和限制 資源存取權的許可政策範例:

允許使用者在 AWS 帳戶中建立資料庫執行個體

以下是允許 ID 為您的帳戶為 AWS 您的帳戶123456789012建立資料庫執行個體的範例政策。此政策需要新資料庫執行個體的名稱以 test 開頭。新的資料庫執行個體也須使用 MySQL 資料庫引擎和 db.t2.micro 資料庫執行個體類別。此外,新的資料庫執行個體還須使用選項群組,以及以 default 開頭的資料庫參數群組,而且它還須使用 default 子網路群組。

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreateDBInstanceOnly", "Effect": "Allow", "Action": [ "rds:CreateDBInstance" ], "Resource": [ "arn:aws:rds:*:123456789012:db:test*", "arn:aws:rds:*:123456789012:og:default*", "arn:aws:rds:*:123456789012:pg:default*", "arn:aws:rds:*:123456789012:subgrp:default" ], "Condition": { "StringEquals": { "rds:DatabaseEngine": "mysql", "rds:DatabaseClass": "db.t2.micro" } } } ] }

政策包括單一陳述式,指定 使用者的下列許可:

  • 此政策允許帳戶使用 CreateDBInstance API 操作建立資料庫執行個體 (這也適用於 create-db-instance AWS CLI 命令和 AWS Management Console)。

  • Resource 元素指定使用者可對資源或搭配資源執行動作。您可以使用 Amazon Resource Name (ARN) 來指定資源。此 ARN 包含資源所屬的服務名稱 (rds)、區域 AWS (* 表示此範例中的任何區域)、 AWS 帳戶號碼 (123456789012 是此範例中的帳戶號碼),以及資源類型。如需建立 ARN 的詳細資訊,請參閱Amazon 資源名稱(ARNs)RDS

    範例中的 Resource 元素對使用者的資源指定下列政策限制:

    • 新資料庫執行個體的資料庫執行個體識別符必須以 test開頭 (例如,testCustomerData1test-region2-data)。

    • 新資料庫執行個體的選項群組必須以default 開頭。

    • 新資料庫執行個體的資料庫參數群組必須以default 開頭。

    • 新資料庫執行個體的子網路群組必須是default 子網路群組。

  • Condition 元素指定資料庫引擎必須是 MySQL,而且資料庫執行個體類別必須是 db.t2.microCondition 元素指定政策應該生效時的條件。您可以使用 Condition 元素來新增其他許可或限制。如需指定條件的詳細資訊,請參閱Amazon RDS 的政策條件索引鍵。此範例指定 rds:DatabaseEnginerds:DatabaseClass 條件。如需 rds:DatabaseEngine 有效條件值的相關資訊,請參閱 CreateDBInstance 中的 Engine 參數下的清單。如需 rds:DatabaseClass 的有效條件值的相關資訊,請參閱 資料庫執行個體類別的支援資料庫引擎

此政策不指定 Principal 元素,因為您不會在以身分為基礎的政策中,指定取得許可的主體。當您將政策連接至使用者時,這名使用者即為隱含主體。當您將許可政策連接至 IAM 角色,該角色的信任政策中所識別的主體即取得許可。

若要查看 Amazon RDS 動作的清單,請參閱服務授權參考中的 Amazon RDS 定義的動作

允許使用者對任何 RDS 資源執行任何描述動作

下列許可政策會授予使用者執行開頭為 Describe 之所有動作的許可。這些動作會顯示 RDS 資源 (如資料庫執行個體) 的相關資訊。Resource 元素中的萬用字元 (*) 表示可對帳戶擁有的所有 Amazon RDS 資源執行動作。

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

允許使用者建立可使用指定資料庫參數群組和子網路群組的資料庫執行個體

以下許可政策授予許可,以允許使用者只能建立一個必須使用 mydbpg 資料庫參數群組和 mydbsubnetgroup 資料庫子網路群組的資料庫執行個體。

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "rds:CreateDBInstance", "Resource": [ "arn:aws:rds:*:*:pg:mydbpg", "arn:aws:rds:*:*:subgrp:mydbsubnetgroup" ] } ] }

利用具有兩個不同值的特定標籤,對資源上的動作授予許可

您可以在身分類型政策中使用條件,根據標籤來控制存取 Amazon RDS 資源。下列政策允許在 stage 標籤設為 developmenttest 的資料庫執行個體上執行 CreateDBSnapshot API 操作的許可。

JSON
{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowAnySnapshotName", "Effect":"Allow", "Action":[ "rds:CreateDBSnapshot" ], "Resource":"arn:aws:rds:*:123456789012:snapshot:*" }, { "Sid":"AllowDevTestToCreateSnapshot", "Effect":"Allow", "Action":[ "rds:CreateDBSnapshot" ], "Resource":"arn:aws:rds:*:123456789012:db:*", "Condition":{ "StringEquals":{ "rds:db-tag/stage":[ "development", "test" ] } } } ] }

下列政策允許在 stage 標籤設為 developmenttest 的資料庫執行個體上執行 ModifyDBInstance API 操作的許可。

JSON
{ "Version":"2012-10-17", "Statement":[ { "Sid":"AllowChangingParameterOptionSecurityGroups", "Effect":"Allow", "Action":[ "rds:ModifyDBInstance" ], "Resource": [ "arn:aws:rds:*:123456789012:pg:*", "arn:aws:rds:*:123456789012:secgrp:*", "arn:aws:rds:*:123456789012:og:*" ] }, { "Sid":"AllowDevTestToModifyInstance", "Effect":"Allow", "Action":[ "rds:ModifyDBInstance" ], "Resource":"arn:aws:rds:*:123456789012:db:*", "Condition":{ "StringEquals":{ "rds:db-tag/stage":[ "development", "test" ] } } } ] }

防止使用者刪除資料庫執行個體

以下許可政策授予許可,以防止使用者刪除特定的資料庫執行個體。例如,您可能想拒絕給予任何非管理員使用者刪除生產資料庫執行個體的能力。

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

拒絕對資源的所有存取

您可以明確拒絕對資源的存取權。拒絕政策優先於允許政策。下列政策明確拒絕使用者管理資源的能力:

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "rds:*", "Resource": "arn:aws:rds:us-east-1:123456789012:db:mydb" } ] }