Sichern von MySQL-DB-Instance-Verbindungen - 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.

Sichern von MySQL-DB-Instance-Verbindungen

Sie können robuste Sicherheitsmaßnahmen implementieren, um MySQL-DB-Instances vor unbefugtem Zugriff und potenziellen Bedrohungen zu schützen. Sicherheitsgruppen, SSL/TLS-Verschlüsselung und IAM-Datenbankauthentifizierung arbeiten zusammen, um mehrere Ebenen der Verbindungssicherheit für Ihre MySQL-DB-Instances zu schaffen. Diese Sicherheitskontrollen helfen Ihnen dabei, Compliance-Anforderungen zu erfüllen, Datenschutzverletzungen zu verhindern und sichere Kommunikationskanäle zwischen Anwendungen und Datenbanken aufrechtzuerhalten. Sie können Ihre MySQL-DB-Instances schützen, indem Sie Daten während der Übertragung verschlüsseln, den Zugriff auf bestimmte IP-Bereiche einschränken und die Benutzerauthentifizierung über IAM-Rollen statt über Datenbankkennwörter verwalten.

Sicherheit für MySQL-DB-Instances wird auf drei Ebenen verwaltet:

  • AWS Identity and Access Management steuert, wer Amazon RDS-Managementaktionen auf DB-Instances ausführen kann. Wenn Sie AWS mithilfe von IAM-Anmeldeinformationen eine Verbindung herstellen, muss Ihr IAM-Konto über IAM-Richtlinien verfügen, die die für die Durchführung von Amazon RDS-Verwaltungsvorgängen erforderlichen Berechtigungen gewähren. Weitere Informationen finden Sie unter Identitäts- und Zugriffsmanagement für Amazon RDS.

  • Wenn Sie eine DB-Instance erstellen, verwenden Sie eine VPC-Sicherheitsgruppe, um zu steuern, welche Geräte und EC2 Amazon-Instances Verbindungen zum Endpunkt und Port der DB-Instance öffnen können. Diese Verbindungen können mit Secure Socket Layer (SSL) und Transport Layer Security (TLS) hergestellt werden. Zusätzlich können Firewall-Regeln in Ihrem Unternehmen steuern, ob Geräte in Ihrem Unternehmen bestehende Verbindungen zur DB-Instance öffnen können.

  • Um die Anmeldung und die Berechtigungen für eine MySQL-DB-Instance zu authentifizieren, können Sie einen der folgenden Ansätze oder eine Kombination davon wählen:

    • Sie können denselben Ansatz wie mit einer eigenständigen Instance in MySQL auswählen. Befehle wie CREATE USER, RENAME USER, GRANT, REVOKE und SET PASSWORD funktionieren genau wie auf lokalen Datenbanken, so wie auch das direkte Ändern von Datenbank-Schema-Tabellen. Das direkte Ändern der Datenbankschematabellen ist jedoch keine bewährte Methode, und ab RDS for MySQL Version 8.0.36 wird es nicht unterstützt. Weitere Informationen finden Sie unter Access Control and Account Management in der MySQL-Dokumentation.

    • Sie können auch die IAM-Datenbank-Authentifizierung verwenden. Mit IAM-Datenbank-Authentifizierung, können Sie mithilfe eines IAM-Benutzers, einer IAM-Rolle oder eines Authentifizierungstokens Ihre DB-Instance bestätigen. Ein Authentifizierungstoken ist ein eindeutiger Wert, der mithilfe des Signatur-Version 4-Signiervorgangs erstellt wird. Durch das Verwenden der IAM-Datenbank-Authentifizierung können Sie dieselben Anmeldeinformationen verwenden, um den Zugang zu Ihren AWS -Ressourcen und Ihrer Datenbank zu steuern. Weitere Informationen finden Sie unter IAM-Datenbankauthentifizierung für MariaDB, MySQL und PostgreSQL.

    • Eine weitere Option ist die Kerberos-Authentifizierung für RDS for MySQL. Die DB-Instance arbeitet mit AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD), um die Kerberos-Authentifizierung zu aktivieren. Wenn Benutzer sich mit einer MySQL-DB-Instance authentifizieren, die mit der vertrauenswürdigen Domäne verbunden ist, werden Authentifizierungsanfragen weitergeleitet. Weitergeleitete Anfragen werden in das Domänenverzeichnis geleitet, mit dem Sie sie erstellen. AWS Directory Service Weitere Informationen finden Sie unter Die Verwendung von Kerberos Authentifizierung für Amazon RDS for My SQL.

Wenn Sie eine Amazon RDS DB-Instance erstellen, hat der Master-Benutzer standardmäßig folgende Berechtigungen:

Engine-Version Systemberechtigung Datenbankrolle

RDS für MySQL Version 8.4.3 und höher

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES,INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE ROLE, DROP ROLE, APPLICATION_PASSWORD_ADMIN, FLUSH_OPTIMIZER_COSTS, FLUSH_PRIVILEGES, FLUSH_STATUS, FLUSH_TABLES, FLUSH_USER_RESOURCES, ROLE_ADMIN, SENSITIVE_VARIABLES_OBSERVER, SESSION_VARIABLES_ADMIN, SET_ANY_DEFINER, SHOW_ROUTINE, XA_RECOVER_ADMIN

rds_superuser_role

Mehr über rds_superuser_role erfahren Sie unter Rollenbasiertes Privilegienmodell für for My RDS SQL.

RDS für MySQL Version 8.0.36 und höher

SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE ROLE, DROP ROLE, APPLICATION_PASSWORD_ADMIN, ROLE_ADMIN, SET_USER_ID, XA_RECOVER_ADMIN

rds_superuser_role

Mehr über rds_superuser_role erfahren Sie unter Rollenbasiertes Privilegienmodell für for My RDS SQL.

RDS für MySQL-Versionen unter 8.0.36

SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, REPLICATION SLAVE

Keine

Anmerkung

Obwohl es möglich ist, den Masterbenutzer in der DB-Instance zu löschen, wird dies nicht empfohlen. Um den Master-Benutzer neu zu erstellen, verwenden Sie den Vorgang Modify DBInstance RDS API oder führen Sie den modify-db-instance AWS CLI Befehl aus und geben Sie ein neues Masterbenutzerkennwort mit dem entsprechenden Parameter an. Wenn der Masterbenutzer nicht bereits in der Instance vorhanden ist, wird der Masterbenutzer mit dem angegebenen Passwort erstellt.

Um Verwaltungsdienste für jede DB-Instance bereitzustellen, wird der rdsadmin-Benutzer erstellt, wenn die DB-Instance erstellt wird. Der Versuch, das Passwort zu verwerfen, umzubenennen oder zu ändern, oder die Sonderrechte für das rdsadmin-Konto zu ändern, wird fehlschlagen.

Um die Verwaltung der DB-Instance zu erlauben, wurden die Befehle kill und kill_query beschränkt. Die Amazon RDS-Befehle rds_kill und rds_kill_query werden bereitgestellt, um Ihnen das Beenden von Benutzersitzungen oder Abfragen in DB-Instances zu ermöglichen.