Konfigurieren der IAM-Authentifizierung für RDS-Proxy - Amazon Aurora

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

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.

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:

  • AWS Secrets Manager – Mindestens ein gespeichertes Secret, das Datenbankanmeldedaten enthält. Anleitungen zum Erstellen von Secrets finden Sie unter Datenbankanmeldedaten für RDS Proxy einrichten.

    Dies ist nicht erforderlich, wenn Sie die end-to-end IAM-Authentifizierung verwenden.

  • IAM-Berechtigungen – Eine IAM-Rolle oder ein IAM-Benutzer mit Berechtigungen zum Erstellen und Verwalten von IAM-Richtlinien, -Rollen und -Secrets in AWS Secrets Manager.

Eine IAM-Richtlinie für end-to-end die IAM-Authentifizierung erstellen

Wenn Sie die end-to-end IAM-Authentifizierung verwenden, stellt RDS Proxy mithilfe der IAM-Authentifizierung eine Verbindung zu Ihrer Datenbank her, anstatt Anmeldeinformationen von Secrets Manager abzurufen. Dazu müssen Sie Ihre IAM-Rolle mit rds-db:connect Berechtigungen für die Datenbankkonten konfigurieren, die Sie mit dem Proxy verwenden möchten.

Um Ihren RDS-Proxy mithilfe von IAM gegenüber der Datenbank zu authentifizieren, erstellen Sie eine IAM-Rolle mit einer Richtlinie, die die erforderlichen Datenbankverbindungsberechtigungen gewährt.

Um eine Rolle für die end-to-end IAM-Authentifizierung mit Ihrem Proxy zu erstellen
  1. Melden Sie sich bei der an AWS Management Console 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 es us-east-2 durch den Ort, an dem sich der Proxy befinden muss.

    • Ersetzen Sie die Datenbankressource IDs und die Benutzernamen durch die Namen, die Sie verwenden möchten. Das Format der Ressourcen-ID unterscheidet sich zwischen RDS-Instances undAurora clusters.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "rds-db:connect", "Resource": [ "arn:aws:rds-db:us-east-2:account_id:dbuser:db_instance_resource_id/db_user_name_1", "arn:aws:rds-db:us-east-2:account_id:dbuser:db_instance_resource_id/db_user_name_2" ] } ] }
  3. Erstellen Sie die Rolle fügen Sie ihr die Berechtigungsrichtlinie an. Allgemeine Schritte finden Sie unter Eine Rolle erstellen, um Berechtigungen an einen AWS Dienst zu delegieren.

    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:

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

Um die Rolle mithilfe von zu erstellen AWS CLI, senden Sie die folgende Anfrage:

aws iam create-role \ --role-name my_e2e_iam_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_e2e_iam_role_name \ --policy-name e2e_iam_db_connect_policy \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "rds-db:connect", "Resource": [ "arn:aws:rds-db:us-east-2:account_id:dbuser:db_instance_resource_id/db_user_name_1", "arn:aws:rds-db:us-east-2:account_id:dbuser:db_instance_resource_id/db_user_name_2" ] } ] }'

Wenn die IAM-Rolle und die Berechtigungen für die end-to-end IAM-Authentifizierung konfiguriert sind, können Sie jetzt einen Proxy mit der DefaultAuthScheme Einstellung auf erstellen. IAM_AUTH Dieser Proxy authentifiziert sich mithilfe von IAM direkt bei der Datenbank, ohne dass Secrets Manager Manager-Geheimnisse erforderlich sind. Detaillierte Anweisungen finden Sie unter Erstellen eines Proxys für Amazon Aurora.

Wenn Sie die end-to-end IAM-Authentifizierung verwenden, stellen Sie sicher, dass Ihre Datenbankbenutzer für die IAM-Authentifizierung konfiguriert sind, wie unter beschrieben. Erstellen eines Datenbankkontos mithilfe der IAM-Authentifizierung

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 an AWS Management Console 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 Eine Rolle erstellen, um Berechtigungen für einen AWS Dienst zu delegieren.

    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 mithilfe von zu erstellen AWS CLI, senden Sie die folgende Anfrage:

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 Ihren Anwendungen abrufen AWS Secrets Manager und die IAM-Authentifizierung für Ihre Anwendungen aktivieren. Detaillierte Anweisungen finden Sie unter Erstellen eines Proxys für Amazon Aurora.