VaultPilot’ın herkese açık entegrasyon istemcileri, onaylı sistemler için salt okunur kimliklerdir. Bu istemciler yalnızca şifreli kasa anlık görüntülerini ve işletimsel durum meta verisini alır. Herkese açık API düz metin parola, ana parola, şifresi çözülmüş kasa içeriği veya sunucunun gizli anahtar malzemesini döndürmez.
İstemcileri, yalnızca Sahip (Owner) rolüne açık Entegrasyonlar > API istemcileri ekranından oluşturun. İstemci kimliği pmc_, istemci sırrı pms_ ile başlar; sır yalnızca bir kez gösterilir ve sunucuda yalnızca özeti saklanır. Sırrı kaybederseniz yeni bir istemci oluşturun ve eskisini iptal edin.
v1 uç noktaları yalnızca GET isteğiyle okunur. İstek gövdesi göndermeyin. Gövde içeren istekleri sunucu, kimlik bilgilerine bakmadan reddeder.
Kimlik doğrulama yöntemleri
Yeni entegrasyonlarda HTTP Basic kimlik doğrulaması kullanın:
Authorization: Basic ${BASE64_CLIENT_CREDENTIALS}
Eski istemciler için uyumluluk üst bilgileri çalışır:
x-passman-client-id: <CLIENT_ID>
x-passman-client-secret: <CLIENT_SECRET>
Bu üst bilgilerin hiçbirini günlüğe yazmayın. Gerçek istemci kimliklerini, istemci sırlarını, şifreli içerikleri, kasa kimliklerini veya sır kimliklerini ekran görüntülerine, dokümanlara ya da destek yazışmalarına yapıştırmayın. Biçimi bozuk kimlik bilgileri hemen reddedilir.
Kapsamlar ve uç noktalar
| Kapsam | Uç nokta | Yanıt |
|---|---|---|
SECRETS_READ | GET /api/public/v1/secrets | API istemcisine atanmış kasaların şifreli kasa ve sır anlık görüntüleri. |
SECRETS_READ | GET /api/public/v1/secrets/{secretId} | Atanmış kasaların anlık görüntüsünden tek bir şifreli sır. Rotadaki kimlik UUID olmalıdır. |
SERVER_STATUS_READ | GET /api/public/v1/server/status | Uygulama sürümü, çalışma süresi, kasa sayısı, etkin API istemcisi sayısı ve dizin sağlayıcısı sayısı. |
DIRECTORY_STATUS_READ | GET /api/public/v1/directory/status | Dizin sağlayıcılarının sağlığı, nesne sayıları, seçili giriş ve kimlik bilgisi sayıları, son görülme ve eşitleme zamanları. |
UPDATE_STATUS_READ | GET /api/public/v1/updates/status | Salt okunur izleme için Güncelleme Merkezi durumu. |
SECRETS_READ için en az bir kasa atanmış olmalıdır. Yalnızca durum izleyen istemcileri kasa atamadan oluşturabilirsiniz.
PowerShell ile örnek istekler
Basic kimlik doğrulamalı PowerShell örneği:
$pair = "<CLIENT_ID>:<CLIENT_SECRET>"
$basic = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($pair))
Invoke-RestMethod -Headers @{ Authorization = "Basic $basic" } -Uri "https://<SERVER_HOST>:1734/api/public/v1/server/status"
Uyumluluk üst bilgileriyle örnek:
Invoke-RestMethod `
-Headers @{
"x-passman-client-id" = "<CLIENT_ID>"
"x-passman-client-secret" = "<CLIENT_SECRET>"
} `
-Uri "https://<SERVER_HOST>:1734/api/public/v1/secrets"
Paylaşacağınız örneklerde yer tutucu kullanın; gerçek değerler yalnızca API’yi kullanan sistemin onaylı sır deposunda durmalıdır. Gerçek $pair veya $basic değerleri içeren komutları yalnızca size ait, özel bir kabukta çalıştırın.
Şifreli anlık görüntü yanıtı
Sır anlık görüntüsü yanıtları şifresi çözülmüş kayıtlar içermez; şifreli içerik döner:
{
"mode": "ENCRYPTED_SNAPSHOT",
"vaults": [
{
"id": "<VAULT_ID>",
"nameEncrypted": "<ENCRYPTED_VAULT_NAME>",
"secrets": [
{
"id": "<SECRET_ID>",
"type": "LOGIN",
"payloadEncrypted": "<ENCRYPTED_PAYLOAD>",
"updatedAt": "<ISO_TIMESTAMP>"
}
]
}
]
}
Durum uç noktaları yalnızca işletimsel meta veri döndürür ve kasa içeriğinin şifresini çözmez.
Yanıt kodları ve hata durumları
API yanıtları Cache-Control: no-store içerir; tarayıcılar ve aradaki sunucular anlık görüntüleri önbelleğe almaz. v1 uç noktaları her istekte güncel veriyi okur ve dakikada en fazla 120 istek kabul eder.
| Durum | Anlamı | Yapmanız gereken |
|---|---|---|
200 | İstemcinin kimliği doğrulandı ve istenen salt okunur uç noktaya yetkisi var. | Şifreli anlık görüntüyü veya durum meta verisini kullanın. |
401 | İstemci kimliği veya sırrı eksik, biçimi bozuk, yanlış ya da iptal edilmiş. | Yeni bir istemci oluşturun, API’yi kullanan sistemi güncelleyin ve eski istemciyi iptal edin. |
403 | İstemcide gerekli kapsam, kasa ataması veya sır yetkisi yok. | Kapsamı, kasa atamasını ve hedeflediğiniz uç noktayı doğrulayın. Biçimi bozuk, silinmiş veya izin verilen kasa listesi dışındaki sırlar için yapılan sorgular 403 Integration authorization failed. döndürür. |