Fallback-Zugriffsrecht

In diesem Tutorial lernen Sie, ein Zugriffsrecht bereitzustellen, das eine Standardzugriffsebene für alle Benutzer bietet, die keinem spezifischen Zugriffsrecht entsprechen. Dieses Zugriffsrecht bietet Zugriff auf den Cities (0) Layer, beschränkt auf nur das Feld CITY_NAME.

Dieses Tutorial wurde für ArcGIS Enterprise 11.5 im Dezember 2025 getestet.

Voraussetzungen

Dieses Tutorial basiert auf den Tutorials von Arbeiten mit Gruppen, wo Sie Einschränkungen für verschiedene Benutzergruppen definieren. Falls Sie dieses Tutorial separat durchführen, verwenden Sie das Ergebnis dieses Tutorials oder bedenken Sie, dass Ihre Zugriffsrecht-Datei anders aussehen könnte. Die Voraussetzungen sind für dieses Tutorial dieselben.

  • security.manager NEXT ist installiert.

  • Sie können fünf Benutzerkonten verwenden:

    • Ein Administrator-Benutzerkonto zur Verwaltung von security.manager und Portal.

    • 4 Nicht-Administrator-Benutzerkonten zum Testen des Zugriffs:

      • Alex ist in groupX

      • Bob ist in groupY

      • Charlie ist in sowohl groupX als auch groupY

      • Dana ist weder in groupX noch in groupY

  • Sie können den Service SampleWorldCities für dieses Tutorial verwenden. So können Sie den Zugriff auf den Service einschränken.

Ein Fallback-Zugriffsrecht hinzufügen

security.manager NEXT bietet Fallback-Zugriffsrechte, die das Standardverhalten anpassen. Falls kein anderes Zugriffsrecht den Rollen eines Benutzers entspricht, wendet security.manager NEXT alle Fallback-Zugriffsrechte an, die für den angeforderten Layer gelten. Sie bieten ein Sicherheitsnetz, das Mindestzugriffsebenen definiert, anstatt den Zugriff vollständig zu verweigern.

Fallback-Zugriffsrechte

  • verwenden nicht die roles Eigenschaft.

  • werden automatisch angewendet, wenn kein anderes Zugriffsrecht entspricht.

  • können Layer und Einschränkungen wie reguläre Zugriffsrechte enthalten.

  • ermöglichen es Ihnen, kontrollierten Standardzugriff zu bieten.

Ein Fallback-Zugriffsrecht hinzufügen

Erweitern Sie das Multi-Gruppen-Zugriffsrecht aus dem vorherigen Tutorial, indem Sie ein Fallback-Zugriffsrecht hinzufügen. Erstellen Sie zuerst ein Fallback-Zugriffsrecht, das Zugriff auf den Cities (0) Layer ermöglicht.

  1. Öffnen Sie die Zugriffsrecht-Konfiguration über Edit permissions in der Admin UI.

    Während Sie ein Zugriffsrecht bearbeiten, drücken Sie Ctrl+Space, um verfügbare Beispiele, Beschreibungen und Code-Schnipsel anzuzeigen.
  2. Fügen Sie eine neue Zeile nach dem "properties" Bereich hinzu.

  3. Drücken Sie Ctrl+Space und wählen Sie fallbackPolicies.

  4. In den eckigen Klammern drücken Sie Ctrl+Space und wählen Sie {"layers": [""]}.

    Jetzt haben Sie ein fallbackPolicies Array mit einer Fallback-Zugriffsrecht-Vorlage erstellt, die parametrisiert werden muss.

  5. Um das Zugriffsrecht auf Layer Cities (0) anzuwenden, fügen Sie eine 0 zum leeren layers String hinzu.

Sie haben ein fallbackPolicies Array erstellt, das ein Fallback-Zugriffsrecht enthält, das Zugriff auf den Cities (0) Layer ermöglicht. Ihr Zugriffsrecht beginnt nun so:

{
    "properties": {
        "groupX": "0123456789abcdef0123456789abcdef",
        "groupY": "abcdef0123456789abcdef0123456789"
    },
    "fallbackPolicies": [{
        "layers": [
            "0"
        ]
    }],
    "restrictions": {
        "cities_starting_with_s": {
            "type": "feature",

Eine Feld-Einschränkung hinzufügen

Um diesen Zugriff nur auf die Städtenamen zu beschränken, benötigen Sie eine Feld-Einschränkung.

  1. Bewegen Sie Ihren Cursor an den Anfang des bestehenden "restrictions" Objekts und fügen Sie eine neue Zeile hinzu.

  2. Geben Sie "cities_only_names": ein und wählen Sie die Field restriction aus der Autocompletion-Liste.

  3. Um zu definieren, dass nur Zugriff auf das Feld CITY_NAME erlaubt ist, ersetzen Sie hiddenfields mit allowedfields.

    Verwenden Sie allowedfields anstelle von hiddenfields, wenn Sie nur wenige spezifische Felder anzeigen möchten. Dieser Ansatz ist sicherer, da er explizit definiert, was sichtbar sein soll, anstatt was ausgeblendet werden soll.

    Sie können technisch erforderliche Felder nicht mit einer Feld-Einschränkung ausblenden. Dazu gehören Objekt-ID-Felder, Geometriefelder und Anzeigefelder. Für weitere Details über Feld-Einschränkungs-Limitierungen siehe Feld-Einschränkungen.
  4. Innerhalb der eckigen Klammern ersetzen Sie "field_name" mit "CITY_NAME".

Jetzt haben Sie ein Fallback-Zugriffsrecht und eine Feld-Einschränkung. Ihr Zugriffsrecht beginnt nun so:

{
    "properties": {
        "groupX": "0123456789abcdef0123456789abcdef",
        "groupY": "abcdef0123456789abcdef0123456789"
    },
    "fallbackPolicies": [{
        "layers": [
            "0"
        ]
    }],
    "restrictions": {
        "cities_only_names":{
            "type": "field",
            "allowedfields": [
                "CITY_NAME"
            ]
        },
        "cities_starting_with_s": {

Die Einschränkung referenzieren

Referenzieren Sie schließlich die Feld-Einschränkung beim Fallback-Zugriffsrecht.

  1. Bewegen Sie den Cursor zum Fallback-Zugriffsrecht.

  2. Fügen Sie ein Komma und eine neue Zeile nach dem layers Array hinzu.

  3. Fügen Sie ein restrictions Array hinzu.

  4. Innerhalb dieses Arrays fügen Sie "cities_only_names" hinzu, um die Feld-Einschränkung zu referenzieren.

    Ihr Zugriffsrecht sollte nun so aussehen:

    {
        "properties": {
            "groupX": "0123456789abcdef0123456789abcdef",
            "groupY": "abcdef0123456789abcdef0123456789"
        },
        "fallbackPolicies": [{
            "layers": [
                "0"
            ],
            "restrictions": ["cities_only_names"]
        }],
        "restrictions": {
            "cities_only_names":{
                "type": "field",
                "allowedfields": [
                    "CITY_NAME"
                ]
            },
            "cities_starting_with_s": {
                "type": "feature",
                "query": "CITY_NAME LIKE 'S%'"
            },
            "population": {
                "type": "feature",
                "query": "pop >= 1000000"
            },
            "USA": {
                "type": "spatial",
                "featuretypeurl": "https://services.conterra.de/server/rest/services/security_demos/World_Countries/FeatureServer/0",
                "featurequery": "NAME = 'United States'",
                "imageoperation": "arcgis-clipping"
            },
            "reduced_fields": {
                "type": "field",
                "hiddenfields": [
                    "POP_CLASS",
                    "POP_RANK"
                ]
            }
        },
        "policies": [
            {
                "layers": [
                    "0"
                ],
                "roles": [
                    "${groupX}"
                ],
                "restrictions": [
                    "population",
                    "USA",
                    "reduced_fields"
                ]
            },
            {
                "layers": [
                    "0"
                ],
                "roles": [
                    "${groupY}"
                ],
                "restrictions": [
                    "cities_starting_with_s"
                ]
            },
            {
                "layers": [
                    "1"
                ],
                "roles": [
                    "${groupY}"
                ]
            }
        ]
    }
  5. Klicken Sie auf Änderungen speichern und neu starten.

Konfiguration überprüfen

Um die vorherige Konfiguration zu überprüfen, gehen Sie zum SampleWorldCities Service und testen Sie ihn mit Dana.

  1. Öffnen Sie einen privaten Browser.

  2. Gehen Sie zum ArcGIS REST Services Directory und melden Sie sich als Benutzer Dana an, der weder Zugriff auf groupX noch auf groupY hat.

  3. Navigieren Sie zu den Service-Metadaten des SampleWorldCities Service.

  4. Klicken Sie auf den Cities (0) Layer, der der einzige Layer ist, den der Benutzer sehen kann.

  5. Gehen Sie zum Fields Bereich.

  6. Sie sehen nur

    • OBJECTID, das als ID erforderlich ist.

    • Shape, das die Geometrie enthält.

    • CITY_NAME, zu dem Sie durch das Fallback-Zugriffsrecht Zugriff gewährt haben.

  7. Melden Sie sich als andere Benutzer an, um zu sehen, dass sich nichts ändert.

Zusammenfassung

In diesem Tutorial haben Sie gelernt, wie Sie ein Fallback-Zugriffsrecht für Benutzer definieren, falls ihre Rollen keinem Zugriffsrecht entsprechen. Sie haben gelernt, allowedfields anstelle von hiddenfields als sichereren Ansatz zur Definition sichtbarer Felder zu verwenden.

Für weitere Details siehe Fallback-Zugriffsrechte in der Referenz.

Im Tutorial Dynamische Einschränkungen mit Benutzerattributen lernen Sie, benutzerbasierte Einschränkungen zu konfigurieren.