Import Key - Import Key
Importuje zewnętrznie utworzony klucz, przechowuje go i zwraca kluczowe parametry i atrybuty do klienta.
Operacja klucza importu może służyć do importowania dowolnego typu klucza do usługi Azure Key Vault. Jeśli nazwany klucz już istnieje, usługa Azure Key Vault utworzy nową wersję klucza. Ta operacja wymaga uprawnień do kluczy/importu.
PUT {vaultBaseUrl}/keys/{key-name}?api-version=7.4
Parametry identyfikatora URI
Nazwa | W | Wymagane | Typ | Opis |
---|---|---|---|---|
key-name
|
path | True |
string |
Nazwa zaimportowanych kluczy. Wartość, którą podajesz, może zostać skopiowana globalnie na potrzeby uruchamiania usługi. Podana wartość nie powinna zawierać danych osobowych ani poufnych. Regex pattern: |
vault
|
path | True |
string |
Nazwa magazynu, na przykład https://myvault.vault.azure.net. |
api-version
|
query | True |
string |
Wersja interfejsu API klienta. |
Treść żądania
Nazwa | Wymagane | Typ | Opis |
---|---|---|---|
key | True |
Klucz internetowy JSON |
|
Hsm |
boolean |
Czy importować jako klucz sprzętowy (HSM) lub klucz oprogramowania. |
|
attributes |
Atrybuty zarządzania kluczami. |
||
release_policy |
Reguły zasad, w ramach których można wyeksportować klucz. |
||
tags |
object |
Metadane specyficzne dla aplikacji w postaci par klucz-wartość. |
Odpowiedzi
Nazwa | Typ | Opis |
---|---|---|
200 OK |
Zaimportowany pakiet kluczy do magazynu. |
|
Other Status Codes |
Key Vault odpowiedzi na błąd opisujący, dlaczego operacja nie powiodła się. |
Przykłady
Import key
Sample Request
PUT https://myvault.vault.azure.net//keys/ImportSoftKeyTest?api-version=7.4
{
"key": {
"kty": "RSA",
"n": "nKAwarTrOpzd1hhH4cQNdVTgRF-b0ubPD8ZNVf0UXjb62QuAk3Dn68ESThcF7SoDYRx2QVcfoMC9WCcuQUQDieJF-lvJTSer1TwH72NBovwKlHvrXqEI0a6_uVYY5n-soGt7qFZNbwQLdWWA6PrbqTLIkv6r01dcuhTiQQAn6OWEa0JbFvWfF1kILQIaSBBBaaQ4R7hZs7-VQTHGD7J1xGteof4gw2VTiwNdcE8p5UG5b6S9KQwAeET4yB4KFPwQ3TDdzxJQ89mwYVi_sgAIggN54hTq4oEKYJHBOMtFGIN0_HQ60ZSUnpOi87xNC-8VFqnv4rfTQ7nkK6XMvjMVfw",
"e": "AQAB",
"d": "GeT1_D5LAZa7qlC7WZ0DKJnOth8kcPrN0urTEFtWCbmHQWkAad_px_VUpGp0BWDDzENbXbQcu4QCCdf4crve5eXt8dVI86OSah-RpEdBq8OFsETIhg2Tmq8MbYTJexoynRcIC62xAaCmkFMmu931gQSvWnYWTEuOPgmD2oE_F-bP9TFlGRc69a6MSbtcSRyFTsd5KsUr40QS4zf2W4kZCOWejyLuxk88SXgUqcJx86Ulc1Ol1KkTBLadvReAZCyCMwKBlNRGw46BU_iK0vK7rTD9fmEd639Gjti6eLpnyQYpnVe8uGgwVU1fHBkAKyapWoEG6VMhMntcrvgukKLIsQ",
"dp": "ZGnmWx-Nca71z9a9vvT4g02iv3S-3kSgmhl8JST09YQwK8tfiK7nXnNMtXJi2K4dLKKnLicGtCzB6W3mXdLcP2SUOWDOeStoBt8HEBT4MrI1psCKqnBum78WkHju90rBFj99amkP6UeQy5EASAzgmKQu2nUaUnRV0lYP8LHMCkE",
"dq": "dtpke0foFs04hPS6XYLA5lc7-1MAHfZKN4CkMAofwDqPmRQzCxpDJUk0gMWGJEdU_Lqfbg22Py44cci0dczH36NW3UU5BL86T2_SPPDOuyX7kDscrIJCdowxQCGJHGRBEozM_uTL46wu6UnUIv7m7cuGgodJyZBcdwpo6ziFink",
"qi": "Y9KD5GaHkAYmAqpOfAQUMr71QuAAaBb0APzMuUvoEYw39PD3_vJeh9HZ15QmJ8zCX10-nlzUB-bWwvK-rGcJXbK4pArilr5MiaYv7e8h5eW2zs2_itDJ6Oebi-wVbMhg7DvUTBbkCvPhhIedE4UlDQmMYP7RhzVVs7SfmkGs_DQ",
"p": "v1jeCPnuJQM2PW2690Q9KJk0Ulok8VFGjkcHUHVi3orKdy7y_TCIWM6ZGvgFzI6abinzYbTEPKV4wFdMAwvOWmawXj5YrsoeB44_HXJ0ak_5_iP6XXR8MLGXbd0ZqsxvAZyzMj9vyle7EN2cBod6aenI2QZoRDucPvjPwZsZotk",
"q": "0Yv-Dj6qnvx_LL70lUnKA6MgHE_bUC4drl5ZNDDsUdUUYfxIK4G1rGU45kHGtp-Qg-Uyf9s52ywLylhcVE3jfbjOgEozlSwKyhqfXkLpMLWHqOKj9fcfYd4PWKPOgpzWsqjA6fJbBUMYo0CU2G9cWCtVodO7sBJVSIZunWrAlBc"
},
"tags": {
"purpose": "unit test"
}
}
Sample Response
{
"key": {
"kid": "https://myvault.vault.azure.net/keys/ImportSoftKeyTest/2eb4a15d74184c6f84159c3ca90f0f4b",
"kty": "RSA",
"key_ops": [
"encrypt",
"decrypt",
"sign",
"verify",
"wrapKey",
"unwrapKey"
],
"n": "nKAwarTrOpzd1hhH4cQNdVTgRF-b0ubPD8ZNVf0UXjb62QuAk3Dn68ESThcF7SoDYRx2QVcfoMC9WCcuQUQDieJF-lvJTSer1TwH72NBovwKlHvrXqEI0a6_uVYY5n-soGt7qFZNbwQLdWWA6PrbqTLIkv6r01dcuhTiQQAn6OWEa0JbFvWfF1kILQIaSBBBaaQ4R7hZs7-VQTHGD7J1xGteof4gw2VTiwNdcE8p5UG5b6S9KQwAeET4yB4KFPwQ3TDdzxJQ89mwYVi_sgAIggN54hTq4oEKYJHBOMtFGIN0_HQ60ZSUnpOi87xNC-8VFqnv4rfTQ7nkK6XMvjMVfw",
"e": "AQAB"
},
"attributes": {
"enabled": true,
"created": 1493942691,
"updated": 1493942691,
"recoveryLevel": "Recoverable+Purgeable"
},
"tags": {
"purpose": "unit test"
}
}
Definicje
Nazwa | Opis |
---|---|
Deletion |
Odzwierciedla obecnie poziom odzyskiwania usuwania dla kluczy w bieżącym magazynie. Jeśli zawiera on element "Przeczyszczalny", klucz może zostać trwale usunięty przez uprzywilejowanego użytkownika; w przeciwnym razie tylko system może przeczyścić klucz na końcu interwału przechowywania. |
Error |
Błąd serwera magazynu kluczy. |
Json |
Od dnia http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18 |
Json |
Nazwa krzywej eliptycznej. Prawidłowe wartości można znaleźć w temacie JsonWebKeyCurveName. |
Json |
Typ klucza JsonWebKey (kty), zgodnie z definicją w pliku https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40. |
Key |
Atrybuty klucza zarządzanego przez usługę magazynu kluczy. |
Key |
Element KeyBundle składający się z elementu WebKey oraz jego atrybutów. |
Key |
Kluczowe parametry importu. |
Key |
Reguły zasad, w ramach których można wyeksportować klucz. |
Key |
Wyjątek błędu magazynu kluczy. |
DeletionRecoveryLevel
Odzwierciedla obecnie poziom odzyskiwania usuwania dla kluczy w bieżącym magazynie. Jeśli zawiera on element "Przeczyszczalny", klucz może zostać trwale usunięty przez uprzywilejowanego użytkownika; w przeciwnym razie tylko system może przeczyścić klucz na końcu interwału przechowywania.
Nazwa | Typ | Opis |
---|---|---|
CustomizedRecoverable |
string |
Określa stan magazynu, w którym można odzyskać usunięcie bez możliwości natychmiastowego i trwałego usunięcia (tj. przeczyszczania, gdy 7< = SoftDeleteRetentionInDays < 90). Ten poziom gwarantuje możliwość odzyskania usuniętej jednostki w okresie przechowywania i gdy subskrypcja jest nadal dostępna. |
CustomizedRecoverable+ProtectedSubscription |
string |
Oznacza, że magazyn i stan subskrypcji, w którym usunięcie jest możliwe do odzyskania, natychmiastowe i trwałe usunięcie (tj. przeczyszczenie) jest niedozwolone i w którym sama subskrypcja nie może zostać trwale anulowana, gdy 7< = SoftDeleteRetentionInDays < 90. Ten poziom gwarantuje możliwość odzyskania usuniętej jednostki w okresie przechowywania, a także odzwierciedla fakt, że sama subskrypcja nie może zostać anulowana. |
CustomizedRecoverable+Purgeable |
string |
Określa stan magazynu, w którym można odzyskać usunięcie, a także zezwala na natychmiastowe i trwałe usunięcie (tj. przeczyszczanie, gdy 7< = SoftDeleteRetentionInDays < 90). Ten poziom gwarantuje możliwość odzyskania usuniętej jednostki w okresie przechowywania, chyba że zażądano operacji przeczyszczania lub subskrypcja zostanie anulowana. |
Purgeable |
string |
Określa stan magazynu, w którym usunięcie jest operacją nieodwracalną, bez możliwości odzyskiwania. Ten poziom nie odpowiada działaniu ochrony przed operacją Usuwania; dane są nieodwracalnie utracone po zaakceptowaniu operacji Usuwania na poziomie jednostki lub wyższym (magazyn, grupa zasobów, subskrypcja itp.) |
Recoverable |
string |
Określa stan magazynu, w którym można odzyskać usunięcie bez możliwości natychmiastowego i trwałego usunięcia (tj. przeczyszczania). Ten poziom gwarantuje możliwość odzyskania usuniętej jednostki w okresie przechowywania (90 dni) i gdy subskrypcja jest nadal dostępna. System zostanie trwale usunięty po 90 dniach, jeśli nie zostanie odzyskany |
Recoverable+ProtectedSubscription |
string |
Określa magazyn i stan subskrypcji, w którym usunięcie można odzyskać w okresie przechowywania (90 dni), natychmiastowe i trwałe usunięcie (tj. przeczyszczenie) jest niedozwolone i w którym sama subskrypcja nie może zostać trwale anulowana. System zostanie trwale usunięty po 90 dniach, jeśli nie zostanie odzyskany |
Recoverable+Purgeable |
string |
Określa stan magazynu, w którym można odzyskać usunięcie, a także umożliwia natychmiastowe i trwałe usunięcie (tj. przeczyszczenie). Ten poziom gwarantuje możliwość odzyskania usuniętej jednostki w okresie przechowywania (90 dni), chyba że zażądano operacji przeczyszczania lub subskrypcja zostanie anulowana. System zostanie trwale usunięty po 90 dniach, jeśli nie zostanie odzyskany |
Error
Błąd serwera magazynu kluczy.
Nazwa | Typ | Opis |
---|---|---|
code |
string |
Kod błędu. |
innererror |
Błąd serwera magazynu kluczy. |
|
message |
string |
Komunikat o błędzie. |
JsonWebKey
Od dnia http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18
Nazwa | Typ | Opis |
---|---|---|
crv |
Nazwa krzywej eliptycznej. Prawidłowe wartości można znaleźć w temacie JsonWebKeyCurveName. |
|
d |
string |
Prywatny wykładnik RSA lub składnik D klucza prywatnego EC. |
dp |
string |
Parametr klucza prywatnego RSA. |
dq |
string |
Parametr klucza prywatnego RSA. |
e |
string |
Wykładnik publiczny RSA. |
k |
string |
Klucz symetryczny. |
key_hsm |
string |
Klucz chroniony używany z ciągiem "Bring Your Own Key". |
key_ops |
string[] |
Obsługiwane operacje kluczy. |
kid |
string |
Identyfikator klucza. |
kty |
Typ klucza JsonWebKey (kty), zgodnie z definicją w pliku https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40. |
|
n |
string |
Modulo RSA. |
p |
string |
RSA secret prime. |
q |
string |
RSA secret prime, z p < q. |
qi |
string |
Parametr klucza prywatnego RSA. |
x |
string |
Składnik X klucza publicznego EC. |
y |
string |
Składnik Y klucza publicznego WE. |
JsonWebKeyCurveName
Nazwa krzywej eliptycznej. Prawidłowe wartości można znaleźć w temacie JsonWebKeyCurveName.
Nazwa | Typ | Opis |
---|---|---|
P-256 |
string |
Krzywa eliptyczna NIST P-256, krzywa AKA SECG SECP256R1. |
P-256K |
string |
Krzywa eliptyczna SECG SECP256K1. |
P-384 |
string |
Krzywa eliptyczna NIST P-384, krzywa AKA SECG SECP384R1. |
P-521 |
string |
Krzywa eliptyczna NIST P-521, krzywa AKA SECG SECP521R1. |
JsonWebKeyType
Typ klucza JsonWebKey (kty), zgodnie z definicją w pliku https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40.
Nazwa | Typ | Opis |
---|---|---|
EC |
string |
Krzywa eliptyczna. |
EC-HSM |
string |
Krzywa eliptyczna z kluczem prywatnym przechowywanym w module HSM. |
RSA |
string |
|
RSA-HSM |
string |
RSA z kluczem prywatnym przechowywanym w module HSM. |
oct |
string |
Sekwencja oktetów (używana do reprezentowania kluczy symetrycznych) |
oct-HSM |
string |
Sekwencja oktetów (używana do reprezentowania kluczy symetrycznych), która jest przechowywana w module HSM. |
KeyAttributes
Atrybuty klucza zarządzanego przez usługę magazynu kluczy.
Nazwa | Typ | Opis |
---|---|---|
created |
integer |
Czas utworzenia w formacie UTC. |
enabled |
boolean |
Określa, czy obiekt jest włączony. |
exp |
integer |
Data wygaśnięcia w formacie UTC. |
exportable |
boolean |
Wskazuje, czy klucz prywatny można wyeksportować. Zasady wydania należy podać podczas tworzenia pierwszej wersji klucza możliwego do wyeksportowania. |
nbf |
integer |
Nie wcześniej niż data w formacie UTC. |
recoverableDays |
integer |
softDelete data retention days (dni przechowywania danych softDelete). Wartość powinna mieć >wartość =7 i <=90, gdy funkcja softDelete jest włączona, w przeciwnym razie 0. |
recoveryLevel |
Odzwierciedla obecnie poziom odzyskiwania usuwania dla kluczy w bieżącym magazynie. Jeśli zawiera on element "Przeczyszczalny", klucz może zostać trwale usunięty przez uprzywilejowanego użytkownika; w przeciwnym razie tylko system może przeczyścić klucz na końcu interwału przechowywania. |
|
updated |
integer |
Czas ostatniej aktualizacji w formacie UTC. |
KeyBundle
Element KeyBundle składający się z elementu WebKey oraz jego atrybutów.
Nazwa | Typ | Opis |
---|---|---|
attributes |
Atrybuty zarządzania kluczami. |
|
key |
Klucz internetowy Json. |
|
managed |
boolean |
Wartość True, jeśli okres istnienia klucza jest zarządzany przez magazyn kluczy. Jeśli jest to klucz kopii zapasowej certyfikatu, zarządzany będzie mieć wartość true. |
release_policy |
Reguły zasad, w ramach których można wyeksportować klucz. |
|
tags |
object |
Metadane specyficzne dla aplikacji w postaci par klucz-wartość. |
KeyImportParameters
Kluczowe parametry importu.
Nazwa | Typ | Opis |
---|---|---|
Hsm |
boolean |
Czy importować jako klucz sprzętowy (HSM) lub klucz oprogramowania. |
attributes |
Atrybuty zarządzania kluczami. |
|
key |
Klucz internetowy JSON |
|
release_policy |
Reguły zasad, w ramach których można wyeksportować klucz. |
|
tags |
object |
Metadane specyficzne dla aplikacji w postaci par klucz-wartość. |
KeyReleasePolicy
Reguły zasad, w ramach których można wyeksportować klucz.
Nazwa | Typ | Wartość domyślna | Opis |
---|---|---|---|
contentType |
string |
application/json; charset=utf-8 |
Typ zawartości i wersja zasad wydania klucza |
data |
string |
Kodowanie obiektów blob reguł zasad, w których można zwolnić klucz. Obiekt blob musi być zakodowany w formacie base64 URL. |
|
immutable |
boolean |
Definiuje stan niezmienności zasad. Po oznaczeniu niezmienialnej flagi nie można zresetować i nie można zmienić zasad w żadnych okolicznościach. |
KeyVaultError
Wyjątek błędu magazynu kluczy.
Nazwa | Typ | Opis |
---|---|---|
error |
Błąd serwera magazynu kluczy. |