28 lines
1.3 KiB
Markdown
28 lines
1.3 KiB
Markdown
# Authentification et autorisation
|
|
|
|
## Authentification
|
|
|
|
Emissary utilise des [**JSON Web Token**](https://fr.wikipedia.org/wiki/JSON_Web_Token) (JWT) afin d'authentifier les appels à son API REST.
|
|
|
|
L'implémentation est compatible avec tout serveur d'authentification exposant une URL proposant un [**JSON Web Key Set**](https://www.ory.sh/docs/hydra/jwks#the-role-of-well-knownjwksjson).
|
|
|
|
La plupart des serveurs OpenID Connect exposent un point d'entrée du type [`/.well-known/jwks.json`](https://www.ory.sh/docs/hydra/jwks#the-role-of-well-knownjwksjson) remplissant ce rôle.
|
|
|
|
Emissary est également en capacité à fonctionner en mode autonome en générant des JWTs signés par une clé privée locale.
|
|
|
|
## Ségrégation des ressources
|
|
|
|
Emissary suit une stratégie ["multitenant"](https://fr.wikipedia.org/wiki/Multitenant) de séparer les ressources par organisation.
|
|
|
|
Un utilisateur est obligatoirement associé à un `tenant`` et ne peut opérer que sur les ressources associées à celui ci.
|
|
|
|
## Autorisation
|
|
|
|
Au sein d'un `tenant`, un utilisateur peut avoir un des rôles suivants:
|
|
|
|
- `writer` - Autorisé à visualiser et modifier les ressources;
|
|
- `reader` - Autorisé à visualiser les ressources.
|
|
|
|
Un rôle spécial `admin` permet la création et la suppression de `tenants`.
|
|
|