Verwaltung von Zugriffsrichtlinien über APIs
Eine Zugriffsrichtlinie ist eine Gruppe von Regeln und Bedingungen, die ausgewertet werden, um die Zugriffsentscheidung zu bestimmen. Sie können angepasste Zugriffsrichtlinien erstellen. Alle angepassten Zugriffsrichtlinien werden als Optionen in der Anwendungskonfiguration angezeigt.
Informationen zu dieser Task
Einige Standardzugriffsrichtlinien werden für die sofortige Verwendung bereitgestellt und können nicht geändert werden. Tenants können angepasste Zugriffsrichtlinien gemäß ihren Anforderungen hinzufügen.
- Regeln werden auf der Basis der ersten Übereinstimmung ausgewertet. Wenn ein Abgleich aller Bedingungen in einer Regel als wahr ausgewertet wird, wird das Ergebnis der Regel als Auswertungsentscheidung zurückgegeben. Es wird keine weitere Verarbeitung ausgeführt.
- Der optionale Parameter
alwaysRun: truekann einer einzelnen Regel hinzugefügt werden. Dieser Parameter bewirkt, dass die Regel zusätzlich zu der zuerst abgeglichenen Gruppe von Regeln ausgewertet wird. Die Ergebnisse des ersten Abgleichs und der Verwendung des ParametersalwaysRunwerden kombiniert und die restriktivste Aktion wird als Ergebnis der Richtlinie angewendet. Einer Richtlinie können mehrere RegelnalwaysRunhinzugefügt werden. - Wenn eine Richtlinie eine bestimmte Subskription für eine Bedingung erfordert, wie beispielsweise Gerätemanagement, und der Tenant momentan nicht für diese Subskription berechtigt ist, wird die Richtlinie übersprungen. Es wird eine Mehrfaktorauthentifizierungsentscheidung (MFA-Entscheidung) zurückgegeben.
- Wenn eine Regel eine bestimmte Subskription für MFA erfordert und der Tenant momentan nicht für diese Subskription berechtigt ist, wird eine ausgewertete MFA-Entscheidung in eine Zurückweisung geändert. Durch diese Änderung wird die Anwendung geschützt, anstatt unbedingten Zugriff zu ermöglichen.
Der Richtlinieneditor kann zum Erstellen und Ändern von Richtlinien verwendet werden. Siehe „Verwalten von Zugriffsrichtlinien “.
Einige Bedingungen können nicht mithilfe des Richtlinieneditors hinzugefügt werden. In diesen Fällen kann die API zum Ändern vorhandener Richtlinien oder zum Erstellen neuer Zugriffsrichtlinien mit diesen Bedingungen verwendet werden.
Die Syntaxprüfung erfolgt, wenn eine Zugriffsrichtlinie erstellt oder aktualisiert wird.
{
"name": "policy_name",
"description": "Description of the policy",
"schemaVersion": "urn:access:policy:4.0:schema",
"rules": [
{
"name": "allow_with_conditions",
"id": "1",
"conditions": {
"contextAttributes": {
"attributes": [
{
"name": "attrName",
"values": [
"value1",
"value2"
],
"opCode": "EQ"
}
]
},
"subjectAttributes": {
"attributes": [
{
"name": "realmName",
"values": [
"cloudIdentityRealm",
"www.ibm.com"
],
"opCode": "IN"
},
{
"name": "customAttr1",
"values": [
"val1"
],
"opCode": "NEQ"
}
]
},
"timeAttributes": {
"attributes": [
{
"name": "timezone",
"opCode": "EQ",
"values": [
"UTC Offset or GMT Offset"
]
},
{
"name": "startDate",
"opCode": "EQ",
"values": [
"YYYY-MM-DD HH:mm:ss"
]
},
{
"name": "endDate",
"opCode": "EQ",
"values": [
"YYYY-MM-DD HH:mm:ss"
]
},
{
"name": "Monday",
"opCode": "EQ",
"values": [
"hh:mm-hh:mm"
]
},
{
"name": "Tuesday",
"opCode": "EQ",
"values": [
"hh:mm-hh:mm"
]
}
]
},
"ipAddress": {
"opCode": "MATCH",
"values": [
"<ip_address>",
"<ip_address_range_start> - <ip_address_range_end>",
"<ip_address/subnet>"
]
},
"location": {
"attributes": [
{
"values": [
"3-Letter-ISO"
],
"name": "country",
"opCode": "IN"
}
]
}
"location": {
"attributes": [
{
"values": [
"<city>"
],
"name": "city",
"opCode": "IN"
}
]
}
"geoLocation": {
"enabled": "true"
},
"trusteer": {
"enabled": "true"
}
},
"result": {
"extendedAction": {
"action": "ACTION_ALLOW"
},
"authnMethods": []
}
},
{
"name": "Authentication factor validity",
"id": "2",
“alwaysRun”: true,
"conditions": {
"factorLifetimeAttributes": {
"attributes": [
{
"name": "anyFactor",
"opCode": "EQ",
"values": [
"120"
]
},
{
"name": "reauthPerDevice",
"opCode": "EQ",
"values": [
"enabled"
]
}
]
}
},
"result": {
"extendedAction": {
"action": "ACTION_MFA_OVERRIDE"
}
}
},
{
"name": "mfa_once_per_session_device_conditions",
"id": "3",
"contextAttributes": {
"attributes": [
{
"name": "devicePlatform",
"values": [
"IOS",
"ANDROID",
"OTHER_MOBILE",
"MACOS",
"WINDOWS",
"OTHER_DESKTOP"
],
"opCode": "IN"
},
{
"name": "deviceCompliance",
"values": [
"COMPLIANT",
"NONCOMPLIANT",
"UNKNOWN"
],
"opCode": "IN"
}
]
},
"result": {
"extendedAction": {
"action": "ACTION_MFA_PER_SESSION"
},
"authnMethods": [
"urn:ibm:security:authentication:asf:macotp"
]
}
},
{
"name": "deny_otherwise",
"id": "100",
"conditions": {},
"result": {
"extendedAction": {
"action": "ACTION_DENY"
},
"authnMethods": []
}
}
]
}
- Jede Regel besteht aus diesen Eigenschaften:
- name
- Ein Name für die Regel.
- id
- Die eindeutige ID für die Regel, die in Ereignisdaten und Berichten verwendet wird.
- conditions
- Pro Regel kann mehr als eine Bedingung vorhanden sein. Alle Bedingungen in der Regel müssen als wahr ausgewertet werden, damit für die Regel eine Übereinstimmung zurückgegeben und das Ergebnis angewendet wird. Die Standardregel enthält eine leere Bedingung.
- Die Bedingungen enthalten die folgenden Eigenschaften:
- contextAttributes
- Die Attribute, die für den Ablauf, in dem die Zugriffsrichtlinie ausgeführt wurde, als Kontext dienen. Diese Attribute umfassen Attribute für Gerätemanagement, OpenID Connect und HTTP-Anforderungen.
- subjectAttributes
- Die Anmeldesitzungsattribute, die dem Subjekt des authentifizierten Benutzers zugeordnet sind.
- factorLifetimeAttributes
- Ordnen Sie die Gültigkeit einem bestimmten Authentifizierungsfaktor oder einer bestimmten Authentifizierungsmethode zu.
- timeAttributes
- Die Attribute für die Tageszeit, die die zeitbasierte Zugriffssteuerung ermöglichen.
- ipAddress
- Die IP-Adressbedingung, die Zulassungs- und Blockierlisten auf der Basis einzelner IP-Adressen, eines Bereichs von IP-Adressen oder eines Teilnetzes ermöglicht.
- location
- Das Land oder die Stadt, das bzw. die aus der IP-Adresse des Benutzers aufgelöst
wird. Das Land muss eine durch Kommas getrennte Liste der Landesnamen oder aus drei
Buchstaben bestehende Landescodes auf der Basis des folgenden ISO-Standards
enthalten. Ein einzelnes Land oder ein aus drei Buchstaben bestehender Landescode
ist zulässig.
Die Stadt muss eine durch Kommas getrennte Liste der Ortsnamen enthalten. Eine einzelne Stadt ist zulässig.
- geoLocation
- Die Standorte, an denen Zugriffsentscheidungen verifiziert wurden. Die Standardeinstellung gilt für die vorherigen fünf verifizierten Standorte. Die
Bedingungseigenschaft ist entweder
enabled(wahr) oderdisabled(falsch). - trusteer
- IBM Security Trusteer erkennt den Erstzugriff neuer Geräte für Benutzer.
- Die Attribute enthalten die folgenden Eigenschaften:
- name
- Ein Name für das Attribut.
- values
- Die Werte des Attributs.
- opCode
- Der Operator.
- Die Operatoren für die Auswertung von Attributwerten:
- EQ
- Alle Werte sind vorhanden.
- NEQ
- Keiner der Werte ist vorhanden.
- IN
- Einer oder mehrere der Werte sind vorhanden.
- MATCH
- Die ipAddress-Bedingung opCode für übereinstimmende IP-Adressen, Bereiche oder Teilnetze.
- NOMATCH
- Die ipAddress-Bedingung opCode für nicht übereinstimmende IP-Adressen, Bereiche oder Teilnetze.
- Das Ergebnis (result) enthält die folgenden Eigenschaften:
- Action
- Gibt an, welche Aktion ausgelöst werden soll, wenn die Bedingungen erfüllt sind. Gültige Werte sind:
- ACTION_ALLOW
- ACTION_MFA_ALWAYS - Jedes Mal MFA, wenn für die Regel während der Zugriffsrichtlinienauswertung eine Übereinstimmung gefunden wird.
- ACTION_MFA_PER_SESSION - MFA einmal pro authentifizierter Sitzung und Zugriff ermöglichen, wenn bereits ausgeführt.
- ACTION_DENY
- authnMethods
- Gibt die zulässigen Authentifizierungsverfahren an, wenn es sich bei der Aktion um eine Mehrfaktorauthentifizierung (MFA) handelt. urn:ibm:security:authentication:asf:macotp -Ermöglicht es dem Benutzer, ein beliebiges Verfahren auszuwählen, das sie ausführen können, oder einen oder mehrere der folgenden Faktoren:
emailotp- Kennwort für einmaliges Anmelden über E-Mailsmsotp- Kennwort für einmaliges Anmelden über SMStotp- Zeitbasiertes Kennwort für einmaliges Anmelden (Authentifikator-App)signatures- IBM® Verify Push-Benachrichtigung der Apppasskey- Passwort -Authentifikatorvoiceotp- Kennwort für einmaliges Anmelden über Sprache, das an die registrierte Telefonnummer des Benutzers gesendet wirdanyFactor– Aliasname fürurn:ibm:security:authentication:asf:macotp. Dieses Verfahren wird vor allem in der BedingungfactorLifetimeverwendet und stellt ein beliebiges gültiges Authentifizierungsverfahren dar, das vom Benutzer ausgeführt wird.
Diese Bedingung ordnet die Gültigkeit einem bestimmten Authentifizierungsfaktor oder einer bestimmten Authentifizierungsmethode zu. Die Gültigkeit kann einem Benutzerprofil oder dem Gerät eines Benutzers zugeordnet werden.
- Für Organisationen, in denen die Mehrfaktorauthentifizierung eines Benutzers nur einmal pro Kalendertag ausgeführt werden soll, können Sie die erneute Authentifizierung für einen Zeitraum von 18 Stunden konfigurieren.
- Für Organisationen, in denen die Mehrfaktorauthentifizierung eines Benutzers einmal pro Arbeitswoche
ausgeführt werden soll, können Sie eine Richtlinie für alle 6 Tage konfigurieren.Hinweis: Wenn diese
reauthPerDeviceOption aktiviert ist, wird der Benutzer bei „unbekannten“ Geräten zur MFA-Authentifizierung aufgefordert. Beispiel: Ein Benutzer authentifiziert sich über einen anderen Browser (Chrome anstelle von Edge) oder über eine andere physische Einheit.Wird ein privater Browsing-Modus verwendet, wird für den ersten Zugriff in jeder neuen Sitzung eine MFA-Anforderung generiert.
factorLifeTimeAttributes enthält die folgenden obligatorischen
Attribute:- name
- Eine Liste gültiger
authnMethodsoder das AttributanyFactor. - values
- Das Gültigkeitsintervall in Sekunden für
authnMethod. - opCode
- EQ.
- name
reauthPerDevice.- values
- Entweder 'aktiviert' oder 'inaktiviert'.
- opCode
- EQ.
Kontextattribute können Attribute für Gerätemanagement, OpenID Connect und HTTP-Anforderungen umfassen.
- Kontextattribute für Gerätemanagement
- Die Gerätemanagementattribute 'devicePlatform' und 'deviceCompliance' sind unter der Bedingung (condition)
'contextAttributes' definiert.
- devicePlatform
- Das Betriebssystem und Geräteplattformen wie iOS, Android, Mac OS X. Die zulässigen Werte sind
IOS,ANDROID,OTHER_MOBILE,MACOS,WINDOWS,OTHER_DESKTOP. Für diese Bedingung ist das „Device Management“-Abonnement erforderlich, siehe „Konfigurieren des bedingten Zugriffs “. - deviceCompliance
- Die Konformitätsebene des Geräts. Die zulässigen Werte sind
COMPLIANT,NONCOMPLIANT, undUNKNOWN. Für diese Voraussetzung ist das „Device Management“-Abonnement erforderlich; siehe „Konfigurieren des bedingten Zugriffs “.
- OpenID Connect-Kontextattribute
- Bei den meisten der folgenden Kontextattribute, die für OpenID Connect-Anwendungen verfügbar sind, handelt es sich um OIDC-Anforderungsparameter. Für die Attribute, die über keine 1:1-Entsprechung mit den Anforderungsparameternamen verfügen, ist eine Erläuterung angegeben. Weitere Informationen finden Sie unter https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest und https://tools.ietf.org/html/rfc7636#section-4.3.
- scope
- Eine beliebige Liste der durch Leerzeichen getrennten Geltungsbereiche, die von diesem Token empfangen werden. Ein
Beispiel eines bekannten Geltungsbereichs ist
emailaddressprofileopenid. - response_type
- Eine oder mehrere der folgenden Angaben:
codetokenid_token. Die unterstützten Werte finden Sie unter https://oidc-dev-test.ite1.idng.ibmcloudsecurity.com/developer/explorer/#!/OpenID_Connect/handleAuthorizeGet. - acr_values
- Bindet eine bestimmte
ARCan eine spezifische Anwendung. - method
- Eine Liste von Zeichenfolgen, die die ausgeführten Richtlinien im Format
urn:ibm:security:policy:id:<policy-id>. enthalten. - claims
- Eine komplexe JSON.
- response_mode
- Eine Zeichenkette, eine von
query fragment form_post. - response_method
- Gibt die Methode an, die von einer Anforderung an einen URI zurückgegeben wird.
- code_challenge_exist
- Eine boolesche Auswahl in einem PKCE-Ablauf, die angibt, ob eine
code_challengein der Anforderung gesendet wurde. - redirect_uri_scheme
- Die Schemakomponente der Umleitungs-URI, die einen Nicht-Browserbenutzeragenten und die Antwort erkennt.
- client_type
- Gibt an, ob es sich bei den Client um einen öffentlichen (
public) oder vertraulichen (confidential) Client handelt. Für vertrauliche Clients ist ein geheimer Clientschlüssel vorhanden. - request_type
- Gibt den Endpunkt an, von dem die Anfrage stammt:
device_authorize,user_authorize,authorization,access_token,introspect,user_info,revoke, oderclient_registration.
- HTTP-Anforderungskontextattribute
- HTTP-Anforderungsheader können in Zugriffsrichtlinien ausgewertet werden. Verwenden Sie den
HTTP-Anforderungsheadernamen als den Namen des Attributs in den Kontextattributen
(contextAttributes) und den Wert, der dem Wert des eingehenden Headers entspricht. Die Umwandlung von Werten wird derzeit nicht unterstützt, und es kann nur der Standard opCodes für Kontextattribute verwendet werden. Zum Beispiel,,
"conditions": { "contextAttributes": { "attributes": [{ "name": "referer", "values": [ "https://<isv_tenant>/usc/", "https://<some_other_known_referrer>" ], "opCode": "IN" }, { "name": "user-agent", "values": [ "<specific_user_agent>" ], "opCode": "EQ" }, { "name": "x-forwarded-for", "values": [ "<x_forwarded_for_ip_address>" ], "opCode": "EQ" } ] } }
- displayName
- Der Name, der für den Benutzer angezeigt wird.
- name
- Der Vorname, gefolgt vom Familiennamen.
- family_name
- Der Familienname des Benutzers.
- given_name
- Der Vorname des Benutzers.
- Die E-Mail des Benutzers.
- emailAddress
- Die E-Mail des Benutzers.
- groupIds
- Die Gruppen-IDs.
- preferred_username
- Ein änderbarer Benutzername.
- uuid
- Eine eindeutige ID für den Benutzer.
- uniqueSecurityName
- Eine eindeutige ID für den Benutzer.
- realmName
- Dieses Attribut hat für nicht föderierte Cloud Directory-Benutzer immer den
Wert
cloudIdentityRealm. - userType
- Dieses Attribut hat für nicht föderierte Cloud Directory-Benutzer immer den
Wert
regular.
Attribute für die Tageszeit.
- Die Attribute enthalten die folgenden Eigenschaften:
- name
- Ein Name für das Attribut. Der Name (name) ist ein Wochentag und wahlweise die Angabe der
Zeitzone (timeZone), des Startdatums (startDate) und des Enddatums
(endDate). Gültige Werte sind:
- Montag
- Dienstag
- Mittwoch
- Donnerstag
- Freitag
- Samstag
- Sonntag
endDateDie Zeitbereiche für die Wochentage werden durch den Bereich in ihrem
{ ... "values": [ "hh:mm-hh:mm" ]}aktiviert und können optional mit einem startDate und einem gestaffelt werden. - timeZone
- Die Zeitzone, die der Region zugeordnet ist. Der Standardwert ist die koordinierte Weltzeit (UTC). Die Werte können
eines der folgenden Formate haben.
UTC<+/-><offset>- Zum Beispiel,UTC+10GMT<+/-><offset>- Zum Beispiel,GMT-5- Ein Zeitzonendatenbankname - Beispiel:
Australia/Brisbane
- startDate
- Das Startdatum und die Startzeit, das bzw. die angibt, ab wann die Bedingung aktiv ist. Diese Angabe kann zum
Erstellen eines Blockzeitabgleichs verwendet werden und mit Attributen für die Wochentage bereitgestellt werden. Die
Angabe für startDate hat Vorrang vor den Wochentagen. Die Werte liegen im Format
YYYY-MM-DD HH:mm:ss. Für die Wochentage hat der Wert das Formathh:mm-hh:mm. - endDate
- Das optionale Enddatum und die optionale Endzeit, das bzw. die angibt, ab wann die Bedingung nicht mehr aktiv ist. Diese
Angabe kann zum Erstellen eines Blockzeitabgleichs mit einem Startdatum (startDate) verwendet
werden oder mit Attributen für die Wochentage bereitgestellt werden. Ohne die Angabe eines Enddatums
(endDate) gilt die Bedingung unbegrenzt, wenn ein Startdatum (startDate) oder
Wochentag vorhanden ist. Die Werte liegen im Format
YYYY-MM-DD HH:mm:ss.
Die IP-adressbasierte Bedingung, die IPv4 und IPv6 unterstützt.
- Die Bedingung enthält die folgende Eigenschaft:
- values
- Die Werte der Bedingung. Gültige Werte sind ein Bereich von IP-Adressen, eine Liste der durch Kommas getrennten IP-Adressen oder eine CIDR-IP-Adresse.
- opCode
- Der Operator. Für diese ipAddress Erkrankung sind spezifische opCodes Maßnahmen erforderlich.Die verfügbaren Operatoren sind:
- MATCH
- Alle Werte sind vorhanden.
- NOMATCH
- Keiner der Werte ist vorhanden.
Das Land oder die Stadt, das bzw. die aus der IP-Adresse des Benutzers aufgelöst wird. Das Land muss eine durch Kommas getrennte Liste der Landesnamen oder aus drei Buchstaben bestehende Landescodes auf der Basis des folgenden ISO-Standards enthalten. Siehe ISO 3166-1 unter alpha-3. Ein einzelnes Land oder ein aus 3 Buchstaben bestehender Landescode ist zulässig. Die Stadt muss eine durch Kommas getrennte Liste der Ortsnamen enthalten. Eine einzelne Stadt ist zulässig.
- Die Bedingung enthält die folgende Eigenschaft:
- aktiviert
- Gibt an, ob die Bedingung aktiviert (wahr) oder inaktiviert (falsch) ist.
- opCode
- Der Operator. Für diese location Erkrankung sind spezifische opCodes Maßnahmen erforderlich.Die verfügbaren Operatoren sind:
- IN
- Einer oder mehrere der Werte sind vorhanden.
- NOT IN
- Keiner der Werte ist vorhanden.
Die Standorte, an denen Zugriffsentscheidungen verifiziert wurden. Die Standardeinstellung gilt für die vorherigen fünf verifizierten Standorte.
- Die Bedingung enthält die folgende Eigenschaft:
- aktiviert
- Gibt an, ob die Bedingung aktiviert (wahr) oder inaktiviert (falsch) ist.
IBM Security Trusteer erkennt den Erstzugriff neuer Geräte für Benutzer.
- Die Bedingung enthält die folgende Eigenschaft:
- aktiviert
- Gibt an, ob die Bedingung aktiviert (wahr) oder inaktiviert (falsch) ist.