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