Regelgruppen und Regeln
Aktualisiert: 19. Juni 2015
Gilt für: Azure
In Microsoft Azure Active Directory Access Control (auch als Access Control Dienst oder ACS bezeichnet) ist eine Regelgruppe eine benannte Gruppe von Anspruchsregeln, die definieren, welche Identitätsansprüche von Identitätsanbietern an Ihre vertrauende Parteianwendung übergeben werden. In ACS werden Regelgruppen mit vertrauenden Parteianwendungen verknüpft. Eine Regelgruppe kann von mehreren Anwendungen der vertrauenden Seite verwendet werden, und eine Anwendung der vertrauenden Seite kann auf mehrere Regelgruppen verweisen.
Wenn ACS eine Tokenanforderung oder ein Token aus einem Identitätsanbieter empfängt, wird er über alle Regelgruppen ausgeführt, die der vertrauenden Parteianwendung zugeordnet sind, um die Ansprüche im Token zu verarbeiten. Alle Regelgruppen werden ebenso wie alle Regeln in jeder Regelgruppe gleichzeitig verarbeitet (die Reihenfolge ist dabei unwichtig). Wenn die Regeln bewirken, dass nach dem Abschluss der Ausführung neue Ansprüche ausgestellt werden, werden die der Anwendung der vertrauenden Seite zugeordneten Regelgruppen erneut ausgeführt. Der Prozess der Regel- und Regelgruppe wird beendet, wenn nach Abschluss des Ausführungsprozesses keine neuen Ansprüche ausgestellt werden, oder nachdem ACS zehn Ausführung abgeschlossen hat (je nachdem, was zuerst kommt).
Sie können Regelgruppen und Regeln entweder manuell mithilfe des ACS-Verwaltungsportals oder programmgesteuert mithilfe des ACS-Verwaltungsdiensts erstellen und bearbeiten.
Konfigurieren von Regeln mithilfe des ACS-Verwaltungsportals
Erstellen von Regelgruppen
Wenn Sie die Eigenschaften einer neuen vertrauenden Parteianwendung im ACS-Verwaltungsportal hinzufügen und konfigurieren, können Sie auch eine Regelgruppe erstellen, die dieser vertrauenden Parteianwendung zugeordnet ist, da standardmäßig die Option "Neue Regelgruppe erstellen" auf der Seite " Anwendungsanwendung hinzufügen" des ACS-Verwaltungsportals aktiviert ist. Es wird dringend empfohlen, diese Option aktiviert zu lassen und auf diese Weise eine Standardregelgruppe für Ihre neue Anwendung der vertrauenden Seite zu erstellen. (Weitere Informationen finden Sie unter "Regelgruppen" in vertrauenden Parteianwendungen.) Sie können Regelgruppen auch mithilfe des Abschnitts "Regelgruppen " des ACS-Verwaltungsportals hinzufügen. Wenn Sie dann mithilfe der Seite "Benutzeranwendung hinzufügen" vertrauende Parteienanwendungen hinzufügen, können Sie sie einer oder mehreren vorhandenen Regelgruppen zuordnen.
Generieren von Regeln
Nachdem eine Regelgruppe erstellt wurde, können Sie die Seite " Regelgruppe bearbeiten " des ACS-Verwaltungsportals verwenden, um regeln automatisch zu generieren. Wenn Sie sich dafür entscheiden, Regeln automatisch zu generieren, werden Sie aufgefordert, die Identitätsanbieter auszuwählen, für die die Regeln generiert werden sollen. Wenn die Regelgruppe mit mindestens einer Anwendung der vertrauenden Seite verknüpft ist, werden die von diesen Anwendungen der vertrauenden Seite verwendeten Identitätsanbieter standardmäßig ausgewählt.
Hinweis
Für WS-Verbundidentitätsanbieter wird eine Regel für jeden Anspruchstyp erstellt, der in den WS-Verbundmetadaten des Identitäsanbieters angeboten wird, und diese Regel durchläuft den Anspruchstyp und -wert. Für andere Identitätsanbieter werden Pass-Through-Regeln basierend auf einer Liste vordefinierter Anspruchstypen generiert.
Anzeigen, Hinzufügen und Bearbeiten von Regeln
Auf der Seite " Regelgruppe bearbeiten " des ACS-Verwaltungsportals werden alle Regeln in einer Tabelle angezeigt, in denen die Spalten den Ausgabeanspruch für die Regel, den Anspruchsaussteller (kann ein Identitätsanbieter oder ACS sein) und eine Beschreibung enthalten.
Wenn Sie auf eine beliebige Regel in der Tabelle klicken, werden Sie auf die Seite Anspruchsregel bearbeiten weitergeleitet, auf der die Regel bearbeitet werden kann. Klicken Sie auf Hinzufügen, um manuell eine neue Regel hinzuzufügen.
Anspruchsregeln
Anspruchsregeln beschreiben die Logik, wie ACS Eingabeansprüche in Ausgabeansprüche transformiert. Regeln sind in Regelgruppen enthalten, die mit vertrauenden Parteianwendungen verknüpft sind und ausgeführt werden, wenn ein Token von ACS für eine Anwendung ausgestellt wird. Wenn eine Regelgruppe keine Regeln enthält, wird kein Token für die Anwendung der vertrauenden Seite ausgestellt. Normalerweise ist eine Regel für jeden Anspruchstyp erforderlich, den Sie für die Anwendung der vertrauenden Seite ausstellen möchten. Es ist möglich, nur eine Regel zu erstellen und zu verwenden, um alle Anspruchstypen und -werte zu durchlaufen. Durch die Verwendung einer Regel pro Anspruchstyp wird jedoch die Sicherheit verbessert, und Sie erhalten eine bessere Kontrolle über die Daten, die Ihre Anwendung durchlaufen.
In ACS können Sie eine Regel so konfigurieren, dass ein Anspruch übergeben wird, der von einem Identitätsanbieter oder Client an die vertrauende Parteianwendung empfangen wurde, ohne den Typ, den Aussteller oder den Wert des Anspruchs zu ändern. Diese Regeln werden als Pass-Through-Regeln bezeichnet. Beispielsweise enthalten Token, die von Windows Live ID (Microsoft-Konto) ausgestellt wurden, einen Namenidentifizierer-Anspruchstyp. Um diesen Anspruch unverändert an die Vertrauensparteianwendung zu übergeben, müssen Sie eine Pass-Through-Regel konfigurieren, die den Eingabenamenidentifizierer-Anspruchstyp aus dem Anspruchsaussteller, Windows Live ID verarbeitet und einen identischen Ausgabeanspruch erstellt.
Die Tabelle unten zeigt, wie Ansprüche mittels Pass-Through von einem fiktionalen AD FS 2.0-Identitätsanbieter namens Contoso.com übergeben werden.
Eingabeansprüche | Ausgabeansprüche | ||||
---|---|---|---|---|---|
Aussteller |
Typ |
Wert |
Aussteller |
Typ |
Wert |
Contoso.com |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier |
123456789 |
Zugriffssteuerungsdienst (ACS) |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier |
123456789 |
Contoso.com |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress |
john@contoso.com |
Zugriffssteuerungsdienst (ACS) |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress |
john@contoso.com |
Contoso.com |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/name |
John Doe |
Zugriffssteuerungsdienst (ACS) |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/name |
John Doe |
Das ACS-Regelmodul bietet Ihnen auch die Möglichkeit, Eingabeansprüche vollständig in unterschiedliche Ausgabeansprüche zu transformieren, basierend auf dem Anspruchsaussteller, dem Eingabeanspruchstyp und dem Wert. Mit anderen Worten, das ACS-Regelmodul ermöglicht es Ihnen, Eingabetoken in verschiedene Ausgabetoken zu transformieren, indem Sie die Ansprüche hinzufügen, entfernen oder ändern, die die Token enthalten. Diese Form der Anspruchstransformation macht ACS in der Lage, grundlegende Autorisierung basierend auf Anspruchseingabewerten zu implementieren. Das Beispiel unten zeigt einen Anspruchstyp "role" mit dem Wert "administrator", der ausgegeben wird, wenn der Eingabeanspruch "nameidentifier" mit einem bestimmten Wert übereinstimmt.
Eingabeansprüche | Ausgabeansprüche | ||||
---|---|---|---|---|---|
Aussteller |
Typ |
Wert |
Aussteller |
Typ |
Wert |
Contoso.com |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier |
123456789 |
Zugriffssteuerungsdienst (ACS) |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier |
administrator |
Das ACS-Regelmodul bietet auch die Möglichkeit, Ausgabeansprüche basierend auf einer Verbindung von zwei Eingabeansprüchen zu erstellen. Im folgenden Beispiel ist der Ausgabeanspruch vom Typ "action" mit einem Wert von "Write", wenn sowohl die Eingabeansprüche "nameidentifier" als auch die Eingabeansprüche "role" von Contoso.com bestimmten Werten entsprechen. Wenn in einer Regel zwei Eingabeansprüche angegeben werden, müssen beide Werte übereinstimmen, damit der Ausgabeanspruch generiert wird.
Eingabeansprüche | Ausgabeansprüche | ||||
---|---|---|---|---|---|
Aussteller |
Typ |
Wert |
Aussteller |
Typ |
Wert |
Contoso.com |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier |
123456789 |
Zugriffssteuerungsdienst (ACS)
|
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/action
|
Schreiben
|
Contoso.com |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/role |
administrator |
Weitere Informationen und Schritte zum Implementieren der Tokentransformation mithilfe von Regeln finden Sie unter How to: Implementieren von Tokentransformationslogik mithilfe von Regeln.
Wenn Sie neue oder bearbeiten vorhandene Anspruchsregeln mit dem ACS-Verwaltungsportal hinzufügen oder bearbeiten, müssen Sie die folgenden Einstellungen konfigurieren:
Regelbedingungen (wenn) – Hinzufügen eines Eingabeanspruchs
Dieser Abschnitt beschreibt die Bedingungen, die WAHR sein müssen, damit die Regel einen Ausgabeanspruch ausstellt. Es handelt sich um die folgenden Bedingungen:
Anspruchsaussteller – bezieht sich auf die Entität, die den Eingabeanspruch ausgestellt hat. Dies kann ein konfigurierter Identitätsanbieter (z. B. ) oder ACS sein. ACS ist der Aussteller, wenn der Eingabeanspruch aus einer Dienstidentität stammt oder der Eingabeanspruch aus einer anderen Anspruchsregel stammt. Weitere Informationen finden Sie unter Dienstidentitäten.
Eingabeanspruchstyp – bezieht sich auf den Eingabeanspruchstyp, der vom Anspruchsaussteller empfangen wurde. Der vollständige Anspruchstyp für den Namenidentifizierer ist https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifierbeispielsweise . Die Optionen für dieses Feld sind:
Beliebig - Gibt WAHR zurück, wenn ein beliebiger Anspruchstyp vom Aussteller empfangen wird.
Wählen Sie den Typ "Typ" aus– Gibt "true" zurück, wenn der Eingabeanspruchstyp dem typ entspricht, der im Dropdownmenü ausgewählt ist. Dieses Menü wird mit den verfügbaren Anspruchstypen für den ausgewählten Anspruchsaussteller aufgefüllt.
Typ eingeben - Gibt WAHR zurück, wenn der Eingabeanspruchstyp mit dem in das Feld eingegebenen Wert identisch ist.
Wichtig
Für dieses Feld wird zwischen Groß- und Kleinschreibung unterschieden.
Eingabeanspruchswert – bezieht sich auf den Wert des empfangenen Eingabeanspruchs. Der Anspruchstyp "nameidentifier" verwendet z. B. eine E-Mail-Adresse als Wert, und dieses Feld kann verwendet werden, um zu überprüfen, ob eine bestimmte E-Mail-Adresse vorhanden ist. Die Optionen für dieses Feld sind:
Beliebig - Gibt WAHR zurück, wenn ein beliebiger Anspruchswert vom Aussteller empfangen wird.
Wert eingeben - Gibt WAHR zurück, wenn der Eingabeanspruchstyp mit dem in das Feld eingegebenen Wert identisch ist. Für diese Option ist es erforderlich, dass ein bestimmter Eingabeanspruchstyp ausgewählt ist oder in das Feld Eingabeanspruchstyp eingegeben wird.
Wichtig
Für dieses Feld wird zwischen Groß- und Kleinschreibung unterschieden.
Regelbedingungen (wenn) – Hinzufügen eines zweiten Eingabeanspruchs
Wenn Sie der Regel einen zweiten Anspruch hinzufügen möchten, klicken Sie auf "Hinzufügen eines zweiten Eingabeanspruchs". Auf diese Weise können Sie die unten gezeigten zusätzlichen Bedingungen angeben. Beachten Sie, dass in einer Regel zwei Eingabeansprüchen alle Werte WAHR sein müssen, damit der Ausgabeanspruch generiert wird.
Anspruchsaussteller - Bezieht sich auf die Entität, die den zweiten Eingabeanspruch ausgestellt hat. Dies kann der gleiche Identitätsanbieter sein, der für den ersten Anspruch ausgewählt ist, oder es kann ACS sein. Wählen Sie ACS aus, um Ansprüche anzugeben, die während der Verarbeitung von Regeln generiert wurden.
Wichtig
Zwei verschiedene Identitätsanbieter können für den ersten und den zweiten Anspruch nicht ausgewählt werden, weil die Regelverarbeitung jeweils nur für ein Token auftritt, das von einem Identitätsanbieter ausgestellt wurde.
Eingabeanspruchstyp – bezieht sich auf den Eingabeanspruchstyp, der vom Anspruchsaussteller empfangen wurde. Der vollständige Anspruchstyp für den Namenidentifizierer ist https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifierbeispielsweise . Die Optionen für dieses Feld sind:
Wählen Sie den Typ "Typ" aus– Gibt "true" zurück, wenn der Eingabeanspruchstyp dem typ entspricht, der im Dropdownmenü ausgewählt ist. Dieses Menü wird mit den verfügbaren Anspruchstypen für den ausgewählten Anspruchsaussteller aufgefüllt.
Typ eingeben - Gibt WAHR zurück, wenn der Eingabeanspruchstyp mit dem in das Feld eingegebenen Wert identisch ist.
Wichtig
Für dieses Feld wird zwischen Groß- und Kleinschreibung unterschieden.
Eingabeanspruchswert – bezieht sich auf den Wert des empfangenen Eingabeanspruchs. Der Anspruchstyp "nameidentifier" verwendet z. B. eine E-Mail-Adresse als Wert, und dieses Feld kann verwendet werden, um zu überprüfen, ob eine bestimmte E-Mail-Adresse vorhanden ist. WAHR wird zurückgegeben, wenn der Eingabeanspruchstyp mit dem in das Feld eingegebenen Wert identisch ist.
Wichtig
Für dieses Feld wird zwischen Groß- und Kleinschreibung unterschieden.
Regelaktionen (dann)
In diesem Abschnitt wird der Ausgabeanspruch angegeben, der von ACS ausgestellt wird, wenn die Bedingungen im Abschnitt "If " der Regel wahr sind. Die folgenden Ausgabeanspruchsoptionen sind verfügbar:
Ausgabeanspruchstyp – Der Anspruchstyp, der von ACS ausgestellt wird. Die folgenden Optionen sind für dieses Feld verfügbar:
Pass-Through-Eingabeanspruchstyp - Stellt einen Ausgabeanspruch aus, der den gleichen Typ wie der Eingabeanspruch aufweist.
Wählen Sie den Typ aus– Gibt einen Ausgabeanspruch des angegebenen Typs an. Das Dropdownmenü enthält eine Liste häufig verwendeter Anspruchstypen.
Typ eingeben - Stellt einen Anspruch des eingegebenen Typs aus. Wenn der Ausgabeanspruch in einem SAML-Token vorhanden ist, muss dieser Wert ein URI sein (z https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier. B. ).
Wichtig
Für dieses Feld wird zwischen Groß- und Kleinschreibung unterschieden.
Ausgabeanspruchswert – bezieht sich auf den Wert des von ACS ausgestellten Ausgabeanspruchs. Die folgenden Optionen sind für dieses Feld verfügbar:
Pass-Through-Eingabeanspruchswert - Stellt einen Ausgabeanspruch aus, dessen Wert mit dem Wert des Eingabeanspruchs identisch ist.
Wert eingeben - Stellt einen Anspruch mit dem in dieses Feld eingegebenen Wert aus. Für diese Option ist es erforderlich, dass ein bestimmter Eingabeanspruchstyp ausgewählt ist oder in das Feld Ausgabeanspruchstyp eingegeben wird.
Wichtig
Für dieses Feld wird zwischen Groß- und Kleinschreibung unterschieden.
Regelinformationen
Mithilfe dieses Abschnitts können Sie eine Beschreibung für eine Regel erstellen.
Hinweis
In ACS werden Regelbeschreibungen nicht automatisch für die generierten Regeln erstellt.
Konfigurieren von Regeln mithilfe des ACS-Verwaltungsdiensts
Regeln in einem Access Control-Namespace können programmgesteuert mithilfe des ACS-Verwaltungsdiensts konfiguriert werden. Ein Beispiel zum Konfigurieren von Regeln mithilfe von ASP.NET finden Sie unter Codebeispiel: Verwaltungsdienst. Nachfolgend sind wichtige Elemente zu berücksichtigen, wenn Sie den ACS-Verwaltungsdienst verwenden, um Regeln zu konfigurieren:
Beim Bearbeiten und Löschen von Regeln in einer Regelgruppe wird empfohlen, dass Sie zuerst ACS für alle Regeln innerhalb dieser Regelgruppe abfragen und die Regel-IDs verwenden, die Ihre Abfrage zurückgibt, um die Bearbeitungs- oder Löschvorgänge auszuführen. Es wird nicht empfohlen, die vom Verwaltungsdienst zurückgegebenen IDs für zukünftige Vorgänge zu speichern, da diese IDs nicht unbedingt beibehalten werden.
Wenn Sie eine automatische Wiederholungslogik zum Erstellen von Regeln schreiben (z. B. im Falle eines Timeouts), empfiehlt es sich, dass Sie zuerst das Vorhandensein einer identischen Regel in der aktuellen Regelgruppe abfragen, bevor Sie versuchen, sie ein zweites Mal hinzuzufügen.