本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
範例政策:使用條件金鑰
以下是如何在 Amazon RDS IAM 許可政策中使用條件金鑰的範例。
範例 1:授予許可來建立一個使用特定資料庫引擎且不是多個可用區的資料庫執行個體
下列政策會使用 RDS 條件金鑰,並允許使用者只建立使用 MySQL 資料庫引擎,而不使用 MultiAZ 的資料庫執行個體。Condition
元素表示資料庫引擎是 MySQL 的需求。
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowMySQLCreate",
"Effect": "Allow",
"Action": "rds:CreateDBInstance",
"Resource": "*",
"Condition": {
"StringEquals": {
"rds:DatabaseEngine": "mysql"
},
"Bool": {
"rds:MultiAz": false
}
}
}
]
}
範例 2:明確拒絕許可,不得為特定資料庫執行個體類別建立資料庫執行個體,以及不得建立使用佈建 IOPS 的資料庫執行個體
下列政策明確拒絕許可,不得建立使用資料庫執行個體類別 r3.8xlarge
和 m4.10xlarge
的資料庫執行個體,因為它們是最大且最昂貴的資料庫執行個體類別。此政策也會防止使用者建立使用佈建 IOPS 的資料庫執行個體,因為它們會產生額外的成本。
明確拒絕許可會取代任何其他已授予的許可。這確保身分不會意外取得您從未想要授予的許可。
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyLargeCreate",
"Effect": "Deny",
"Action": "rds:CreateDBInstance",
"Resource": "*",
"Condition": {
"StringEquals": {
"rds:DatabaseClass": [
"db.r3.8xlarge",
"db.m4.10xlarge"
]
}
}
},
{
"Sid": "DenyPIOPSCreate",
"Effect": "Deny",
"Action": "rds:CreateDBInstance",
"Resource": "*",
"Condition": {
"NumericNotEquals": {
"rds:Piops": "0"
}
}
}
]
}
範例 3:限制可用來標記資源的一組標籤金鑰和值
下列政策使用 RDS 條件索引鍵,並允許將索引鍵為 stage
且值為 test
、qa
和 production
的標籤新增給資源。
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"rds:AddTagsToResource",
"rds:RemoveTagsFromResource"
],
"Resource": "*",
"Condition": {
"streq": {
"rds:req-tag/stage": [
"test",
"qa",
"production"
]
}
}
}
]
}