Umstellung von der Standard-IAM-Authentifizierung zur end-to-end 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.

Umstellung von der Standard-IAM-Authentifizierung zur end-to-end IAM-Authentifizierung für RDS Proxy

Wenn Sie derzeit die Standard-IAM-Authentifizierung für den RDS-Proxy verwenden, bei der sich Clients mit IAM am Proxy authentifizieren, der Proxy jedoch mithilfe von Geheimnissen eine Verbindung zur Datenbank herstellt, können Sie zur IAM-Authentifizierung migrieren, bei der client-to-proxy sowohl proxy-to-database Verbindungen als auch Verbindungen die end-to-end IAM-Authentifizierung verwenden.

Um zur IAM-Authentifizierung zu wechseln end-to-end
  1. Aktualisieren Sie die IAM-Rollenberechtigungen für RDS Proxy

    Erstellen Sie eine aktualisierte Proxy-Berechtigungsrichtlinie, die sowohl Secrets Manager als auch rds:db-connect Berechtigungen umfasst:

    # Create updated proxy permission policy cat > updated-proxy-policy.json ≪ EOF
    { "Version": "2012-10-17", "Statement": [ { "Sid": "GetSecretsValue", "Action": [ "secretsmanager:GetSecretValue" ], "Effect": "Allow", "Resource": [ "arn:aws:secretsmanager:us-east-1:123456789012:secret:secretName-1234f" ] }, { "Sid": "RdsDBConnect", "Action": [ "rds-db:connect" ], "Effect": "Allow", "Resource": [ "arn:aws:rds-db:us-east-1:123456789012:dbuser:cluster-ABCDEFGHIJKL01234/jane_doe" ] } ] }

    Aktualisieren Sie den Proxy Ihrer Rollenrichtlinie:

    aws iam put-role-policy \ --role-name RDSProxyRole \ --policy-name UpdatedProxyPermissions \ --policy-document file://updated-proxy-policy.json
  2. Ändern Sie Ihren RDS-Proxy, um die end-to-end IAM-Authentifizierung zu aktivieren

    aws rds modify-db-proxy \ --db-proxy-name my-database-proxy \ --default-auth-scheme IAM_AUTH \ --region us-east-1

    Stellen Sie sicher, dass der RDS-Proxystatus „VerfügbarDefaultAuthScheme lautet, IAM_AUTH bevor Sie fortfahren, um sicherzustellen, dass während der Migration keine Ausfallzeiten auftreten.

    aws rds describe-db-proxies --db-proxy-name my-database-proxy --region us-east-1

    Erwartete Ausgabe:

    { "DBProxies": [ { "DBProxyName": "my-database-proxy", "DBProxyArn": "arn:aws:rds:us-east-1:123456789012:db-proxy:prx-0123456789abcdef", "Status": "available", ... "DefaultAuthScheme": "IAM_AUTH" } ] }
  3. Aktivieren Sie die IAM-Authentifizierung in der Datenbank

    aws rds modify-db-cluster \ --db-cluster-identifier my-database-cluster \ --enable-iam-database-authentication \ --region us-east-1
  4. Konfigurieren Sie den Datenbankbenutzer für die IAM-Authentifizierung

    Für Aurora PostgreSQL:

    GRANT rds_iam TO jane_doe;

    Für Aurora MySQL:

    ALTER USER 'jane_doe' IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS'; ALTER USER 'jane_doe'@'%' REQUIRE SSL;
  5. Der Code Ihrer Client-Anwendung muss sich nicht ändern. Der Verbindungsvorgang bleibt derselbe:

    Für Aurora PostgreSQL:

    # Generate authentication token export PGPASSWORD=$(aws rds generate-db-auth-token \ --hostname my-database-proxy.proxy-ABCDEFGHIJKL01234.us-east-1.rds.amazonaws.com \ --port 5432 \ --username jane_doe \ --region us-east-1) # Connect to database through proxy psql "host=my-database-proxy.proxy-ABCDEFGHIJKL01234.us-east-1.rds.amazonaws.com port=5432 user=jane_doe dbname=postgres password=$PGPASSWORD sslmode=require sslrootcert=us-east-1-bundle.pem"

    Für Aurora MySQL:

    # Generate authentication token export MYSQL_PWD=$(aws rds generate-db-auth-token \ --hostname my-database-proxy.proxy-ABCDEFGHIJKL01234.us-east-1.rds.amazonaws.com \ --port 3306 \ --username jane_doe \ --region us-east-1) # Connect to database through proxy mysql -h my-database-proxy.proxy-ABCDEFGHIJKL01234.us-east-1.rds.amazonaws.com \ -P 3306 \ -u jane_doe \ --ssl-ca=us-east-1-bundle.pem \ --enable-cleartext-plugin