Mit der Standard- oder Advanced-Lizenz verfügbar.
Wenn Sie möchten, dass andere Datenbankbenutzer die Inhalte beliebiger Daten in einer Datenbank anzeigen oder ändern können, müssen Sie ihnen die Berechtigung dazu erteilen.
Sie können das Dialogfeld Berechtigungen, das Geoverarbeitungswerkzeug Berechtigungen ändern oder die Funktion ChangePrivileges_management in einem Python-Skript verwenden, um festzulegen, welche Berechtigungen ein Benutzer oder eine Gruppe für ein bestimmtes Dataset hat.
Sie können lediglich SELECT-Berechtigungen erteilen, d. h., dass der Benutzer den Inhalt eines Datasets lesen und auswählen, jedoch nicht ändern kann. Sie können auch Berechtigungen zum Aktualisieren, Einfügen und Löschen gewähren, sodass der Benutzer den Inhalt eines Datasets sowohl lesen als auch ändern kann.
Für das Erteilen und Widerrufen von Berechtigungen für Daten in einer Datenbank oder Geodatabase in ArcGIS gelten die folgenden Regeln:
- Nur der Besitzer einer Tabelle kann Berechtigungen ändern.
- Nur der Besitzer einer Tabelle kann das Dataset entfernen oder seine Schemadefinition ändern. Selbst wenn einem anderen Besitzer INSERT-, UPDATE- und DELETE-Berechtigungen für das Dataset gewährt werden, kann dieser Benutzer das Schema nicht ändern.
- Wenn Sie einem Benutzer die INSERT-, UPDATE- oder DELETE-Berechtigungen gewähren, müssen Sie auch die SELECT-Berechtigung erteilen. Benutzer müssen in der Lage sein, das Dataset zu lesen, bevor sie es bearbeiten können.
- Die Rollen "dbo" und "db_owner" werden nicht in der Liste Benutzer/Rolle des Dialogfeldes Berechtigungen für SQL Server-Datenbanken angezeigt. Diesen Benutzern sind automatisch Berechtigungen für alle Daten in der Datenbank zugewiesen. Die Berechtigungen sind je nach Rolle unterschiedlich, und Sie können diese Berechtigungen nicht widerrufen.
- PostgreSQL-Anmelderollen oder -gruppen, denen der Administratorstatus in der Datenbank gewährt wurde, werden nicht in der Liste Benutzer/Rolle des Dialogfeldes Berechtigungen angezeigt. Diese Benutzer haben automatisch vollständige Berechtigungen für alle Daten, und Sie können diese Berechtigungen nicht widerrufen.
- Sie können die Berechtigungen eines Benutzers immer nur für ein Dataset über das Dialogfeld Berechtigungen ändern. Um Berechtigungen für mehrere Datasets gleichzeitig zu ändern, verwenden Sie stattdessen das Geoverarbeitungswerkzeug Berechtigungen ändern oder stattdessen die Python-Funktion.
- Zum Widerrufen von Berechtigungen ist eine exklusive Sperre für das Dataset erforderlich. Sind andere Benutzer mit dem Dataset verbunden, können Sie die Berechtigungen nicht widerrufen.
Die folgenden Regeln gelten nur für das Erteilen und Widerrufen von Berechtigungen für Datasets in einer Geodatabase:
- Auf alle Feature-Classes eines Feature-Datasets müssen dieselben Benutzerberechtigungen angewendet werden.
- Wenn einer Feature-Class oder einer Tabelle, die an einer Beziehungsklasse beteiligt ist, Berechtigungen erteilt werden, müssen diese sowohl der Quell- als auch der Zielklasse erteilt werden. Wenn sich die Quell- und Ziel-Feature-Classes innerhalb des gleichen Feature-Datasets befinden, gelten für sie dieselben Berechtigungen, da Berechtigungen auf Feature-Dataset-Ebene gewährt werden. Wenn sich die Ursprungs- und Ziel-Classes jedoch nicht im selben Feature-Dataset befinden, müssen Sie sicherstellen, dass sowohl den Ursprungs- als auch den Ziel-Classes die richtigen Berechtigungen erteilt werden. Wenn die Beziehungsklasse attributiert ist oder die Beziehungsart "Viele-zu-Viele" lautet, werden Berechtigungen bei der Zuweisung an die Quellklasse automatisch an die Zwischentabelle weitergegeben.
- Wenn das Dataset nicht versioniert ist, können Sie die Berechtigungen zum Aktualisieren, Einfügen und Löschen einzeln im Dialogfeld Berechtigungen gewähren und widerrufen. Sie können einem Benutzer beispielsweise SELECT- und UPDATE-Berechtigungen erteilen, die es dem Benutzer ermöglichen, eine Verbindung zum Dataset herzustellen und vorhandene Features zu ändern, es jedoch nicht zulassen, dass der Benutzer neue Features hinzufügt oder vorhandene Features löscht.
- Wenn das Dataset als versioniert registriert ist, müssen die Berechtigungen, die einem Benutzer das Ändern eines Datasets (UPDATE, INSERT und DELETE) erlauben, als Gruppe gewährt und widerrufen werden.
- Wenn das Dataset als versioniert registriert ist, muss der Geodatabase-Administrator uneingeschränkte Berechtigungen für das Dataset haben. Daher können Sie keine Berechtigungen des Geodatabase-Administrators für versionierte Datasets widerrufen.
Verwenden Sie eine der folgenden Methoden, um Berechtigungen für Datasets, die Sie besitzen, zu gewähren oder zu wiederrufen:
- Dialogfeld "Berechtigungen": Im Dialogfeld Berechtigungen können Sie anzeigen, welche Berechtigungen ein Benutzer oder eine Gruppe für ein bestimmtes Dataset hat. Sie können Berechtigungen für das Dataset außerdem mehreren Benutzern oder Gruppen gleichzeitig gewähren.
- Das Werkzeug Berechtigungen ändern: Sie können Berechtigungen für mehrere Datasets für einen Benutzer oder eine Gruppe gewähren, wenn Sie das Werkzeug Berechtigungen ändern verwenden.
- Python-Skript: Python-Skripte können auf Linux-Computern ausgeführt werden, auf denen ArcGIS Server installiert ist. Berechtigungen können für mehrere Datasets geändert werden.
Verwenden des Dialogfelds "Berechtigungen"
- Stellen Sie eine Verbindung mit der Datenbank oder Geodatabase her, die die Daten enthält, deren Eigentümer Sie sind und für die Sie Berechtigungen gewähren oder widerrufen möchten.
- Klicken Sie mit der rechten Maustaste auf das Dataset, zeigen Sie auf Verwalten, und klicken Sie auf Berechtigungen.
- Wenn der Benutzer oder die Rolle, deren Berechtigungen Sie ändern möchten, bereits in der Liste enthalten ist, aktivieren bzw. deaktivieren Sie die Kontrollkästchen der Berechtigungen, die Sie gewähren bzw. widerrufen möchten, und klicken Sie auf OK, um die Änderungen zu übernehmen.
Hinweis:
Wenn Sie alle Berechtigungsfelder deaktivieren, wird der Benutzer oder die Rolle aus der Liste entfernt.
- Wenn sich der Benutzer oder die Rolle noch nicht in der Liste befinden, gehen Sie wie folgt vor:
- Klicken Sie auf Benutzer hinzufügen, um das Dialogfeld Benutzer/Rolle zu öffnen.
- Wenn Sie in der Datenbank über die Berechtigung verfügen, die Systemtabelle mit allen Benutzern und Rollen in der Datenbank anzuzeigen, können Sie die Datenbankbenutzer oder Rollen auswählen, die Sie aus der Liste hinzufügen möchten, indem Sie das Kontrollkästchen neben dem jeweiligen Namen aktivieren.
- Klicken Sie auf OK, um das Dialogfeld Benutzer/Rolle zu schließen.
- Aktivieren Sie die Kontrollkästchen der Berechtigungen, die Sie für die einzelnen Benutzer oder Rollen gewähren möchten, und klicken Sie auf OK.
Verwenden des Werkzeugs Berechtigungen ändern
Mit dem Werkzeug Berechtigungen ändern können Sie Berechtigungen für Datasets, deren Eigentümer Sie sind, gewähren oder widerrufen. Das Werkzeug befindet sich im Toolset "Geodatabase-Verwaltung" der Toolbox "Data Management".
Mit diesem Werkzeug können Sie die Berechtigungen eines Benutzers oder einer Gruppe für mehrere Datasets gleichzeitig ändern. Beachten Sie, dass das Werkzeug Berechtigungen ändern nicht anzeigt, welche Berechtigungen dem Benutzer für das Datasets bereits gewährt wurden. Darüber hinaus müssen die Berechtigungen zum Aktualisieren, Einfügen und Löschen als Gruppe, nicht einzeln gewährt werden.
- Stellen Sie eine Verbindung mit der Geodatabase oder Datenbank als Besitzer des Datasets her, für das Sie Berechtigungen gewähren oder widerrufen möchten.
- Öffnen Sie das Werkzeug Berechtigungen ändern.
- Navigieren Sie zu der Datenbankverbindung, und wählen Sie die Datasets aus, für die Sie Berechtigungen ändern möchten.
- Geben Sie den Namen des Benutzers oder der Gruppe ein, dessen oder deren Berechtigungen Sie ändern möchten.
- Verwenden Sie die Dropdown-Listen Anzeigen und Bearbeiten, um die Berechtigungen auszuwählen, die Sie dem angegebenen Benutzer bzw. der Gruppe gewähren möchten.
Um Bearbeitungsberechtigungen zuzuweisen, müssen Sie auch Anzeigeberechtigungen erteilen.
- Klicken Sie auf OK, um das Werkzeug auszuführen.
Verwenden eines Python-Skripts
Wenn Sie Berechtigungen für ein eigenes Dataset mithilfe eines Python-Skripts gewähren oder widerrufen möchten, können Sie die Funktion ChangePrivileges_management verwenden.
- Erstellen Sie zunächst eine Datenbankverbindung mit der Funktion CreateDatabaseConnection_management. Sie müssen eine Verbindung als Besitzer des Datasets herstellen und den Benutzernamen mit der Datei speichern.
In diesem Beispiel wird die Verbindungsdatei "gdb.sde" im Verzeichnis "/usr/connections" erstellt. Die Verbindung wird mit der Instanz "reef/orcl" als Benutzer "eng1" hergestellt.
import arcpy arcpy.CreateDatabaseConnection_management (r'/usr/connections', "gdb.sde", "ORACLE", "reef/ORCL", "DATABASE_AUTH", "eng1", "T!i569", "SAVE_USERNAME")
- Führen Sie die Funktion ChangePrivileges_management aus.
In diesem Beispiel werden den Gruppenlesern Anzeigeberechtigungen für drei Datasets gewährt.
arcpy.ChangePrivileges_management ("/usr/connections/gdb.sde/eng1.properties,eng1.routes,eng1.demo", "readers", "GRANT", "AS_IS")