Benutzer, Gruppen und Berechtigungen von Backup und Restore
Wenn Sie für eine Datenbank mit nzbackup -db Datenbankname ein Backup durchführen, enthält das Backup Berechtigungen für Objekte in der Datenbank und alle Benutzer und Gruppen, die von diesen Berechtigungen referenziert werden. Das Datenbankbackup enthält nur die Benutzer, Gruppen und Berechtigungen, die in der jeweiligen Datenbank gespeichert sind. Es enthält keine globalen Berechtigungen, die im Systemkatalog definiert sind.
Geben Sie nzbackup -globals an, um für alle Benutzer, Gruppen und globalen Berechtigungen ein Backup durchzuführen. Der Befehl nzbackup -globals führt ein Backup für alle Benutzer und Gruppen unabhängig davon durch, ob sie von Berechtigungserteilungen in einer Datenbank und Sicherheitskategorien, Kohorten und mehreren Sicherheitsebenen referenziert werden. Das System führt außerdem ein Backup für alle Berechtigungen auf globaler Ebene durch, die nicht bestimmten Datenbanken zugeordnet sind. Das System führt kein Backup für Berechtigungen durch, die in bestimmten Datenbanken definiert sind. Diese Berechtigungen werden in den regulären Datenbankbackups für diese Datenbanken gespeichert.
nzsql
SYSTEM.ADMIN(ADMIN)=> GRANT CREATE TABLE TO user1;
SYSTEM.ADMIN(ADMIN)=> \c db_product
DB_PRODUCT.SCH(ADMIN)=> GRANT CREATE TABLE TO user2;
DB_PRODUCT.SCH(ADMIN)=> GRANT LIST ON TABLE TO user3;
DB_PRODUCT.SCH(ADMIN)=> GRANT LIST ON emp TO user4; User1 hat die globale Berechtigung Tabelle erstellen, die das Erstellen von Tabellen in allen Datenbanken erlaubt. User2 und " User3 haben die Berechtigung " Create und " List für Tabellen in der Datenbank db_product. User4 hat nur das Recht "Liste" für die Tabelle " emp in der Datenbank " db_product.
Die folgende Tabelle beschreibt die Ergebnisse, wenn Sie die Befehle " nzbackup und " nzrestore mit verschiedenen Optionen starten.
| Methode | Gesicherter/wiederhergestellter Benutzer | Gesicherte/wiederhergestellte Berechtigung |
|---|---|---|
| nzbackup/nzrestore -db db_product | user2 | CREATE abellen in der ' db_product -Datenbank. |
| user3 | LIST auf alle Tabellen in der Datenbank ' db_product. |
|
| user4 | LIST in der Tabelle " emp in der Datenbank " db_product. |
|
| nzbackup/nzrestore -Globale | user1 | CREATE -Tabellen in der Systemdatenbank. |
| user2 | ||
| user3 | ||
| user4 |
- Ein reguläres Backup der '
db_product-Datenbank umfasst weder user1 noch ' CREATE TABLE GRANT bis 'user1, da diese Berechtigungen in der Systemdatenbank (dem Systemkatalog) definiert sind. - Eine -globals-Sicherung und -Wiederherstellung umfasst alle Benutzer (in diesem Fall users1 - user4), aber nur die Berechtigung '
Create Tablefür 'user1, die auch in der Systemdatenbank definiert ist. Das Backup und der Restore mit -globals enthält nicht die Berechtigungen, die spezifisch in der Datenbank 'db_product' definiert sind. - Ein Backup und Restore mit -globals enthält nicht den Benutzer mit Administratorberechtigung oder die Gruppe 'public'.
Mit dem Befehl nzrestore -globals können Sie Benutzer, Gruppen und Berechtigungen wiederherstellen. Die Wiederherstellung von Benutzern und Gruppen ist nicht-destruktiv, d.h. das System legt Benutzer und Gruppen nur dann an, wenn sie nicht existieren. Er löscht keine Benutzer und Gruppen. Der Berechtigungsrestore ist auch nicht zerstörerisch, d. h., dass das System nur Berechtigungen erteilt. Er entzieht keine Berechtigungen.