keenauth_directory

keenauth_directory 리소스는 조직의 SCIM 2.0 디렉터리를 생성합니다. 디렉터리는 조직의 ID 공급자(Okta, Entra ID 등)가 사용자와 그룹을 프로비저닝하는 엔드포인트입니다.

resource "keenauth_directory" "acme_okta" {
  organization_id = keenauth_organization.acme.id
  name            = "Okta"
  scim_host       = "acme.eu.keenauth.app"
}

output "scim_base_url" {
  value = keenauth_directory.acme_okta.base_url
}

base_url은 https://<scim_host>/scim/v2/<id> 형식입니다. 이 값을 SCIM 토큰과 함께 ID 공급자에 전달하십시오.

인플레이스 변경과 교체

name과 디렉터리 설정은 인플레이스로 변경됩니다. 프로바이더는 변경된 필드만 포함한 JSON 병합 패치와 마지막 읽기 시점의 ETag를 If-Match로 전송합니다. 마지막 읽기 이후 이 구성 외부에서 디렉터리가 변경되었다면 API가 412를 응답하고 아무것도 변경되지 않으므로, plan을 다시 실행하십시오. API는 디렉터리를 생성할 때 설정을 받지 않으므로, 구성한 설정은 생성 직후 같은 apply에서 적용됩니다.

organization_id, scim_host 또는 type을 변경하면 디렉터리가 교체됩니다.

설정

resource "keenauth_directory" "acme_okta" {
  organization_id = keenauth_organization.acme.id
  name            = "Okta"
  scim_host       = "acme.eu.keenauth.app"

  provisioning_mode   = "user_store"
  attribute_allowlist = ["title", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:user:department"]
  delete_action       = "remove_membership"

  mass_deprovision_guard = {
    percent      = 20
    absolute_min = 50
  }
}
설정 값 기본값
provisioning_mode user_store(환경 사용자, 조직 멤버십, 그룹 역할이 기록됨) 또는 mirror(디렉터리 레코드만 보관됨) user_store
attribute_allowlist 디렉터리 사용자에 보관할 선택적 SCIM 속성 최대 40개: title, usertype, phonenumbers 및 엔터프라이즈 확장 키 비어 있음
unverified_domain_action invite 또는 mirror_only. 이메일 도메인이 조직에서 인증되지 않은 사용자에 적용됨 invite
delete_action remove_membership 또는 delete_user. SCIM DELETE /Users 요청에 적용됨 remove_membership
on_delete_memberships keep, suspend 또는 remove. 디렉터리 삭제 시 디렉터리에서 생성된 멤버십에 적용됨 keep
mass_deprovision_guard enabled, percent(5~50) 및 absolute_min(10~1000). 5분 이내 디프로비저닝 건수가 두 기준을 모두 넘으면 승인 대기 상태로 보류됨 켜짐, 10, 25
send_welcome_email true 또는 false. 새 디렉터리 사용자에게 계정 활성화 이메일을 보냄 false

SCIM 토큰

SCIM 토큰은 비밀 값입니다. API는 디렉터리를 생성하는 응답에서 한 번만 토큰을 반환하며, 이후에는 어떤 엔드포인트로도 읽을 수 없습니다. 프로바이더는 토큰을 state, plan 파일, 출력값, 로그 어디에도 기록하지 않습니다. 이 보장을 유지하고, 아무도 보유하지 않은 유효한 자격 증명이 남지 않도록 프로바이더는 생성 시 반환된 초기 토큰을 즉시 해지합니다.

ID 공급자용 토큰은 keenauth_directory_token으로 생성하십시오. 이 리소스는 토큰을 사용자의 RSA 공개 키로 암호화된 상태로만 state에 보관하며, 사용자는 개인 키로 복호화할 수 있습니다.

프로바이더가 초기 토큰을 해지하지 못하더라도 apply는 성공하며, 토큰을 해지하는 명령(keenauth directories tokens delete <directory_id> <token_id>)과 함께 경고를 출력합니다.

인수

가져오기

디렉터리 ID로 가져옵니다:

tofu import keenauth_directory.acme_okta dir_01j9zq3v8c5m2x7k4t6r1n0b3d