« policy » : []
Cette section est facultative. Cela permet l'ajout conditionnel d'attributs au paquet de réponse « Access-Accept » envoyé par le serveur RADIUS de l' IBM aux clients RADIUS (NAS). Elle permet également l'acceptation ou le rejet immédiat et conditionnel d'une demande d'autorisation d'accès. Les règles sont évaluées dans l'ordre dans lequel elles sont définies.
Format
“policy”:[
{
“name”:”policy1”,
“match”:{
“client-ip”:”???”,
“attr”:{
“compare”:”??”,
“name”:”???”,
…
},
“user-group”:{
“compare”:”??”,
“name”: “???”
},
“apply-before-authenticate”:????
},
“return-attrs”:[
{
“name”:”???”,
“value”:”???”,
…
},
…
],
“action”:”???”,
},
{
“name”:”policy2”,
…
},
…
]
Valeurs
"match":{}- Cette sous-section est facultative et si elle n'existe pas, la règle recherche tous les paquets Access-Request.
Cette section contient les sous-éléments suivants :
"client-ip":"192.168.0.129"- Correspond à l'adresse du client RADIUS (NAS) qui a envoyé le paquet.
"apply-before-authenticate":"false"- Obsolète. La valeur par défaut est false. Si la valeur est true, la règle est mise en correspondance et appliquée avant que le mot de passe de l'utilisateur ou le mot de passe à utilisation unique ne soit validé. Cela revient à définir « apply » sur « before_mfa ».
"apply": "before-mfa" | "after-mfa-success" | "after-pwd-success" | "before-each-response"- Cette option est préférable à l'option de configuration obsolète
"apply-before-authenticate"."before-mfa"- La politique vérifie d'abord cette condition avant de valider l'adresse 1FA (mot de passe) ou 2FA.
"after-mfa-success"- La politique s'applique une fois que l'adresse 2FA a été validée avec succès.
"after-pwd-success"- La politique s'applique après une validation réussie de l' 1FA, avant l' 2FA.
"before-each-response"- La politique vérifie cette condition avant d'envoyer chaque réponse.
"attr":{}Cette section permet de mettre en correspondance une valeur d'attribut unique dans le paquet Access-Request. Cette section contient les sous-éléments suivants :
"compare":"="- La valeur par défaut est « = ». Cet élément doit être soit
"="soit"!=". "case-ignore":false- La valeur par défaut est false. Les valeurs sont comparées octet par octet par
rapport à la valeur de l'attribut RADIUS. Exception lorsque
"case-ignore"a pour valeur true. Dans ce cas, une comparaison de chaîne de caractères UTF-8 sans distinction des minuscules et des majuscules est effectuée, ce qui peut être utile pour comparer la valeur de l'attribut"User-Name". "regex":false- La valeur par défaut est
false. Lorsqu'il est défini surtrue, la « valeur » est interprétée comme une expression régulière étendue lors de la comparaison avec la valeur de l'attribut. Par exemple :
correspond à toute valeur se terminant par"value": ".*ibm\\.com"ibm.com, comme par exempletestibm.com. Pour une définition des expressions régulières étendues, consultez https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html, "name":"User-Name"Attribut de comparaison dans le paquet Access-Request. Il peut s'agir d'une chaîne, comme le nom de l'attribut RADIUS, ou du numéro d'attribut. Par exemple, le nom d'utilisateur est associé au numéro 1. Consultez la sortie de la IbmRadius.exe -attributes commande pour obtenir la liste des attributs RADIUS.
"value":"Administrator"- Valeur d'attribut pour la comparaison. Reportez-vous à la table
"value-type"ci-après pour le format JSON de la valeur. Le type de valeur par défaut de l'attribut dépend de l'attribut lui-même. La sortie de la commande
indique la valeur "value-type" de chaque attribut RADIUS."IbmRadius.exe -attributes" "value-type":"text"- Remplace le mode de conversion de
“value”en valeur d'attribut RADIUS. La valeur par défaut dépend de l'attribut RADIUS car chaque attribut possède sa propre valeur "value-type". Reportez-vous à la sortie de la commande IbmRadius.exe -attributes pour prendre connaissance de la valeur "value-type" de chaque attribut RADIUS. Ce paramètre permet le remplacement du type pour faciliter la saisie. Par exemple, une chaîne de texte peut être placée dans un attribut de chaîne binaire.Tableau 1. Cartographie des valeurs Nom Format de valeur JSON Valeur RADIUS entier - nombre : par exemple, 1234.
- chaîne : nombre hexadécimal, par exemple
"0xa2b3ff".
4 octets, octet de poids fort en premier enum - Chaîne : chaîne de nom d'énumération appropriée pour l'attribut. Par exemple,
"Login"pour l'attribut « Service-Type ». Reportez-vous à la sortie de la commande IbmRadius.exe -attributes pour la liste des chaînes de valeur d'énumération admises. - nombre : par exemple,
5.
4 octets, octet de poids fort en premier heure - Nombre : nombre de secondes depuis le 01-01-1970 à 00:00:00 TUC
- Chaîne : "AAAAMMJJHHMMSS" TUC
4 octets, octet de poids fort en premier texte - Chaîne : caractères UTF-8
Octets UTF-8 non terminés par 0x00 integer64 - Nombre : par exemple, 12345
- chaîne : nombre hexadécimal, par exemple.
"0xdeadbeaf"
8 octets, octet de poids fort en premier ipv4addr - chaîne : une chaîne formatée de type « IPv4 », par exemple.
,"192.168.0.1"
4 octets, ordre réseau, octet de poids fort en premier ipv6addr - chaîne : une chaîne formatée de type « IPv6 », par exemple.
"192.168.0.fe80::df3c:99dd:8a4a:16f1"
8 octets, ordre réseau, octet de poids fort en premier chaîne
ifid
ipv6prefix
ipv4prefix
tlv
vsa
extended
long_extended
evs
- Chaîne : données binaires codées en Base64
Octets. Remarque : le format varie selon le type; consultez les RFC RADIUS.
"user-group":{}- Cette section permet de rechercher un groupe unique dans
la liste des groupes auxquels un utilisateur appartient. Ce paramètre ne peut être utilisé que si
"apply-before-authenticate" == false. Cette section contient les sous-éléments suivants :compare":"="La valeur par défaut est
"=". Cet élément doit être soit"="soit"!="."name":"{{group-name}}"- Le groupe nommé
"{{group-name}}"est comparé aux appartenances à des groupes de l'utilisateur.
"return-attrs":[]- Si ce paramètre n'est pas spécifié, aucun attribut n'est ajouté au paquet RADIUS renvoyé. Des attributs
"return-attrs"ne sont ajoutés que si la correspondance de règle est true.Chaque élément du tableau"return-attrs"est formaté :{ "name":"xxxx", "value":"xxxx", "value-type":"xxxx" },Les descriptions des éléments « name », « value » et « value-type » sont définies dans la section précédente . Exception : "value" peut être l'un des attributs suivants :"{{group-name}}" :insérez l'attribut plusieurs fois en une seule fois pour chaque groupe auquel appartient l'utilisateur."{{group-list}}" :insérez l'attribut une seule fois avec tous les groupes auxquels l'utilisateur appartient, séparés par une virgule.
"value-type"est contraint d'afficher le « texte ».Une « valeur » de"{{group-name:vsa:<vendorid>:<vendortype>}}"peut être utilisée pour ajouter chaque groupe en tant qu'attribut spécifique au fournisseur (VSA). Il faut remplacer le type de valeur par défaut « binaire » de VSA afin que la chaîne de formatage soit interprétée comme du texte. Remplacez<vendorid>par l'identifiant du fournisseur sous forme de nombre décimal et remplacez<vendortype>par le type de valeur du fournisseur sous forme de nombre décimal. Par exemple :"return-attrs":[ { "name": "Vendor-Specific", "value": "{{group-name:vsa:12356:1}}", "value-type": "text" } ],Une « valeur » de
"{{reflect}}"copie la valeur de la requête portant le même nom dans la réponse. En général, cette méthode sert à renvoyer la valeur « Proxy-State » qui a été reçue. Veuillez également indiquer la"value-type": "text"valeur de cet attribut. "action":"continue"- La valeur par défaut est
"continue"."action"s'applique uniquement si la correspondance de règle est true. L'élément"action"peut avoir l'une des trois valeurs suivantes :"continue":Ajoutez-en"return-attrs"si nécessaire et poursuivez le traitement."return-attrs""reject":Ajouter n'importe quoi, renvoyer un paquet RADIUS « Access-Reject » et mettre fin au traitement de cette requête du client RADIUS (NAS)."return-attrs""accept":Ajouter tout élément nécessaire, renvoyer un paquet RADIUS « Access-Accept » et mettre fin au traitement de cette requête du client RADIUS (NAS).