Was sind die geringsten Rechte, die ein Benutzer benötigt, um eine Amazon RDS-DB-Instance zu erstellen, zu löschen, zu ändern, zu sichern und wiederherzustellen?

Lesedauer: 5 Minute
0

Ich möchte den Zugriff, den ich meinen AWS Identity and Access Management (IAM) -Benutzern auf eine Amazon Relational Database Service (Amazon RDS) -DB-Instance gewähre, einschränken. Wie kann ich IAM-Benutzern die geringsten Rechte gewähren, die erforderlich sind, um eine bestimmte Aktion für eine Amazon RDS-DB-Instance auszuführen?

Behebung

**Hinweis:**Wenn Sie beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste AWS CLI-Version verwenden.

1.Öffnen Sie die IAM-Konsole und wählen Sie dann im Navigationsbereich Benutzer aus.

2.Wählen Sie Hinzufügen Benutzer aus, und geben Sie dann einen Benutzernamen ein.

3.Wählen Sie als Zugriffstyp den Zugriff auf dieAWS Management Konsole aus und erstellen Sie dann ein Passwort für die Nutzung der Amazon RDS-Konsole. Um Zugriff auf die AWS-Befehlszeilenschnittstelle (AWS CLI) zu gewähren, wählen Sie Programmatischer Zugriff.

**Wichtig:**Stellen Sie für den programmatischen Zugriff sicher, dass Sie die Zugangsschlüssel-ID und den geheimen Zugriffsschlüssel herunterladen, indem Sie Download.csv auswählen. Sie benötigen die Schlüssel, um die Sicherheitstoken später zu erstellen.

4.Überprüfen Sie die Berechtigungen und Tags und wählen Sie dann Erstellen Benutzer aus. Dadurch wird ein IAM-Benutzer mit der IAMUserChangePassword-Richtlinie erstellt.

5.Erstellen Sie IAM-Richtlinien für die Aktionen, die Sie in Amazon RDS ausführen möchten.

6.Kehren Sie zur IAM-Konsole zurück, und wählen Sie dann im Navigationsbereich Benutzer aus.

7.Wählen Sie den IAM-Benutzer aus, den Sie erstellt haben.

8.Wählen Sie auf der Registerkarte Berechtigungen die Option Hinzufügen Inline-Richtlinie aus.

9.Wählen Sie die Registerkarte JSON und geben Sie dann je nach Anwendungsfall eine oder mehrere der folgenden Richtlinien ein.

**Hinweis:**Die folgenden Richtlinien bieten die geringsten Rechte, die für die Ausführung der angegebenen Aktionen erforderlich sind. Möglicherweise sehen Sie in der Amazon RDS-Konsole Fehler (z. B. IAMUser is not authorized to perform: rds:Action), weil diese Berechtigung in der Richtlinie nicht enthalten ist. Am häufigsten tritt dieser Fehler bei Describe-Aktionen auf. Der Fehler wird erwartet und beeinträchtigt nicht Ihre Fähigkeit, diese Aktionen auszuführen. Um diesen Fehler zu vermeiden, können Sie die folgenden Beispiel-IAM-Richtlinien ändern oder mithilfe der AWS-CLI Aktionen ausführen.

RDS-DB-Instances erstellen und löschen

Die folgende Richtlinie ermöglicht es Benutzern, RDS-DB-Instances zu erstellen, ohne dass die Verschlüsselung aktiviert ist:

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

Die folgende Richtlinie ermöglicht es Benutzern, RDS-DB-Instances mit aktivierter Verschlüsselung zu erstellen:

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

Hinweis: Um einen vom Kunden verwalteten Schlüssel für die Verschlüsselung anstelle des standardmäßigen von AWS verwalteten Schlüssels zu verwenden, müssen Sie die Verwendung eines vom Kunden verwalteten Schlüssels autorisieren.

Die folgende Richtlinie ermöglicht Benutzern das Löschen von RDS-DB-Instances:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "rds:DeleteDBInstance",
        "rds:DescribeDBInstances"
      ],
      "Resource": "*"
    }
  ]
}

Die folgende Richtlinie ermöglicht Benutzern das Erstellen und Löschen von RDS-DB-Instances:

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

Stoppen und Starten von RDS-DB-Instances

Die folgende Richtlinie ermöglicht Benutzern das Stoppen und Starten von RDS-DB-Instances:

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

Durchführung von Backup und Recovery (Erstellen von DB-Snapshots, Wiederherstellen einer DB-Instance aus DB-Snapshots und Point-in-Time-Wiederherstellung)

Die folgende Richtlinie ermöglicht Benutzern das Erstellen von DB-Snapshots:

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

Die folgende Richtlinie ermöglicht Benutzern die Wiederherstellung von RDS-DB-Instances mithilfe von DB-Snapshots:

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

Die folgende Richtlinie ermöglicht Benutzern die Durchführung einer Point-in-Time-Wiederherstellung:

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

Ändern von RDS-DB-Instances

Die folgende Richtlinie ermöglicht es Benutzern, den DB-Instance-Klassentyp, den zugewiesenen Speicher, den Speichertyp und die Instance-Version zu ändern:

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

Aktivierung von Enhanced Monitoring and Performance Insights

Die folgende Richtlinie ermöglicht es Benutzern, Enhanced Monitoring zu aktivieren. Achten Sie darauf, accountID durch jedes Konto zu ersetzen, das die erweiterte Überwachungsrolle erhält:

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

Hinweis: Bei Verwendung mit einer iam:PassRole ist ein Platzhalter (\ *) zu permissiv, da er iam:PassRole-Berechtigungen für alle Ressourcen gewährt. Daher empfiehlt es sich, die Amazon Resource Names (ARNs) anzugeben, wie im Beispiel zuvor gezeigt.

Die folgende Richtlinie ermöglicht Benutzern die Aktivierung von Performance Insights:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "rds:ModifyDBInstance",
        "ec2:Describe*",
        "rds:Describe*",
        "pi:*"
      ],
      "Resource": "*"
    }
  ]
}

DB-Parametergruppen und DB-Optionsgruppen erstellen, ändern und löschen

Die folgende Richtlinie ermöglicht Benutzern das Erstellen, Ändern oder Löschen von DB-Parametergruppen und Optionsgruppen:

{
  "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 CloudWatch-Metriken von der Amazon RDS-Konsole aus anzeigen

Die folgende Richtlinie ermöglicht es Benutzern, CloudWatch-Metriken von der Amazon RDS-Konsole aus einzusehen:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "rds:Describe*",
        "cloudwatch:GetMetricData",
        "cloudwatch:GetMetricStatistics"
      ],
      "Resource": "*"
    }
  ]
}

10.Wählen Sie Überprüfen Richtlinie aus.

11.Geben Sie einen Namen für Ihre Richtlinie ein und wählen Sie dann Erstellen Richtlinie aus.


Ähnliche Informationen

Identitäts- und Zugriffsmanagement für Amazon RDS

Wie erlaube ich Benutzern, sich mit ihren IAM-Anmeldeinformationen bei einer Amazon RDS MySQL-DB-Instance zu authentifizieren?