keenauth_connection_oidc_config
keenauth_connection_oidc_config kaynağı, kurumsal bir OIDC bağlantısının taraf (relying party) yapılandırmasını ayarlar: kimlik sağlayıcının veren (issuer) bilgisi, orada kayıtlı istemci kimliği, istemci kimlik doğrulama yöntemi, sağlayıcı profili ve istemci gizli anahtarı.
İstemci gizli anahtarı yalnızca yazılabilirdir
client_secret_wo yalnızca yazılabilir bir argümandır. Sağlayıcı bunu API'ye gönderir, state veya plan dosyalarına asla yazmaz ve API bunu hiçbir zaman geri döndürmez. Yalnızca yazılabilir argümanlar için OpenTofu 1.11 veya Terraform 1.11 ya da daha yeni bir sürüm gerekir. Daha eski bir sürüm, hiçbir şey gönderilmeden yapılandırmayı reddeder; bu durumda gizli anahtarı bunun yerine keenauth connections oidc put ile ayarlayın.
Gizli anahtarı geçici bir değişkenden verin; böylece OpenTofu onu plana da kaydetmez:
variable "corp_idp_client_secret" {
type = string
sensitive = true
ephemeral = true
}
resource "keenauth_connection" "corp" {
key = "corp-oidc"
type = "enterprise"
strategy = "oidc"
name = "corp-oidc"
}
resource "keenauth_connection_oidc_config" "corp" {
connection_id = keenauth_connection.corp.id
sp_host = "acme.eu.keenauth.app"
issuer = "https://login.idp.example.com"
client_id = "keenauth-rp"
client_auth_method = "client_secret_basic"
client_secret_wo = var.corp_idp_client_secret
client_secret_wo_version = 1
}
redirect_uri (https://<sp_host>/sso/<connection_id>/callback) adresini kimlik sağlayıcıda kaydedin. Kimlik sağlayıcınız destekliyorsa client_auth_method = "private_key_jwt" seçeneğini tercih edin: ortamın anahtarı istemci onayını imzalar ve hiç gizli anahtar kalmaz.
Anahtar döndürme
Sağlayıcı gizli anahtarı geri okuyamaz, dolayısıyla değişikliğini göremez. Kaynak oluşturulduğunda ve client_secret_wo_version her değiştiğinde client_secret_wo değerini gönderir. Döndürmek için yeni gizli anahtarı yerine koyun ve sürümü aynı değişiklikte artırın.
client_secret_expires_at, kimlik sağlayıcının gizli anahtarı ne zaman geçersiz kılacağının bir hatırlatıcısıdır. API bunu yalnızca gizli anahtarla birlikte yazar; bu nedenle onu sürümle aynı değişiklikte değiştirin.
Plan zamanında kontrol edilen kurallar
| Kural | Neden |
|---|---|
client_secret_wo, private_key_jwt ile kullanılamaz. |
Bu yöntem gizli anahtar kullanmaz; bu yönteme geçmek, saklanan gizli anahtarı siler. |
Bir client_secret_* yöntemi, oluşturmada client_secret_wo gerektirir; gizli anahtar saklı değilse yeni bir sürüm de gerekir. |
Kimlik sağlayıcı belirteç isteğini reddeder. |
sp_host, ilk yazmadan sonra değiştirilemez. |
Geri çağırma adresi, yapılandırma ilk kez yazıldığında sabitlenir. |
provider_profile = "entra" ile entra_tenant_id zorunludur ve yalnızca bu durumda izin verilir. |
API kuralı. |
client_secret_expires_at, tam saniyeli UTC biçimindedir; örneğin 2027-01-31T00:00:00Z. |
API bunu bu biçimde döndürür; başka bir biçim her planda fark gösterir. |
İçe aktarma ve yok etme
Bağlantı kimliğiyle içe aktarın. API sp_host, entra_tenant_id veya gizli anahtarı döndürmediği için bir sonraki plan, yapılandırmanızın değerleriyle yapılandırmayı bir kez yazar.
API'de bu yapılandırma için bir silme işlemi yoktur. Kaynağı yok etmek yalnızca state'ten kaldırır; yapılandırma, bağlantısıyla birlikte silinir.