Megosztás a következőn keresztül:


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ó