Konfigurieren der IAM-Authentifizierung für RDS-Proxy - Amazon Relational Database Service

Konfigurieren der IAM-Authentifizierung für RDS-Proxy

Um die AWS Identity and Access Management (IAM)-Authentifizierung für RDS-Proxy in Amazon RDS einzurichten, erstellen und konfigurieren Sie eine IAM-Richtlinie, die die erforderlichen Berechtigungen gewährt. RDS-Proxy verwendet AWS Secrets Manager zur sicheren Verwaltung von Datenbankanmeldedaten, sodass sich Anwendungen über den Proxy authentifizieren können, ohne die Anmeldeinformationen direkt verarbeiten zu müssen.

In diesem Thema werden die Schritte zur Konfiguration der IAM-Authentifizierung für den RDS-Proxy beschrieben, einschließlich der Erstellung der erforderlichen IAM-Richtlinie und deren Anfügung an eine IAM-Rolle.

Tipp

Dieses Verfahren ist nur erforderlich, wenn Sie Ihre eigene IAM-Rolle erstellen möchten. Andernfalls kann RDS die erforderliche Rolle automatisch erstellen, wenn Sie den Proxy einrichten, sodass Sie diese Schritte überspringen können.

Voraussetzungen

Stellen Sie vor der Einrichtung der IAM-Authentifizierung für RDS-Proxy sicher, dass Sie über Folgendes verfügen:

Erstellen einer IAM-Richtlinie für den Zugriff auf Secrets Manager

Damit RDS-Proxy Datenbankanmeldedaten von Secrets Manager abrufen kann, erstellen Sie eine IAM-Rolle mit einer Richtlinie, die die notwendigen Berechtigungen gewährt.

So erstellen Sie eine Rolle für den Zugriff auf Ihre Secrets für die Verwendung mit Ihrem Proxy
  1. Melden Sie sich bei der AWS Management Console an, und öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Erstellen Sie eine Berechtigungsrichtlinie für die Rolle. Allgemeine Schritte finden Sie unter IAM-Richtlinien erstellen (Konsole).

    Fügen Sie die folgende Richtlinie in den JSON-Editor ein und nehmen Sie die folgenden Änderungen vor:

    • Ersetzen Sie die Vorgabe durch Ihre eigene Konto-ID.

    • Ersetzen Sie us-east-2 durch die Region, in der sich der Proxy befinden wird.

    • Ersetzen Sie die geheimen Namen durch die Namen, die Sie erstellt haben. Weitere Informationen finden Sie unter Angeben von KMS-Schlüsseln in IAM-Richtlinienanweisungen.

    • Ersetzen Sie die KMS-Schlüssel-ID durch die, die Sie zur Verschlüsselung der Secrets von Secrets Manager verwendet haben, entweder den Standardschlüssel oder Ihren eigenen Schlüssel.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": [ "arn:aws:secretsmanager:us-east-2:111122223333:secret:secret_name_1", "arn:aws:secretsmanager:us-east-2:111122223333:secret:secret_name_2" ] }, { "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-east-2:111122223333:key/key_id", "Condition": { "StringEquals": { "kms:ViaService": "secretsmanager.us-east-2.amazonaws.com" } } } ] }
  3. Erstellen Sie die Rolle fügen Sie ihr die Berechtigungsrichtlinie an. Allgemeine Schritte finden Sie unter Erstellen einer Rolle zum Delegieren von Berechtigungen an einen AWS-Service.

    Wählen Sie für Vertrauenswürdiger Entitätstyp die Option AWS-Service aus. Wählen Sie unter Anwendungsfall die Option RDS und für den Anwendungsfall RDS – Rolle zur Datenbank hinzufügen aus.

  4. Wählen Sie für Berechtigungsrichtlinien die Richtlinie aus, die Sie erstellt haben.

  5. Geben Sie für Vertrauenswürdige Entitäten auswählen die folgende Vertrauensrichtlinie für die Rolle ein:

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Um die Rolle über die AWS CLI zu erstellen, senden Sie die folgende Anforderung:

aws iam create-role \ --role-name my_role_name \ --assume-role-policy-document '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"Service":["rds.amazonaws.com"]},"Action":"sts:AssumeRole"}]}'

Fügen Sie anschließend die Richtlinie an die Rolle an.

aws iam put-role-policy \ --role-name my_role_name \ --policy-name secret_reader_policy \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": [ "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_1", "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_2" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-east-2:account_id:key/key_id", "Condition": { "StringEquals": { "kms:ViaService": "secretsmanager.us-east-2.amazonaws.com" } } } ] }'

Nachdem Sie die IAM-Rolle und die Berechtigungen konfiguriert haben, können Sie nun einen Proxy erstellen und ihn dieser Rolle zuordnen. Auf diese Weise kann der Proxy Datenbankanmeldedaten sicher aus AWS Secrets Manager abrufen und die IAM-Authentifizierung für Ihre Anwendungen aktivieren. Detaillierte Anweisungen finden Sie unter Erstellen eines Proxys für Amazon RDS.