keenauth_directory

keenauth_directory kaynağı bir organizasyon için SCIM 2.0 dizini oluşturur. Dizin, organizasyonun kimlik sağlayıcısının (Okta, Entra ID ve diğerleri) kullanıcı ve grupları sağladığı uç noktadır.

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 değeri https://<scim_host>/scim/v2/<id> biçimindedir. Kimlik sağlayıcıya bir SCIM token'ıyla birlikte verin.

Yerinde değişiklik ve yeniden oluşturma

name ve dizin ayarları yerinde değişir. Sağlayıcı yalnız değişen alanları taşıyan bir JSON birleştirme yaması ve son okumanın ETag değerini If-Match olarak gönderir; dizin bu okumadan sonra yapılandırma dışında değiştiyse API 412 döner, hiçbir şey değişmez ve plan'ı yeniden çalıştırırsınız. API dizini oluştururken ayar almaz; bu yüzden yapılandırdığınız ayarlar oluşturmanın hemen ardından aynı apply içinde uygulanır.

organization_id, scim_host ya da type değişirse dizin yeniden oluşturulur.

Ayarlar

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
  }
}
Ayar Değerler Varsayılan
provisioning_mode user_store (ortam kullanıcıları, organizasyon üyelikleri ve grup rolleri yazılır) ya da mirror (yalnız dizin kayıtları tutulur) user_store
attribute_allowlist Dizin kullanıcılarında saklanan en çok 40 isteğe bağlı SCIM özniteliği: title, usertype, phonenumbers ve kurumsal uzantı anahtarları boş
unverified_domain_action E-posta alan adı organizasyon için doğrulanmamış kullanıcı için invite ya da mirror_only invite
delete_action SCIM DELETE /Users için remove_membership ya da delete_user remove_membership
on_delete_memberships Dizin silinince dizinden gelen üyelikler için keep, suspend ya da remove keep
mass_deprovision_guard enabled, percent (5–50) ve absolute_min (10–1000); 5 dakika içinde ikisini de aşan pasifleştirmeler onaya bekletilir açık, 10, 25
send_welcome_email true ya da false: yeni dizin kullanıcılarına hesap etkinleştirme e-postası false

SCIM token'ları

SCIM token'ı bir sırdır. API onu dizini oluşturan yanıtta bir kez döndürür ve sonradan hiçbir uç nokta onu okuyamaz. Sağlayıcı onu durum dosyasına, plan dosyasına, çıktıya ya da loga hiçbir zaman yazmaz. Bu güvenceyi korumak ve kimsenin elinde olmayan geçerli bir kimlik bilgisi kalmaması için sağlayıcı, oluşturmanın döndürdüğü token'ı hemen iptal eder.

Kimlik sağlayıcınız için token'ı keenauth_directory_token ile oluşturun. Bu kaynak token'ı durum dosyasında yalnız RSA ortak anahtarınızla şifrelenmiş olarak tutar; siz onu özel anahtarınızla çözersiniz.

Sağlayıcı ilk token'ı iptal edemezse apply yine başarılı olur ve iptal komutunu (keenauth directories tokens delete <directory_id> <token_id>) içeren bir uyarı yazar.

Argümanlar

İçe aktarma

Dizin kimliğiyle içe aktarın:

tofu import keenauth_directory.acme_okta dir_01j9zq3v8c5m2x7k4t6r1n0b3d