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 merge patch を送信し、最後の読み取り時の 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