
# keenauth_directory_role_mapping

Die Ressource `keenauth_directory_role_mapping` ordnet eine Gruppe eines SCIM-Verzeichnisses einer Rolle zu. Die Mitglieder der Gruppe erhalten die Rolle in der Organisation des Verzeichnisses.

```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
}
```

## Gruppen kommen vom Identity Provider

Der Identity Provider stellt die Gruppen per SCIM im Verzeichnis bereit, daher muss die Gruppe existieren, bevor Sie sie zuordnen. Die Gruppen eines Verzeichnisses listen Sie mit:

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

Eine Gruppe, die nicht im Verzeichnis enthalten ist, wird mit `422` (`unknown_group`) abgelehnt. Eine Gruppe kann pro Verzeichnis nur einmal zugeordnet werden, und ein Verzeichnis hat höchstens 500 Zuordnungen.

## Nur anlegen, lesen und löschen

Die Management-API kann eine Zuordnung nicht ändern. Jedes Argument (`directory_id`, `directory_group_id`, `role_id`) ersetzt die Zuordnung, wenn Sie es ändern. Der Provider liest die Zuordnung bei jeder Aktualisierung aus der Zuordnungsliste des Verzeichnisses; eine Zuordnung oder ein Verzeichnis, das außerhalb des Providers gelöscht wurde, wird aus dem State entfernt und erneut geplant.

## Privilegierte Rollen

Das Zuordnen einer privilegierten Rolle erfordert einen API-Schlüssel mit `roles:write` zusätzlich zu `directories:write`; ohne ihn antwortet die API mit `403` (`privileged_role_mapping_forbidden`). Eine solche Zuordnung wird als genehmigt angelegt.

Wird eine Rolle erst nach dem Anlegen der Zuordnung privilegiert, bleibt die Zuordnung ungenehmigt: `approved_at` ist leer und die Rolle wird nicht gewährt. Der Provider genehmigt Zuordnungen nicht; legen Sie die Zuordnung mit einem Schlüssel neu an, der `roles:write` besitzt.

## Argumente

- `role_id` ist eine Umgebungsrolle oder eine Rolle der Organisation des Verzeichnisses; jede andere Rolle wird mit `422` (`unknown_role`) abgelehnt.
- `organization_id`, `role_privileged`, `approved_at`, `created_at` und `id` sind schreibgeschützt.

## Import

Importieren Sie mit der Verzeichnis-ID und der Zuordnungs-ID:

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