Explizite Rollen

  • Freigeben Version: Australia
  • Aktualisiert 12. März 2026
  • 10 Minuten Lesedauer
  • Sie können sowohl internen Anwendern als auch externen Anwendern Zugriff auf Ihre Instanz gewähren. Möglicherweise möchten Sie jedoch nicht, dass beide Anwendertypen dieselbe Zugriffsebene haben. Um zusätzliche Sicherheit zu bieten, muss jeder Anwender über mindestens eine Rolle verfügen, damit die Instanz zwischen internen und externen Anwendern unterscheiden kann.

    Ab Paris Release, kein Anwender kann beide explizite Rollen (snc_internal und snc_external) haben. Gruppen- und Rolleneindämmung können nicht beide Rollen enthalten, da dies dazu führen würde, dass jedes Gruppenmitglied oder Anwender, das einer solchen Gruppe oder einer solchen Rolle zugewiesen ist, automatisch beide Rollen hat. Die ServiceNow AI Platform Bricht jeden Vorgang ab, der ein solches Szenario erstellen würde.

    Hinweis:
    Sie können keine anderen Rollen als enthaltene Rollen zu „ snc_external„ Oder “ snc_internal„ Rollen.
    Externe Anwender müssen mindestens die Rolle „snc_external“ erhalten. Die Rolle „snc_external“ gibt an, dass der Anwender extern zu Ihrer Organisation ist. Sie dürfen keinen Zugriff auf Ressourcen haben, es sei denn, sie dürfen explizit über ACLs für die Rolle „snc_external“ oder zusätzliche Rollen zugelassen werden, die die Rolle „snc_external“ erben. Standardmäßig haben Benutzer mit der Rolle snc_external keinen Zugriff auf:
    • Tabellen ohne die Rolle, die die Rolle snc_external oder public erbt
    • Ressourcen vom Typ „nicht“, z. B. Prozessoren und UI-Seiten, ohne Zugriff auf die Rolle „snc_external“ oder eine Rolle zu gewähren, die die Rolle „snc_external“ erbt.
    • Platform Analytics Dashboards.

    Markieren Sie die Rolle „snc_internal“ nicht als erhöht. Andernfalls können interne Anwender nicht auf die Instanz zugreifen.

    Plugin „explizite Rollen“

    Wenn das Plugin „explizite Rollen“ aktiviert ist:

    • Alle Anwender müssen über die Rolle „snc_internal“ verfügen, um auf interne Ressourcen zuzugreifen, oder über die Rolle „snc_external“, um auf externe Ressourcen zuzugreifen. Anwender ohne explizite Rolle können nur auf öffentliche Ressourcen zugreifen.
    • Allen vorhandenen Anwendern wird automatisch die Rolle „snc_internal“ zugewiesen. Diese Rolle ändert keine vorhandenen Zugriffsebenen oder das Systemverhalten. Stattdessen bietet es eine Kategorie, um interne Anwender von externen Anwendern zu unterscheiden. Alle internen Anwender haben die gleiche Zugriffsebene wie vor der Aktivierung des Plugins.
      Tipp:
      Um zu verhindern, dass vorhandene Funktionen für Anwender geändert werden, wird durch die Aktivierung des Plugins „explizite Rollen“ allen vorhandenen Anwendern in der Instanz die Anwenderrolle „snc_internal“ zugewiesen. Dies schließt alle externen Anwender ein, die hinzugefügt wurden, bevor das Plugin „explizite Rollen“ aktiviert wurde. Nachdem das Plugin „explizite Rollen“ aktiviert wurde, führen Sie Folgendes für alle externen Anwender aus, die hinzugefügt wurden, bevor das Plugin „explizite Rollen“ aktiviert wurde:
      • Entfernen Sie die Rolle „snc_internal“.
      • Fügen Sie die Rolle „snc_external“ hinzu.
      Durch die vorherigen Schritte wird sichergestellt, dass externe Anwender, die vor der Aktivierung des Plugins „explizite Rollen“ hinzugefügt wurden, keinen Zugriff auf interne Ressourcen haben, die nur internen Anwendern zur Verfügung stehen sollen.
    • Neu erstellte Anwender werden automatisch die Rolle „snc_internal“ zugewiesen, wenn sie versuchen, sich bei der Instanz anzumelden, es sei denn, ihnen wurde explizit die Rolle „snc_external“ zugewiesen. Sie können die Rolle „snc_external“ einem neuen Anwender hinzufügen, bevor er sich zum ersten Mal bei der Instanz anmeldet, um externe Anwenderrechte bereitzustellen.
      Wichtig:

      Aktivieren Sie dieses Plugin während eines Wartungsfensters oder wenn wenige Anwender angemeldet sind. Anwendern, die sich derzeit anmelden, wenn das Plugin aktiviert ist, wird die Rolle „snc_internal“ nicht dynamisch zugewiesen. Anwender müssen sich vielmehr abmelden und erneut anmelden, um die Rolle „snc_internal“ zugewiesen zu bekommen. Sobald das Plugin aktiviert ist, können Sie die Rollen „snc_internal“ und „snc_external“ jederzeit hinzufügen oder entfernen, um Anwenderrechte zu ändern.

      Nachdem das Plugin aktiviert wurde, erhält der Anwender jedes Mal, wenn sich ein Anwender anmeldet, die Rolle „snc_internal“, wenn der Account noch nicht über diese Rolle verfügt, oder die Rolle „snc_external“. Dies schließt Anwender ein, die sich per Identitätswechsel angemeldet haben.

    • Allen vorhandenen ACLs, die keine Rollenanforderung haben, wird automatisch die Rolle „snc_internal“ zugewiesen. Da sowohl vorhandene ACLs als auch Anwender die Rolle „snc_internal“ zugewiesen sind, ändern sich vorhandene Zugriffsebenen nicht.
    • Neu erstellte ACLs, die keine Rollenanforderung haben, werden automatisch die Rolle „snc_internal“ zugewiesen. Diese Rollenzuweisung gilt nicht für eine neu erstellte ACL mit einer zugewiesenen Rolle.
    • Für alle vorhandenen Prozessordatensätze [sys_processor] oder neu erstellten Prozessordatensätze [sys_processor] mit Type=script , Die Rolle „snc_internal“ wird automatisch zu hinzugefügt Rollen Feld, wenn das Feld leer ist.
    • Um den Zugriff auf UI-Seiten auf interne Anwender zu beschränken, weist das Plugin automatisch die Rolle „snc_internal“ zu * ACL mit Typ Von ui_page .
    • Um den Zugriff auf Prozessoren auf interne Anwender zu beschränken, weist das Plugin automatisch die Rolle „snc_internal“ zu * ACL mit Typ Von Prozessor .
    • Externe Anwender müssen mindestens die Rolle „snc_external“ erhalten, um auf die Instanz zuzugreifen. Diese Rolle muss externen Anwendern manuell gewährt werden. Zugriff auf Datensätze wird über ACLs gewährt.

    Verschieben Sie keine System-Update-Sätze zwischen Instanzen, wenn und ohne das Plugin „explizite Rollen“ aktiviert ist. Weitere Informationen finden Sie unter System-Update-Sätze .

    Hinweis:
    Dieses Plugin erfordert auch Kontextbezogener Sicherheitsmanager Plugin.

    glide.security.explicit_roles.do_not_fix Verhalten

    Ab Xanadu Lassen Sie los glide.security.explicit_roles.do_not_fix Wurde mit Änderungen an „snc_internal“ angepasst. Die Rolle „snc_internal“ ist jetzt sowohl im Arbeitsspeicher als auch in sys_user_has_role. identisch Das neue Verhalten für glide.security.explicit_roles.do_not_fix Ist:
    Tabelle : 1. Neues glide.security.explicit_roles.do_not_fix-Verhalten
    Wert Ergebnis
    Falsch Fügen Sie die Rolle „snc_internal“ sowohl im Arbeitsspeicher als auch in sys_user_has_role hinzu
    Wahr Fügen Sie die Rolle „snc_internal“ nicht im Arbeitsspeicher oder sys_user_has_role hinzu
    Um die Rolle „snc_internal“ für bestimmte Anwender auszuschließen, verwenden Sie glide.security.explicit_roles.ignore.snc_internal.exclude_role_list Eigenschaft.
    Tipp:
    Um zum vorherigen zurückzusetzen glide.security.explicit_roles.do_not_fix Verhalten verwenden glide.security.explicit_roles.do_not_fix_in_memory Eigenschaft.

    Bereitstellung von Tabellenzugriff für externe Anwender

    Sie können externen Anwendern Zugriff auf eine Tabelle gewähren, indem Sie der Tabelle eine Rolle hinzufügen, die die Rolle „snc_external“ erbt. Weitere Informationen finden Sie unter Provide external users access to a table.

    Die hasRoles()-Methode

    Die HasRoles() Die Methode ist weiterhin verfügbar, ist jedoch in veraltet Geneva Release. Verwenden Sie HasRole(Rollenname) Stattdessen Methode.

    Wenn Sie verwenden HasRoles() Methode, beachten Sie diese Änderungen:
    • Diese Methode schließt automatisch die standardmäßige Rolle „snc_internal“ aus, wenn sie nach Rollen sucht. Dies bedeutet, dass, wenn ein Anwender nur über die Rolle „snc_internal“ verfügt, die HasRoles() Methode gibt noch zurück Falsch .
    • Wenn der Anwender über die Rolle „snc_external“ verfügt, gibt die Methode zurück Falsch Da die Instanz berücksichtigt, dass externe Anwender ohne Rolle sind.

    Gegenseitiger Ausschluss: snc_external vs. Snc_internal

    Die ServiceNow AI Platform Verhindert, dass Anwender sowohl über die Rolle „snc_external“ als auch über die Rolle „snc_internal“ verfügen. Die ServiceNow AI Platform wendet diesen gegenseitigen Ausschluss überall im System an und schreibt Fehlermeldungen für jeden Konflikt in die Protokolle.
    Hinweis:
    ACLs können beide Rollen haben, wenn die ACL-Ressourcen für alle Anwender zugänglich sein sollen.
    Beispiel: Hinzufügen beider expliziten Rollen zu einem Anwender (direkte Kollision):
    1. Weisen Sie dem Anwender Abel Tuter die Rolle „snc_internal“ zu.
    2. Weisen Sie dem Anwender Abel Tuter die Rolle „snc_external“ zu.

    Ergebnis: Das Hinzufügen der Rolle „snc_external“ schlägt fehl, da Abel Tuter über die Rolle „snc_internal“ verfügt.

    Beispiel: Hinzufügen beider expliziten Rollen zu einer Gruppe (direkte Kollision):

    1. Betrachten Sie eine Gruppe mit dem Namen „Testgruppe“, der der Gruppe derzeit keine expliziten Rollen zugewiesen sind.
    2. Fügen Sie der Testgruppe Abel Tuter hinzu.
    3. Fügen Sie der Testgruppe die Rolle „snc_external“ hinzu.

    Ergebnis: Das Hinzufügen der Rolle „snc_external“ schlägt fehl, da Abel Tuter bereits über die Rolle „snc_internal“ verfügt und nicht beide Rollen haben kann.

    Beispiel: Hinzufügen einer expliziten Rolle zu einer Gruppe, in der ein Gruppenmitglied die in Konflikt stehende explizite Rolle hat (indirekte Kollision):
    1. Weisen Sie dem Anwender Abel Tuter die Rolle „snc_internal“ zu.
    2. Betrachten Sie eine Gruppe mit dem Namen „Testgruppe“, der der Gruppe derzeit keine expliziten Rollen zugewiesen sind.
    3. Fügen Sie der Testgruppe Abel Tuter hinzu.
    4. Fügen Sie der Testgruppe die Rolle „snc_external“ hinzu.

    Ergebnis: Das Hinzufügen der Rolle „snc_external“ zur Gruppe schlägt fehl, da Abel Tuter die Rolle „snc_external“ über die Gruppenmitgliedschaft erben würde. Beide expliziten Rollen werden demselben Anwender zugewiesen, was nicht zulässig ist.

    Weitere Beispiele finden Sie in der folgenden Tabelle:

    Rolle Versuchte Aktion Ergebnis
    Direkte Kollision
    Der Anwender hat die Rolle „snc_internal“. Fügen Sie die Rolle „snc_external“ hinzu. Die Aktion wird abgebrochen.
    Der Anwender hat die Rolle „snc_external“. Fügen Sie die Rolle „snc_internal“ hinzu. Die Aktion wird abgebrochen.
    Der Anwender hat keine explizite Rolle. Fügen Sie die Rolle „snc_internal“ oder „snc_external“ hinzu. Die Rolle wird hinzugefügt.
    Der Anwender hat beide explizite Rollen (vorhandene Kollision). Fügen Sie den Anwender einer Gruppe ohne Rollen hinzu. Die Aktion wird abgebrochen.
    Eine Rolle, die keinem Anwender zugeordnet ist, enthält die Rolle „snc_internal“. Fügen Sie die Rolle „snc_external“ hinzu. Die Aktion wird abgebrochen.
    Eine Rolle, die keinem Anwender zugeordnet ist, enthält die Rolle „snc_external“. Fügen Sie die Rolle „snc_internal“ hinzu. Die Aktion wird abgebrochen.
    Eine Rolle enthält beide expliziten Rollen (vorhandene Kollision). Fügen Sie die Rolle einem Anwender, einer Rolle oder einer Gruppe hinzu. Die Aktion wird abgebrochen.
    Eine Gruppe ohne Mitglieder hat die Rolle „snc_internal“. Fügen Sie die Rolle „snc_external“ hinzu. Die Aktion wird abgebrochen.
    Eine Gruppe ohne Mitglieder hat die Rolle „snc_external“. Fügen Sie die Rolle „snc_internal“ hinzu. Die Aktion wird abgebrochen.
    Eine Gruppe ohne Mitglieder hat keine Rollen. Fügen Sie die Rolle „snc_internal“ oder „snc_external“ hinzu. Die Rolle wird hinzugefügt.
    Indirekte Kollision
    Rolleneindämmung mit Kollision
    1. Gewähren Sie einem Anwender mit der Rolle „snc_internal“ die Rolle „Testrolle“.
    2. Fügen Sie die Rolle „snc_external role Test“ hinzu.
    Die Aktion wird abgebrochen.
    Rolleneindämmung ohne Kollision
    1. Erteilen Sie einem Anwender ohne Rollen eine Rolle namens Testrolle.
    2. Fügen Sie der Testrolle die Rolle „snc_external“ hinzu.
    Die Rolle wird sowohl dem Anwender als auch der Testrolle hinzugefügt.
    Gruppeneindämmung mit Kollision
    1. Fügen Sie einen Anwender mit der Rolle „snc_internal“ zu einer Gruppe mit der Bezeichnung „Testgruppe 2“ (untergeordnetes Element der Testgruppe 1) hinzu.
    2. Fügen Sie die Rolle „snc_external“ zu Testgruppe 2 hinzu.
    3. Fügen Sie die Rolle „snc_external“ einer übergeordneten Gruppe mit der Bezeichnung „Testgruppe 1“ (übergeordnetes Element von Testgruppe 2) hinzu.
    Die Aktion wird abgebrochen.
    Gruppeneindämmung ohne Kollision
    1. Fügen Sie einer Gruppe mit der Bezeichnung „Testgruppe 2“ (untergeordnetes Element der Testgruppe 1) einen Anwender ohne Rollen hinzu.
    2. Fügen Sie die Rolle „snc_external“ oder „snc_internal“ zu Testgruppe 1 (übergeordnetes Element von Testgruppe 2) hinzu.
    Die Rolle wird der übergeordneten Gruppe, der untergeordneten Gruppe und dem Anwender hinzugefügt.
    Gruppeneindämmung plus Rolleneindämmung mit Kollision Fügen Sie „contains_external“ zu Testgruppe 1 hinzu, dem übergeordneten Element von Testgruppe 2. Testgruppe 1 und Testgruppe 2 erhalten beide „contains_external“, aber nicht explizit die Rolle „snc_external“.
    Fügen Sie die Rolle „snc_internal“ zu Testgruppe 2 hinzu, das untergeordnete Element von Testgruppe 1. Die Aktion wird abgebrochen.
    Übergeordneten Change der Gruppe plus Gruppeneindämmung
    1. Entfernen Sie Testgruppe 1 als übergeordnetes Element von Testgruppe 2.
    2. Fügen Sie die Rolle „snc_internal“ zu Testgruppe 1 hinzu.
    3. Fügen Sie die Rolle „snc_external“ zu Testgruppe 2 hinzu.
    4. Legen Sie in Testgruppe 2 Testgruppe 1 als übergeordnete Gruppe fest, und speichern Sie sie.
    Die Aktion wird abgebrochen.

    Wiederholen Sie den Vorgang für bereits geschachtelte Gruppen mit derselben Erwartung.

    Die Ursache einer abgebrochenen Aktion wird in der Fehlermeldung angezeigt und muss behoben werden, bevor ein weiterer Versuch erfolgreich ist.

    Überprüfen Sie für direkte Fälle, z. B. das Hinzufügen einer expliziten Rolle zu einem einzelnen Anwender, welche explizite Rolle der Anwender haben soll. Wenn der Anwender die falsche explizite Rolle hat, muss sie zuerst entfernt und dann die richtige explizite Rolle hinzugefügt werden.

    Bewerten Sie für indirekte Fälle, z. B. das Hinzufügen einer expliziten Rolle zu einer Gruppe (damit einem Gruppenmitglied beide expliziten Rollen zugewiesen werden), ob dieser Anwender in der Gruppe sein soll. Legen Sie auch fest, ob der Gruppe die explizite Rolle zugewiesen werden soll, einschließlich der Übernahme durch Gruppenhierarchie und Rolleneindämmung.

    Beachten Sie, dass ServiceNow AI Platform Meldet nur die erste potenzielle Kollision, die aufgetreten ist. Wenn wiederholte Versuche nach der Korrektur weiterhin fehlschlagen, wobei jedes Mal eine neue Ursache vorliegt, bewerten Sie die relevante Interdependenz von Anwender/Gruppe/Rolle breiter. Möglicherweise möchten Sie überdenken, wie Gruppen und Rolleneinschränkungen strukturiert sind.

    Fordern Sie Explizite Rollen An

    Aktivieren Sie explizite Rollen, indem Sie das Plugin „explizite Rollen“ (com.Glide.explizit_roles) über anfordern Now Support Servicekatalog.

    Vorbereitungen

    Erforderliche Rolle: Administrator

    Wichtig:
    Aktivieren Sie dieses Plugin während eines Wartungsfensters oder wenn wenige Anwender angemeldet sind. Anwendern, die sich derzeit anmelden, wenn das Plugin aktiviert ist, wird die Rolle „snc_internal“ nicht dynamisch zugewiesen. Anwender müssen sich vielmehr abmelden und erneut anmelden, um die Rolle „snc_internal“ zugewiesen zu bekommen. Sobald das Plugin aktiviert ist, können Sie die Rollen „snc_internal“ und „snc_external“ jederzeit hinzufügen oder entfernen, um Anwenderrechte zu ändern.

    Prozedur

    1. Navigieren zu Alle > Systemanwendungen > Alle verfügbaren Anwendungen > Allean.
    2. Wählen Sie Aus Plugin anfordern Um zu öffnen Aktivieren Sie Das Plugin Formular auf Now Support.
    3. Geben Sie im Formular Plugin aktivieren die folgenden Informationen an.
      Tabelle : 2. Formular „Plugin anfordern“
      Feld Beschreibung

      What is your target instance (Ihre Zielinstanz)

      Wählen Sie die Instanz aus, auf der Sie das Plugin aktivieren möchten.

      Which plugin would you like to activate (Welches Plugin möchten Sie aktivieren?)

      Wählen Sie den Namen des zu aktivierenden Plugins aus.

      Hinweis:
      Wenn das System das gewünschte Plugin nicht auflistet oder Sie das Plugin auf einer OEM- oder lokalen Instanz aktivieren, wählen Sie aus Plugin, nach dem ich suche, ist nicht aufgeführt Aktivieren Sie das Kontrollkästchen, und geben Sie dann den Namen des Plugins ein.

      Select Maintenance Date and Time (Datum und Uhrzeit der Wartung)

      Wählen Sie Datum und Uhrzeit aus, um das Plugin zu aktivieren.

      Sehen Sie sich beispielsweise das folgende Formular an, um das Ereignismanagement-Plugin für eine Instanz mit dem Namen SNC-Instanz zu aktivieren.

    4. Wählen Sie Absenden.
      Nach dem Wartungsfenster installiert das System das Plugin auf Ihrer Instanz. Um die Installation zu bestätigen, wechseln Sie im Anwendungsmanager zur Registerkarte installiert.