Erstellen und Verwenden einer IAM-Richtlinie für den IAM-Datenbankzugriff - Amazon Relational Database Service

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.

Erstellen und Verwenden einer IAM-Richtlinie für den IAM-Datenbankzugriff

Sie müssen eine IAM-Richtlinie erstellen, um einem Benutzer oder einer Rolle zu erlauben, eine Verbindung mit Ihrer DB-Instance herzustellen. Anschließend fügen Sie die Richtlinie an einen Berechtigungssatz oder eine Rolle an.

Anmerkung

Weitere Informationen zu IAM-Richtlinien finden Sie unter Identity and Access Management für Amazon RDS.

Die folgende Beispielrichtlinie erlaubt einem Benutzer, eine Verbindung mit einer DB-Instance mithilfe der IAM-Datenbank-Authentifizierung herzustellen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:us-east-2:1234567890:dbuser:db-ABCDEFGHIJKL01234/db_user" ] } ] }
Wichtig

Ein Benutzer mit Administratorberechtigungen kann auf DB-Instances zugreifen, ohne über eine IAM-Richtlinie explizite Berechtigungen zu erhalten. Wenn Sie den Administratorzugriff auf DB-Instance- einschränken möchten, können Sie eine IAM-Rolle mit geeigneten, weniger privilegierten Berechtigungen erstellen und diese dem Administrator zuweisen.

Anmerkung

Verwechseln Sie das Präfix rds-db: nicht mit anderen RDS-API-Operationspräfixen, die mit rds: beginnen. Das Präfix rds-db: und die Aktion rds-db:connect werden nur zur IAM-Datenbank-Authentifizierung verwendet. Sie sind in keinem anderen Kontext gültig.

Die Beispielrichtlinie enthält eine einzige Anweisung mit den folgenden Elementen:

  • Effect – Geben Sie Allow an, um den Zugriff auf die DB-Instance zu gewähren. Wenn Sie den Zugriff nicht ausdrücklich erlauben, wird er automatisch verweigert.

  • Action – Geben Sie rds-db:connect an, um Verbindungen mit der DB-Instance zu erlauben.

  • Resource – Geben Sie einen Amazon-Ressourcennamen (ARN) an, der ein Datenbankkonto auf einer DB-Instance beschreibt. Das ARN-Format lautet folgendermaßen.

    arn:aws:rds-db:region:account-id:dbuser:DbiResourceId/db-user-name

    Ersetzen Sie in diesem Format Folgendes:

    • region ist die AWS-Region für die DB-Instance. In der Beispielrichtlinie lautet die AWS-Region us-east-2.

    • account-id bezeichnet die AWS-Kontonummer für die DB- Instance In der Beispielrichtlinie lautet die Kontonummer 1234567890. Der Benutzer muss demselben Konto wie das Konto für den DB-Instance- angehören.

      Erstellen Sie für einen kontoübergreifenden Zugriff eine IAM-Rolle mit der oben angegebenen Richtlinie in dem Konto für den DB-Instance- und erlauben Sie Ihrem anderen Konto, die Rolle zu übernehmen.

    • DbiResourceId ist die Kennung der DB-Instance. Diese Kennung ist für eineAWS-Region eindeutig und unveränderlich. In dieser Beispielrichtlinie lautet die Kennung db-ABCDEFGHIJKL01234.

      Um die Ressourcen-ID einer DB-Instance in der AWS Management Console für Amazon RDS zu ermitteln, wählen Sie die DB-Instance zum Anzeigen von Details aus. Wechseln Sie zur Registerkarte Konfiguration. Die Resource ID (Ressourcen-ID) wird im Abschnitt Configuration Details (Konfigurationsdetails) angezeigt.

      Alternativ können Sie den AWS CLI-Befehl verwenden, um die Kennungen und Ressourcen-IDs für alle Ihre DB-Instances in der aktuellen AWS-Region aufzulisten, wie nachstehend aufgeführt.

      aws rds describe-db-instances --query "DBInstances[*].[DBInstanceIdentifier,DbiResourceId]"

      Wenn Sie Amazon Aurora verwenden, geben Sie eine DbClusterResourceId anstelle einer DbiResourceId an. Weitere Informationen finden Sie unter Erstellen und Verwenden einer IAM-Richtlinie für den IAM-Datenbankzugriff im Amazon Aurora Benutzerhandbuch.

      Anmerkung

      Wenn Sie über den RDS-Proxy eine Verbindung zu einer Datenbank herstellen, geben Sie die Proxy-Ressourcen-ID an, z. B. prx-ABCDEFGHIJKL01234. Hinweise zur Verwendung der IAM-Datenbankauthentifizierung mit RDS-Proxy finden Sie unter Herstellen einer Verbindung mit einem Proxy mithilfe der IAM-Authentifizierung.

    • db-user-name ist der Name des mit der IAM-Authentifizierung zu verknüpfenden Datenbankkontos. In der Beispielrichtlinie lautet das Datenbankkonto db_user.

Sie können andere ARN erstellen, um mehrere Zugriffsmuster zu unterstützen. Die folgende Richtlinie erlaubt den Zugriff auf zwei verschiedene Datenbankkonten auf einer DB-Instance .

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:us-east-2:123456789012:dbuser:db-ABCDEFGHIJKL01234/jane_doe", "arn:aws:rds-db:us-east-2:123456789012:dbuser:db-ABCDEFGHIJKL01234/mary_roe" ] } ] }

Die nachstehende Richtlinie verwendet das Zeichen "*", um alle DB-Instances und Datenbankkonten eines bestimmten AWS-Kontos und in einer bestimmten AWS-Region freizugeben.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:us-east-2:1234567890:dbuser:*/*" ] } ] }

Die nachstehende Richtlinie gleicht alle DB-Instances eines bestimmten AWS-Kontos und in einer bestimmten AWS-Region ab. Allerdings gewährt die Richtlinie nur den Zugriff auf DB-Instances, die über ein jane_doe-Datenbankkonto verfügen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:us-east-2:123456789012:dbuser:*/jane_doe" ] } ] }

Der Benutzer oder die Rolle hat nur auf jene Datenbanken Zugriff, auf die der Datenbankbenutzer zugreifen kann. Nehmen wir beispielsweise an, dass Ihre DB-Instance über eine Datenbank mit dem Namen dev und eine weitere Datenbank mit dem Namen test verfügt. Wenn der Datenbankbenutzer jane_doe nur auf dev zugreifen kann, haben auch alle anderen Benutzer oder Rollen, die auf diese DB-Instance mit dem Benutzer jane_doe zugreifen, lediglich die Berechtigung für den Zugriff auf dev. Diese Zugriffsbeschränkung gilt auch für andere Datenbankobjekte, wie z. B. Tabellen, Ansichten usw.

Ein Administrator muss IAM-Richtlinien erstellen, die Entitäten die Berechtigung zum Ausführen bestimmter API-Operationen für die angegebenen Ressourcen gewähren, die diese benötigen. Der Administrator muss diese Richtlinien anschließend den Berechtigungssätzen oder Rollen anfügen, die diese Berechtigungen benötigen. Beispiele für Richtlinien finden Sie unter Beispiele für identitätsbasierte Amazon-RDS-Richtlinien.

Anfügen einer IAM-Richtlinie an einen Berechtigungssatz oder eine Rolle

Nachdem Sie eine IAM-Richtlinie erstellt haben, um die Datenbank-Authentifizierung zu erlauben, müssen Sie die Richtlinie an einen Berechtigungssatz oder eine Rolle anfügen. Eine praktische Anleitung zu diesem Thema finden Sie unter Erstellen und Anfügen Ihrer ersten vom Kunden verwalteten Richtlinie im IAM-Benutzerhandbuch.

Wenn Sie die praktischen Anleitung durchgehen, können Sie eine der in diesem Abschnitt aufgeführten Beispielrichtlinien als Ausgangsbasis verwenden und auf Ihre Bedürfnisse anpassen. Am Ende des Tutorials verfügen Sie über einen Berechtigungssatz mit einer angefügten Richtlinie, der zur Durchführung der Aktion rds-db:connect berechtigt ist.

Anmerkung

Sie können mehrere Berechtigungssätze oder Rollen mit demselben Datenbank-Benutzerkonto verknüpfen. Nehmen wir beispielsweise an, dass Ihre IAM-Richtlinie folgenden Ressourcen-ARN enthält.

arn:aws:rds-db:us-east-2:123456789012:dbuser:db-12ABC34DEFG5HIJ6KLMNOP78QR/jane_doe

Wenn Sie die Richtlinie an Jane, Bob und Diego anfügen, sind diese Benutzer in der Lage, eine Verbindung mit der angegebenen DB-Instance mithilfe des Datenbankkontos jane_doe herzustellen.