
# keenauth_directory_role_mapping

La ressource `keenauth_directory_role_mapping` associe un groupe d'un annuaire SCIM à un rôle. Les membres du groupe reçoivent le rôle dans l'organisation de l'annuaire.

```terraform
resource "keenauth_role" "engineer" {
  key  = "engineer"
  name = "Engineer"
}

resource "keenauth_directory_role_mapping" "engineering" {
  directory_id       = keenauth_directory.acme_okta.id
  directory_group_id = "dsg_01j9zq3v8c5m2x7k4t6r1n0b3d"
  role_id            = keenauth_role.engineer.id
}
```

## Les groupes viennent du fournisseur d'identité

Le fournisseur d'identité provisionne les groupes vers l'annuaire par SCIM ; le groupe doit donc exister avant que vous l'associiez. Pour lister les groupes d'un annuaire :

```shell
keenauth directories groups list <directory_id>
```

Un groupe absent de l'annuaire est refusé avec `422` (`unknown_group`). Un groupe ne peut être associé qu'une fois par annuaire, et un annuaire compte au plus 500 associations.

## Créer, lire et supprimer uniquement

L'API de gestion ne peut pas modifier une association. Chaque argument (`directory_id`, `directory_group_id`, `role_id`) remplace l'association lorsque vous le changez. Le fournisseur lit l'association dans la liste des associations de l'annuaire à chaque actualisation ; une association ou un annuaire supprimé en dehors du fournisseur est retiré de l'état et replanifié.

## Rôles privilégiés

Associer un rôle privilégié exige une clé d'API dotée de `roles:write` en plus de `directories:write` ; sans elle, l'API répond `403` (`privileged_role_mapping_forbidden`). Une telle association est créée approuvée.

Si un rôle devient privilégié après la création de l'association, celle-ci reste non approuvée : `approved_at` est vide et le rôle n'est pas accordé. Le fournisseur n'approuve pas les associations ; recréez l'association avec une clé dotée de `roles:write`.

## Arguments

- `role_id` est un rôle de l'environnement ou un rôle de l'organisation de l'annuaire ; tout autre rôle est refusé avec `422` (`unknown_role`).
- `organization_id`, `role_privileged`, `approved_at`, `created_at` et `id` sont en lecture seule.

## Importation

Importez avec l'identifiant de l'annuaire et l'identifiant de l'association :

```shell
tofu import keenauth_directory_role_mapping.engineering dir_01j9zq3v8c5m2x7k4t6r1n0b3d/rmp_01j9zq4a2b3c4d5e6f7g8h9j0k
```
