feat: add authn-basic layer
This commit is contained in:
@ -8,6 +8,7 @@ Les informations liées à l'utilisateur authentifié sont ensuite injectables d
|
||||
|
||||
- [`authn-oidc`](./oidc.md) - Authentification OpenID Connect
|
||||
- [`authn-network`](./network.md) - Authentification par origine d'accès réseau
|
||||
- [`authn-basic`](./basic.md) - Authentification "Basic Auth"
|
||||
|
||||
## Schéma des options
|
||||
|
||||
@ -15,9 +16,9 @@ En plus de leurs options spécifiques tous les layers `authn-*` partagent un cer
|
||||
|
||||
Voir le [schéma](../../../../../internal/proxy/director/layer/authn/layer-options.json).
|
||||
|
||||
## Règles d'injection d'entêtes
|
||||
## Moteur de règles
|
||||
|
||||
L'option `headers.rules` permet de définir une liste de règles utilisant un DSL définissant de manière dynamique quels entêtes seront injectés dans la requête transitant par le layer.
|
||||
L'option `rules` permet de définir une liste de règles utilisant un DSL définissant de manière dynamique quels entêtes seront injectés dans la requête transitant par le layer. Les règles permettent également d'interdire l'accès à un utilisateur via la fonction `forbidden()` (voir section "Fonctions").
|
||||
|
||||
La liste des instructions est exécutée séquentiellement.
|
||||
|
||||
@ -31,6 +32,10 @@ Le comportement des règles par défaut est le suivant:
|
||||
|
||||
### Fonctions
|
||||
|
||||
#### `forbidden()`
|
||||
|
||||
Interdire l'accès à l'utilisateur.
|
||||
|
||||
#### `set_header(name string, value string)`
|
||||
|
||||
Définir la valeur d'une entête HTTP via son nom `name` et sa valeur `value`.
|
||||
|
50
doc/fr/references/layers/authn/basic.md
Normal file
50
doc/fr/references/layers/authn/basic.md
Normal file
@ -0,0 +1,50 @@
|
||||
# Layer `authn-basic`
|
||||
|
||||
## Description
|
||||
|
||||
Ce layer permet d'ajouter une authentification de type [`Basic Auth`](https://en.wikipedia.org/wiki/Basic_access_authentication) au service distant.
|
||||
|
||||
## Type
|
||||
|
||||
`authn-basic`
|
||||
|
||||
## Schéma des options
|
||||
|
||||
Les options disponibles pour le layer sont décrites via un [schéma JSON](https://json-schema.org/specification). Elles sont documentées dans le [schéma visible ici](../../../../../internal/proxy/director/layer/authn/basic/layer-options.json).
|
||||
|
||||
En plus de ces options spécifiques le layer peut également être configuré via [les options communes aux layers `authn-*`](../../../../../internal/proxy/director/layer/authn/layer-options.json).
|
||||
|
||||
## Objet `user` et attributs
|
||||
|
||||
L'objet `user` exposé au moteur de règles sera construit de la manière suivante:
|
||||
|
||||
- `user.subject` sera initialisé avec le nom d'utilisateur identifié ;
|
||||
- `user.attrs` sera composé des attributs associés à l'utilisation (voir les options).
|
||||
|
||||
## Métriques
|
||||
|
||||
Les [métriques Prometheus](../../metrics.md) suivantes sont exposées par ce layer.
|
||||
|
||||
### `bouncer_layer_authn_basic_forbidden_total{layer=<layerName>,proxy=<proxyName>}`
|
||||
|
||||
- **Type:** `counter`
|
||||
- **Description**: Nombre total de tentatives d'accès bloquées
|
||||
- **Exemple**
|
||||
|
||||
```
|
||||
# HELP bouncer_layer_authn_basic_forbidden_total Bouncer's authn-basic layer total forbidden accesses
|
||||
# TYPE bouncer_layer_authn_basic_forbidden_total counter
|
||||
bouncer_layer_authn_basic_forbidden_total{layer="basic",proxy="dummy"} 1
|
||||
```
|
||||
|
||||
### `bouncer_layer_authn_basic_authorized_total{layer=<layerName>,proxy=<proxyName>}`
|
||||
|
||||
- **Type:** `counter`
|
||||
- **Description**: Nombre total de tentatives d'accès autorisées
|
||||
- **Exemple**
|
||||
|
||||
```
|
||||
# HELP bouncer_layer_authn_basic_authorized_total Bouncer's authn-basic layer total authorized accesses
|
||||
# TYPE bouncer_layer_authn_basic_authorized_total counter
|
||||
bouncer_layer_authn_basic_authorized_total{layer="basic",proxy="dummy"} 2
|
||||
```
|
@ -79,3 +79,4 @@ Par défaut ce serveur écoute sur le port 8082. Il est possible de modifier l'a
|
||||
## Ressources
|
||||
|
||||
- [Référence du layer `authn-oidc`](../../fr/references/layers/authn/oidc.md)
|
||||
- [Moteur de règles](../../fr//references/layers/authn/README.md)
|
||||
|
Reference in New Issue
Block a user