Azure Key Vault REST API-hibakódok
A következő hibakódokat egy Azure Key Vault-webszolgáltatáson végzett művelet visszaadhatja.
HTTP 401: Nem hitelesített kérés
A 401 azt jelenti, hogy a kérés nincs hitelesítve a Key Vault esetében.
A kérelem hitelesítése a következő esetekben történik:
- A kulcstartó ismeri a hívó identitását; és
- A hívó megkísérelhet hozzáférni a Key Vault erőforrásaihoz.
A kérések több okból is visszatérhetnek a 401-hez.
Nincs hitelesítési jogkivonat csatolva a kérelemhez
Íme egy példa PUT-kérés, amely egy titkos kód értékét állítja be:
PUT https://putreqexample.vault.azure.net//secrets/DatabaseRotatingPassword?api-version=7.0 HTTP/1.1
x-ms-client-request-id: 03d275a2-52a4-4bed-82c8-6fe15165affb
accept-language: en-US
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5iQ3dXMTF3M1hrQi14VWFYd0tSU0xqTUhHUSIsImtpZCI6Im5iQ3dXMTF3M1hrQi14VWFYd0tSU0xqTUhHUSJ9.eyJhdWQiOiJodHRwczovL3ZhdWx0LmF6dXJlLm5ldCIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0LzcyZjk4OGJmLTg2ZjEtNDFhZi05MWFiLTJkN2NkMDExZGI0Ny8iLCJpYXQiOjE1NDg2OTc1MTMsIm5iZiI6MTU0ODY5NzUxMywiZXhwIjoxNTQ4NzAxNDEzLCJhaW8iOiI0MkpnWUhoODVqaVBnZHF5ZlRGZE5TdHY3bGUvQkFBPSIsImFwcGlkIjoiZmFkN2Q1YjMtNjlkNi00YjQ4LTkyNTktOGQxMjEyNGUxY2YxIiwiYXBwaWRhY3IiOiIxIiwiaWRwIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3LyIsIm9pZCI6IjM5NzVhZWVkLTdkMDgtNDUzYi1iNmY0LTQ0NWYzMjY5ODA5MSIsInN1YiI6IjM5NzVhZWVkLTdkMDgtNDUzYi1iNmY0LTQ0NWYzMjY5ODA5MSIsInRpZCI6IjcyZjk4OGJmLTg2ZjEtNDFhZi05MWFiLTJkN2NkMDExZGI0NyIsInV0aSI6IjItZ3JoUmtlSWs2QmVZLUxuNDJtQUEiLCJ2ZXIiOiIxLjAifQ.fgubiz1MKqTJTXI8dHIV7t9Fle6FdHrkaGYKcBeVRX1WtLVuk1QVxzIFDlZKLXJ7QPNs0KWpeiWQI9IWIRK-8wO38yCqKTfDlfHOiNWGOpkKddlG729KFqakVf2w0GPyGPFCONRDAR5wjQarN9Bt8I8YbHwZQz_M1hztlnv-Lmsk1jBmech9ujD9-lTMBmSfFFbHcqquev119V7sneI-zxBZLf8C0pIDkaXf1t8y6Xr8CUJDMdlWLslCf3pBCNIOy65_TyGvy4Z4AJryTPBarNBPwOkNAtjCfZ4BDc2KqUZM5QN_VK4foP64sVzUL6mSr0Gh7lQJIL5b1qIpJxjxyQ
User-Agent: FxVersion/4.7.3324.0 OSName/Windows OSVersion/6.2.9200.0 Microsoft.Azure.KeyVault.KeyVaultClient/3.0.3.0
Content-Type: application/json; charset=utf-8
Host: putreqexample.vault.azure.net
Content-Length: 31
{
"value": "m*gBJ7$Zuoz)"
}
Az "Engedélyezés" fejléc az adatsík-műveletekhez szükséges hozzáférési jogkivonat a Key Vault minden hívásához. Ha a fejléc hiányzik, a válasznak 401-nek kell lennie.
A jogkivonat nem rendelkezik a hozzá társított megfelelő erőforrással
Amikor hozzáférési jogkivonatot kér az Azure OAUTH-végponttól, kötelező az "erőforrás" nevű paraméter. Az érték azért fontos a jogkivonat-szolgáltató számára, mert a jogkivonatot a kívánt használatra terjed ki. A Key Vault eléréséhez szükséges összes jogkivonat erőforrása https://vault.keyvault.net (perjel nélkül).
A jogkivonat lejárt
A jogkivonatok base64 kódolásúak, és az értékek dekódolhatók olyan webhelyeken, mint a http://jwt.calebb.net. Íme a fenti jogkivonat dekódolva:
{
typ: "JWT",
alg: "RS256",
x5t: "nbCwW11w3XkB-xUaXwKRSLjMHGQ",
kid: "nbCwW11w3XkB-xUaXwKRSLjMHGQ"
}.
{
aud: "https://vault.azure.net",
iss: "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/",
iat: 1548697513,
nbf: 1548697513,
exp: 1548701413,
aio: "42JgYHh85jiPgdqyfTFdNStv7le/BAA=",
appid: "fad7d5b3-69d6-4b48-9259-8d12124e1cf1",
appidacr: "1",
idp: "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/",
oid: "3975aeed-7d08-453b-b6f4-445f32698091",
sub: "3975aeed-7d08-453b-b6f4-445f32698091",
tid: "72f988bf-86f1-41af-91ab-2d7cd011db47",
uti: "2-grhRkeIk6BeY-Ln42mAA",
ver: "1.0"
}.
[signature]
Ebben a jogkivonatban számos fontos rész látható:
- aud (célközönség): A jogkivonat erőforrása. Figyelje meg, hogy ez .
https://vault.azure.net
Ez a jogkivonat NEM fog működni minden olyan erőforrás esetében, amely nem felel meg explicit módon ennek az értéknek, például a gráfnak. - iat (kibocsátva): A jelölések száma a jogkivonat kiállítása óta eltelt idő kezdete óta.
- nbf (nem korábban): A token érvényessé válása óta eltelt időjelek száma.
- exp (lejárat): A token lejárata óta eltelt idő óta eltelt időjelek száma.
- appid (alkalmazásazonosító): A kérést küldő alkalmazásazonosító GUID azonosítója.
- tid (bérlőazonosító): A kérést küldő tag bérlőazonosítójának GUID azonosítója
Fontos, hogy a jogkivonatban az összes érték megfelelően legyen azonosítva, hogy a kérés működjön. Ha minden helyes, akkor a kérés nem 401-et eredményez.
Hibaelhárítás 401
A 401-eket a jogkivonat-létrehozási ponttól kell megvizsgálni, mielőtt a kérés a kulcstartóba kerül. A jogkivonatot általában kóddal kérik le. A jogkivonat fogadása után a rendszer átadja azt a Key Vault-kérésnek. Ha a kód helyileg fut, a Fiddler használatával rögzítheti a kérést/választ https://login.microsoftonline.com
. A kérések a következőképpen néznek ki:
POST https://login.microsoftonline.com/<key vault tenant ID>/oauth2/token HTTP/1.1
Accept: application/json
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Host: login.microsoftonline.com
Content-Length: 192
resource=https%3A%2F%2Fvault.azure.net&client_id=<registered-app-ID>&client_secret=<registered-app-secret>&client_info=1&grant_type=client_credentials
A felhasználó által megadott adatoknak helyesnek kell lenniük:
- A Key Vault bérlőazonosítója
- Az erőforrás értéke https%3A%2F%2Fvault.azure.net (URL-kódolt)
- Ügyfél azonosítója
- Titkos ügyfélkód
Győződjön meg arról, hogy a többi kérelem majdnem azonos.
Ha csak a válaszelérési jogkivonatot tudja lekérni, dekódolhatja a bérlőazonosító, az ügyfélazonosító (alkalmazásazonosító) és az erőforrás ellenőrzéséhez.
HTTP 403: Nem megfelelő engedélyek
A HTTP 403 azt jelenti, hogy a kérelem hitelesítése megtörtént (ismeri a kérelmező identitását), de az identitás nem rendelkezik engedéllyel a kért erőforrás eléréséhez. Két oka van:
- Az identitáshoz nincs hozzáférési szabályzat.
- A kérést kérő erőforrás IP-címe nincs jóváhagyva a kulcstartó tűzfalbeállításaiban.
A HTTP 403 gyakran akkor fordul elő, ha az ügyfél alkalmazása nem az ügyfél által vélt ügyfélazonosítót használja. Ez általában azt jelenti, hogy a hozzáférési szabályzatok nincsenek megfelelően beállítva a tényleges hívó identitáshoz.
Ha egy identitás hozzáférési szabályzathoz való hozzáadása után azonnal 403-at kap, azt rendszeres újrapróbálkozással kezelheti.
Hibaelhárítás 403
Először kapcsolja be a naplózást. Ennek módjáról az Azure Key Vault naplózásában olvashat.
A naplózás bekapcsolása után megállapíthatja, hogy a 403-at hozzáférési szabályzat vagy tűzfalszabályzat okozza-e.
Tűzfalszabályzat miatti hiba
"Az ügyfél címe (00.00.00.00) nincs engedélyezve, és a hívó nem megbízható szolgáltatás"
Az "Azure Trusted Services" korlátozott listája van. Az Azure-webhelyek nem megbízható Azure-szolgáltatások. További információkért tekintse meg a Megbízható szolgáltatások blogbejegyzést.
Ahhoz, hogy működjön, hozzá kell adnia az Azure-webhely IP-címét a Key Vaulthoz.
Ha hozzáférési szabályzat miatt: keresse meg a kérés objektumazonosítóját, és győződjön meg arról, hogy az objektumazonosító megegyezik azzal az objektummal, amelyhez a felhasználó hozzáférési szabályzatot próbál hozzárendelni. A Microsoft Entra-azonosítóban gyakran több objektum is szerepel, amelyeknek ugyanaz a neve, ezért fontos a megfelelő objektum kiválasztása. A hozzáférési szabályzat törlésével és olvasásával megállapíthatja, hogy több objektum létezik-e ugyanazzal a névvel.
Emellett a legtöbb hozzáférési szabályzat nem igényli az "Engedélyezett alkalmazás" használatát a portálon látható módon. Az engedélyezett alkalmazásokat "nevében" hitelesítési forgatókönyvekhez használják, amelyek ritkán fordulnak elő.
HTTP 429: Túl sok kérés
Szabályozás akkor történik, ha a kérések száma meghaladja az adott időszakra vonatkozóan megadott maximumot. Ha szabályozás következik be, a Key Vault a HTTP 429 választ adja vissza. A kérelmek típusaihoz megadott maximális értékek vannak meghatározva. Például: egy 2048 bites HSM-kulcs létrehozása 10 kérés 10 másodpercenként, de minden más HSM-tranzakció legfeljebb 2000 kérelem/10 másodperc lehet. Ezért fontos tisztában lenni azzal, hogy a szabályozás okának meghatározásakor milyen típusú hívásokat bonyolítanak le. A Key Vaultba irányuló kérelmek általában 4000 kérésre/10 másodpercre korlátozódnak. A kivételek a Key Vault szolgáltatáskorlátjaiban dokumentált kulcsműveletek
429-es hibaelhárítása
A szabályozás a következő módszerekkel kerülhető meg:
Csökkentse a Key Vaultnak küldött kérések számát. Ehhez állapítsa meg, hogy vannak-e minták egy kért erőforrás tekintetében, és próbálja meg a hívó alkalmazásban gyorsítótárazni a mintákat.
A Key Vault szabályozása esetén a kérő kódot úgy alakítsa át, hogy exponenciális visszalépést használjon az újrapróbálkozáshoz. Az algoritmus leírása: Az alkalmazás szabályozása
Ha a kérések száma nem csökkenthető gyorsítótárazással, és az időzített visszalépés nem működik, fontolja meg a kulcsok felosztását több kulcstartóba. A szolgáltatások maximális száma egy előfizetésben az ötszöröse az egyes Key Vaultok korlátjának. Ha ötnél több Key Vaultot használ, érdemes megfontolni több előfizetés használatát.
Részletes útmutatás, beleértve a korlátok növelésére irányuló kérést is, itt található: Key Vault szabályozási útmutató