Bağlantıya IdP imza sertifikası ekle

POST /v1/connections/{connection_id}/certificates · izin connections:write

Kurumsal SAML bağlantısına kimlik sağlayıcının bir imza sertifikasını ekler. Sertifikayı elle yüklemek ya da sertifika rotasyonu için kullanın: önce yeni sertifikayı ekleyin, kimlik sağlayıcıyı yeni sertifikaya geçirin, sonra eskisini silin. Rotasyon etkin bağlantıda da hemen uygulanır.

Sertifika tek bir PEM CERTIFICATE bloğudur (en çok 8 KiB). Süresi dolmamış olmalı ve en az 2048 bitlik RSA ya da ECDSA P-256, P-384 veya P-521 anahtarı taşımalıdır. Reddedilirse yanıt nedenini söylemez; ne neden ne de sertifikanın içeriği loglanır. Bir bağlantının en çok 3 etkin sertifikası olur. Bağlantıdan silinmiş bir sertifika yeniden eklenemez. İstek If-Match başlığı almaz. Yazma audit'e connection.idp_certificate_added olarak geçer.

İstek

Alan Tür Zorunlu Açıklama
connection_id yol evet Kurumsal SAML bağlantı kimliği (conn_…).
certificate string evet Tek PEM sertifika (-----BEGIN CERTIFICATE----- …), en çok 8 KiB.

Yanıt

Yeni sertifikayla 201 Created (bkz. Sertifikaları listele). Aynı sertifika bağlantıda zaten varsa yanıt kayıtlı sertifikayla 200 OK'dir; hiçbir şey yazılmaz ve audit'e geçmez.

{"id": "conncert_01j9xq2m4n6p8r0s2t4v6w8y0a", "sha256_fingerprint": "3b0c…", "not_before": "2026-01-01T00:00:00Z", "not_after": "2028-01-01T00:00:00Z", "source": "manual"}

Hatalar

HTTP code Ne zaman
404 not_found Bağlantı bu ortamda yok ya da kurumsal bağlantı değil.
409 conflict Bağlantı SAML bağlantısı değil, henüz SAML yapılandırması yok, zaten 3 etkin sertifikası var ya da sertifika daha önce bu bağlantıdan silindi.
422 validation_failed Sertifika eksik, çok büyük ya da kabul edilmedi; errors[] /certificate alanını gösterir. Staging ve production ortamları yerel sahte sunucunun herkese açık test anahtarını taşıyan sertifikayı da reddeder.
400 unknown_field Gövdede bilinmeyen bir alan var.
401 unauthenticated Kimlik bilgisi yok, geçersiz ya da iptal edilmiş.
403 insufficient_permissions Kimlik bilgisinde gerekli izin yok.
429 rate_limited Hız sınırı aşıldı; Retry-After süresinden sonra yeniden deneyin.
503 service_unavailable Bir bağımlılık geçici olarak kullanılamıyor; Retry-After süresinden sonra yeniden deneyin.

Örnek

jq -Rs '{certificate: .}' idp-signing.pem > cert.json
curl -X POST "https://api.eu.keenauth.com/v1/connections/conn_01j9xp6q0r1s5t7v9w1x3y5z7b/certificates" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d @cert.json
keenauth connections certificates add conn_01j9xp6q0r1s5t7v9w1x3y5z7b --certificate-file idp-signing.pem