使用者對 Amazon RDS 資料庫執行個體執行建立、刪除、修改、備份和復原所需的最低權限是什麼?
我想要授予 AWS Identity and Access Management (IAM) 使用者管理 Amazon Relational Database Service (Amazon RDS) 資料庫執行個體所需的最低權限。
解決方法
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
若要設定 IAM 使用者對 RDS 資料庫執行個體的存取權,請完成下列步驟:
- 開啟 IAM console (IAM 主控台)。
- 在導覽窗格中,選擇 Users (使用者)。
- 選擇 Add user (新增使用者),然後輸入 User name (使用者名稱)。
- 對於 Access type (存取類型),請選擇 AWS Management Console access (AWS 管理主控台存取權),然後建立密碼以使用 Amazon RDS 主控台。若要提供對 AWS CLI 的存取權,請選擇 Programmatic access (以程式設計方式存取)。
**重要:**在 Programmatic access (以程式設計方式存取),選擇 Download.csv 以下載存取金鑰 ID 和私密存取金鑰。您需要密鑰才能在稍後建立安全權杖。 - 檢閱權限和標籤,然後選擇 Create user (建立使用者)。
**注意:**這會建立具有 IAMUserChangePassword 政策的 IAM 使用者。 - 為要在 Amazon RDS 中執行的所需動作建立 IAM 政策。
- 將您的 IAM 政策新增至您的使用者。
IAM 政策範例
下列政策範例提供執行指定動作所需的最低權限。您可能會在 Amazon RDS 主控台中看到錯誤,因為政策中不存在所需的權限。例如,您可能會看到 IAMUser 無權執行:rds:Action 錯誤訊息。
描述動作可能會發生錯誤,但該錯誤不會影響您執行這些動作的能力。若要避免發生錯誤,請修改下列 IAM 政策範例,或使用 AWS CLI 執行動作。
建立和刪除 RDS 資料庫執行個體
若要允許使用者建立未啟用加密的 RDS 資料庫執行個體,請使用下列政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeVpcAttribute", "ec2:DescribeSecurityGroups", "ec2:DescribeInternetGateways", "ec2:DescribeAvailabilityZones", "ec2:DescribeVpcs", "ec2:DescribeAccountAttributes", "ec2:DescribeSubnets", "rds:Describe*", "rds:ListTagsForResource", "rds:CreateDBInstance", "rds:CreateDBSubnetGroup" ], "Resource": "*" } ] }
若要允許使用者建立已啟用加密的 RDS 資料庫執行個體,請使用下列政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeVpcAttribute", "ec2:DescribeSecurityGroups", "ec2:DescribeInternetGateways", "ec2:DescribeAvailabilityZones", "ec2:DescribeVpcs", "ec2:DescribeAccountAttributes", "ec2:DescribeSubnets", "rds:Describe*", "rds:ListTagsForResource", "rds:CreateDBInstance", "rds:CreateDBSubnetGroup", "kms:ListAliases" ], "Resource": "*" } ] }
**注意:**若要使用客戶自管金鑰進行加密,您必須授權使用客戶自管金鑰。
若要允許使用者刪除 RDS 資料庫執行個體,請使用下列政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds:DeleteDBInstance", "rds:DescribeDBInstances" ], "Resource": "*" } ] }
若要允許使用者建立和刪除 RDS 資料庫執行個體,請使用下列政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeVpcAttribute", "ec2:DescribeSecurityGroups", "ec2:DescribeInternetGateways", "ec2:DescribeAvailabilityZones", "ec2:DescribeVpcs", "ec2:DescribeAccountAttributes", "ec2:DescribeSubnets", "rds:Describe*", "rds:ListTagsForResource", "rds:CreateDBInstance", "rds:CreateDBSubnetGroup", "rds:DeleteDBInstance" ], "Resource": "*" } ] }
停止和啟動 RDS 資料庫執行個體
若要允許使用者啟動和停止資料庫執行個體,請使用下列政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds:StopDBInstance", "rds:StartDBInstance", "rds:Describe*" ], "Resource": "*" } ] }
執行備份和復原
若要允許使用者建立資料庫快照,請使用下列政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds:Describe*", "rds:CreateDBSnapshot" ], "Resource": "*" } ] }
若要允許使用者還原使用資料庫快照的 RDS 資料庫執行個體,請使用下列政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:Describe*", "rds:Describe*", "rds:RestoreDBInstanceFromDBSnapshot" ], "Resource": "*" } ] }
若要允許使用者執行時間點復原,請使用下列政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:Describe*", "rds:Describe*", "rds:RestoreDBInstanceToPointInTime" ], "Resource": "*" } ] }
修改 RDS 資料庫執行個體
若要允許使用者變更資料庫執行個體類別類型、分配的儲存體、儲存體類型和執行個體版本,請使用下列政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:Describe*", "rds:Describe*", "rds:ModifyDBInstance" ], "Resource": "*" } ] }
啟用 Enhanced Monitoring 和 Performance Insights
當您使用 iam:PassRole 時,萬用字元 (*) 會過於寬鬆,因為它允許所有資源擁有 iam:PassRole 權限。最佳做法是指定 ARN。
若要允許使用者啟用 Enhanced Monitoring,請使用以下政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:ListRoles", "rds:ModifyDBInstance", "rds:Describe*", "ec2:Describe*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::AccountID:role/rds-monitoring-role" } ] }
**注意:**務必將 Account ID 替換為接收 Enhanced Monitoring 角色的每個帳戶。
若要允許使用者啟用 Performance Insights,請使用以下政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds:ModifyDBInstance", "ec2:Describe*", "rds:Describe*", "pi:*" ], "Resource": "*" } ] }
建立、修改和刪除資料庫參數群組和資料庫選項群組
若要允許使用者建立、修改和刪除資料庫參數群組和選項群組,請使用下列政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:Describe*", "rds:Describe*", "rds:CreateDBParameterGroup", "rds:ModifyDBParameterGroup", "rds:DeleteDBParameterGroup", "rds:CreateOptionGroup", "rds:ModifyOptionGroup", "rds:DeleteOptionGroup" ], "Resource": "*" } ] }
從 Amazon RDS 主控台檢視 Amazon CloudWatch 指標
若要允許使用者從 Amazon RDS 主控台檢視 CloudWatch 指標,請使用下列策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds:Describe*", "cloudwatch:GetMetricData", "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics" ], "Resource": "*" } ] }
相關資訊
相關內容
- 已提問 2 年前
- 已提問 1 年前
- 已提問 2 年前
- 已提問 1 年前

