
# keenauth_directory_role_mapping

`keenauth_directory_role_mapping` リソースは、SCIM ディレクトリのグループをロールにマッピングします。グループのメンバーは、ディレクトリの組織でそのロールを得ます。

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

## グループは ID プロバイダーから来る

ID プロバイダーが SCIM でグループをディレクトリにプロビジョニングするため、マッピングする前にグループが存在している必要があります。ディレクトリのグループは次のコマンドで一覧表示します:

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

ディレクトリにないグループは `422`（`unknown_group`）で拒否されます。グループはディレクトリごとに一度だけマッピングでき、ディレクトリのマッピングは最大 500 件です。

## 作成、読み取り、削除のみ

管理 API ではマッピングを変更できません。すべての引数（`directory_id`、`directory_group_id`、`role_id`）は、変更するとマッピングを置き換えます。プロバイダーは更新のたびにディレクトリのマッピング一覧からマッピングを読み取ります。プロバイダーの外で削除されたマッピングやディレクトリは、state から削除され、再度計画されます。

## 特権ロール

特権ロールをマッピングするには、`directories:write` に加えて `roles:write` を持つ API キーが必要です。ない場合、API は `403`（`privileged_role_mapping_forbidden`）で応答します。このようなマッピングは承認済みで作成されます。

マッピングの作成後にロールが特権ロールになった場合、マッピングは未承認のままです。`approved_at` は空で、ロールは付与されません。プロバイダーはマッピングを承認しません。`roles:write` を持つキーでマッピングを作成し直してください。

## 引数

- `role_id` は環境のロール、またはディレクトリの組織のロールです。それ以外のロールは `422`（`unknown_role`）で拒否されます。
- `organization_id`、`role_privileged`、`approved_at`、`created_at`、`id` は読み取り専用です。

## インポート

ディレクトリ ID とマッピング ID を指定してインポートします:

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