
# 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`)는 변경하면 매핑을 대체합니다. 프로바이더는 새로 고침할 때마다 디렉터리의 매핑 목록에서 매핑을 읽습니다. 프로바이더 밖에서 삭제된 매핑이나 디렉터리는 상태에서 제거되고 다시 계획됩니다.

## 권한이 있는 역할

권한이 있는 역할을 매핑하려면 `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
```
