Freigeben über


Erforderliche Berechtigungen für die Erstellung und Überwachung des Migrationsvorgangs

Um Migrationen mit PostgreSQL Migration Service zu erstellen und zu überwachen, benötigen Benutzer bestimmte Berechtigungen. Hier ist ein Leitfaden zu den erforderlichen Berechtigungen und Schritten zum effektiven Konfigurieren dieser Berechtigungen.

Rollenbasierte Zugriffskontrolle (RBAC): Mindestsatz von Berechtigungen

Die folgenden Berechtigungen benötigt ein Benutzer mindestens zum erfolgreichen Erstellen und Überwachen von Migrationen:

  • Ressourcengruppe und Abonnement

    • Microsoft.Resources/subscriptions/resourceGroups/read
    • Microsoft.Resources/subscriptions/read
    • Microsoft.Resources/subscriptions/locations/read
    • Microsoft.Resources/subscriptions/resourceGroups/deployments/read
    • Microsoft.Resources/deployments/read
    • Microsoft.Resources/subscriptions/resourceGroups/resources/read
  • Migrationsspezifisch

    • Microsoft.DBforPostgreSQL/flexibleServers/checkMigrationNameAvailability/action
    • Microsoft.DBforPostgreSQL/flexibleServers/migrations/write
    • Microsoft.DBforPostgreSQL/flexibleServers/migrations/read
    • Microsoft.DBforPostgreSQL/flexibleServers/migrations/delete
  • Zielserver

    • Microsoft.DBforPostgreSQL/flexibleServers/read
    • Microsoft.DBforPostgreSQL/flexibleServers/databases/read
  • Konnektivitäts- und Datenbankliste

    • Microsoft.DBforPostgreSQL/flexibleServers/testConnectivity/action
    • Microsoft.DBforPostgreSQL/flexibleServers/getSourceDatabaseList/action
  • Konfigurationen

    • Microsoft.DBforPostgreSQL/flexibleServers/configurations/read
    • Microsoft.DBforPostgreSQL/servers/configurations/read

Standardrollen

Standardmäßig verfügen privilegierte Administratorrollen wie Besitzer oder Mitwirkender auf Abonnementebene über die erforderlichen Berechtigungen.

Zuweisen einer benutzerdefinierten Rolle für die Migration

Wenn Sie speziell Berechtigungen zum Erstellen und Überwachen von Migrationen ohne andere Datenbankadministratorberechtigungen erteilen möchten, sollten Sie eine benutzerdefinierte Rolle erstellen.

Weitere Anforderungen für Migrationen, die einen Laufzeitserver enthalten

Wenn ein Runtimeserver Teil Ihres Migrationssetups ist, stellen Sie sicher, dass die Berechtigung „Microsoft.DBforPostgreSQL/flexibleServers/migrations/*“ im Umfang des Runtimeservers enthalten ist.

Durch das Einrichten dieser Berechtigungen stellen Sie sicher, dass Ihr Migrationsprozess sowohl sicher ist als auch den Anforderungen von PostgreSQL Migration Service entspricht.

Onlinemigration mit PgOutput – Erforderliche Publikationsberechtigungen

Die Erstellung von Veröffentlichungen ist in der Online-Migration erforderlich, um den Datensatz für die logische Replikation mit pgoutput während der PostgreSQL-Migration festzulegen. Sie steuert die Granularität und stellt sicher, dass nur gewünschte Tabellenänderungen für die Replikation gestreamt werden und effiziente und kontrollierte Cloudmigrationsworkflows unterstützen.

Sie müssen die Publikationserstellung an der Quelle über eine der folgenden Optionen aktivieren:

  1. Erteilen der Berechtigung zum Erstellen auf der Datenbank und Verwendung der Vererbungsrolle: Mit dieser Option können Sie dem Migrationsbenutzer die erforderlichen Berechtigungen erteilen, ohne die Tabellenbesitzverhältnisse zu ändern.

Für alle Datenbanken, die Sie zu migrieren planen, erteilt CREATE dem Benutzer die Berechtigung, eine Publikation zu erstellen, um Änderungen zu streamen.

GRANT CREATE ON DATABASE your_db TO migration_user;

Gewähren Sie als Nächstes die Rollenmitgliedschaft für den Migrationsbenutzer, damit alle Tabellen als Teil der Publikation eingeschlossen werden können. Wählen Sie benutzerdefinierte Rollen aus, die Tabellen oder Objekte in der Datenbank besitzen. Dies muss erfolgen, damit alle Tabellen der Datenbank migriert werden.

GRANT role1,  role2...etc  TO migration_user;
  1. Verwenden Sie Superuser-Anmeldeinformationen an der Quelle für die Migration: Superuser-Anmeldeinformationen helfen dem Quellbenutzer, die gewünschte Publikation ohne Berechtigungsprobleme zu erstellen.
CREATE ROLE migration_user WITH LOGIN SUPERUSER PASSWORD 'your_secure_password'; 

Der erhöhte Zugriff kann auch erreicht werden, indem superuser-Berechtigungen für eine vorhandene Rolle gewährt werden, die für die Migration verwendet werden soll:

ALTER ROLE existing_migration_user WITH SUPERUSER;
  1. Erteilen der Berechtigung zum Erstellen auf der Datenbank und Übertragen des Besitzes (Ändern des Besitzers): Ermöglichen Sie einem Migrationsbenutzer ohne Superuser-Status, Publikationen zu erstellen, indem Sie ihm die erforderlichen Berechtigungen und die Kontrolle über Tabellen geben.
GRANT CREATE ON DATABASE your_db TO migration_user; 
ALTER TABLE table1, table2...etc OWNER TO migration_user; 

Der Besitz aller Tabellen der zu migrierenden Datenbank muss auf migration_user übertragen werden. Das Ändern des Tabellenbesitzes und das anschließende Rückgängigmachen kann sich auf Anwendungsberechtigungen auswirken.

Tabellenkonfiguration für die Änderungsdatenerfassung

In der folgenden Tabelle sind die Szenarien aufgeführt, in denen CdC-Vorgänge (Change Data Capture) unterstützt werden:

Tabellentyp Einfügen Update Löschen Truncate
Mit Primärschlüssel Unterstützt Unterstützt Unterstützt Unterstützt
Replikatidentität = INDEX Unterstützt Unterstützt Unterstützt Unterstützt
Replikatidentität = VOLLSTÄNDIG Unterstützt Unterstützt Unterstützt Unterstützt
Kein primärer Schlüssel, Replik-Identität = DEFAULT Unterstützt Nicht unterstützt Nicht unterstützt Unterstützt

Die Migration schlägt fehl, wenn nicht unterstützte Aktionen ausgeführt werden.