Create Key - Create Key
Tworzy nowy klucz, zapisuje go, a następnie zwraca kluczowe parametry i atrybuty do klienta.
Operacja tworzenia klucza może służyć do tworzenia dowolnego typu klucza w usłudze Azure Key Vault. Jeśli nazwany klucz już istnieje, usługa Azure Key Vault tworzy nową wersję klucza. Wymaga uprawnień kluczy/tworzenia.
POST {vaultBaseUrl}/keys/{key-name}/create?api-version=7.4
Parametry identyfikatora URI
Nazwa | W | Wymagane | Typ | Opis |
---|---|---|---|---|
key-name
|
path | True |
string |
Nazwa nowego klucza. System wygeneruje nazwę wersji dla nowego klucza. 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 |
---|---|---|---|
kty | True |
Typ klucza do utworzenia. Aby uzyskać prawidłowe wartości, zobacz JsonWebKeyType. |
|
attributes |
Atrybuty klucza zarządzanego przez usługę magazynu kluczy. |
||
crv |
Nazwa krzywej eliptycznej. Aby uzyskać prawidłowe wartości, zobacz JsonWebKeyCurveName. |
||
key_ops |
Operacje klucza internetowego JSON. Aby uzyskać więcej informacji, zobacz JsonWebKeyOperation. |
||
key_size |
integer |
Rozmiar klucza w bitach. Na przykład: 2048, 3072 lub 4096 dla RSA. |
|
public_exponent |
integer |
Publiczny wykładnik klucza RSA. |
|
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 |
Pakiet kluczy zawierający wynik żądania tworzenia klucza. |
|
Other Status Codes |
Key Vault odpowiedź o błędzie opisująca, dlaczego operacja nie powiodła się. |
Przykłady
Create key
Sample Request
POST https://myvault.vault.azure.net//keys/CreateSoftKeyTest/create?api-version=7.4
{
"kty": "RSA",
"key_size": 2048,
"key_ops": [
"encrypt",
"decrypt",
"sign",
"verify",
"wrapKey",
"unwrapKey"
],
"attributes": {},
"tags": {
"purpose": "unit test",
"test name ": "CreateGetDeleteKeyTest"
}
}
Sample Response
{
"key": {
"kid": "https://myvault.vault.azure.net/keys/CreateSoftKeyTest/78deebed173b48e48f55abf87ed4cf71",
"kty": "RSA",
"key_ops": [
"encrypt",
"decrypt",
"sign",
"verify",
"wrapKey",
"unwrapKey"
],
"n": "2HJAE5fU3Cw2Rt9hEuq-F6XjINKGa-zskfISVqopqUy60GOs2eyhxbWbJBeUXNor_gf-tXtNeuqeBgitLeVa640UDvnEjYTKWjCniTxZRaU7ewY8BfTSk-7KxoDdLsPSpX_MX4rwlAx-_1UGk5t4sQgTbm9T6Fm2oqFd37dsz5-Gj27UP2GTAShfJPFD7MqU_zIgOI0pfqsbNL5xTQVM29K6rX4jSPtylZV3uWJtkoQIQnrIHhk1d0SC0KwlBV3V7R_LVYjiXLyIXsFzSNYgQ68ZjAwt8iL7I8Osa-ehQLM13DVvLASaf7Jnu3sC3CWl3Gyirgded6cfMmswJzY87w",
"e": "AQAB"
},
"attributes": {
"enabled": true,
"created": 1493942451,
"updated": 1493942451,
"recoveryLevel": "Recoverable+Purgeable"
},
"tags": {
"purpose": "unit test",
"test name ": "CreateGetDeleteKeyTest"
}
}
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 http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18 |
Json |
Nazwa krzywej eliptycznej. Aby uzyskać prawidłowe wartości, zobacz JsonWebKeyCurveName. |
Json |
|
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 |
KluczBundle składający się z elementu WebKey i jego atrybutów. |
Key |
Klucz tworzy parametry. |
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 |
Określa 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 nieodwracalną operacją bez możliwości odzyskiwania. Ten poziom nie odpowiada działaniu ochrony przed operacją Usuwania; dane są nieodwracalnie utracone po zaakceptowaniu operacji Usuń 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 spowoduje trwałe usunięcie go po upływie 90 dni, jeśli nie zostanie odzyskane |
Recoverable+ProtectedSubscription |
string |
Określa magazyn i stan subskrypcji, w którym usunięcie można odzyskać w interwale przechowywania (90 dni), natychmiastowe i trwałe usunięcie (tj. przeczyszczenie) nie jest dozwolone i w którym sama subskrypcja nie może zostać trwale anulowana. System spowoduje trwałe usunięcie go po upływie 90 dni, jeśli nie zostanie odzyskane |
Recoverable+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). 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 spowoduje trwałe usunięcie go po upływie 90 dni, jeśli nie zostanie odzyskane |
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 http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18
Nazwa | Typ | Opis |
---|---|---|
crv |
Nazwa krzywej eliptycznej. Aby uzyskać prawidłowe wartości, zobacz 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 |
Publiczny wykładnik RSA. |
k |
string |
Klucz symetryczny. |
key_hsm |
string |
Klucz chroniony używany z kluczem "Bring Your Own Key". |
key_ops |
string[] |
Obsługiwane operacje klucza. |
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 |
Modulus 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 WE. |
y |
string |
Składnik Y klucza publicznego WE. |
JsonWebKeyCurveName
Nazwa krzywej eliptycznej. Aby uzyskać prawidłowe wartości, zobacz 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. |
JsonWebKeyOperation
Nazwa | Typ | Opis |
---|---|---|
decrypt |
string |
|
encrypt |
string |
|
export |
string |
|
import |
string |
|
sign |
string |
|
unwrapKey |
string |
|
verify |
string |
|
wrapKey |
string |
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 oktetu (używana do reprezentowania kluczy symetrycznych) |
oct-HSM |
string |
Sekwencja octet (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 tworzenia 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 wartość 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
KluczBundle składający się z elementu WebKey i jego atrybutów.
Nazwa | Typ | Opis |
---|---|---|
attributes |
Atrybuty zarządzania kluczami. |
|
key |
Klucz internetowy Json. |
|
managed |
boolean |
Prawda, jeśli okres istnienia klucza jest zarządzany przez magazyn kluczy. Jeśli jest to klucz kopii zapasowej certyfikatu, zarządzanie będzie prawdziwe. |
release_policy |
Reguły zasad, w ramach których można wyeksportować klucz. |
|
tags |
object |
Metadane specyficzne dla aplikacji w postaci par klucz-wartość. |
KeyCreateParameters
Klucz tworzy parametry.
Nazwa | Typ | Opis |
---|---|---|
attributes |
Atrybuty klucza zarządzanego przez usługę magazynu kluczy. |
|
crv |
Nazwa krzywej eliptycznej. Aby uzyskać prawidłowe wartości, zobacz JsonWebKeyCurveName. |
|
key_ops |
Operacje klucza internetowego JSON. Aby uzyskać więcej informacji, zobacz JsonWebKeyOperation. |
|
key_size |
integer |
Rozmiar klucza w bitach. Na przykład: 2048, 3072 lub 4096 dla RSA. |
kty |
Typ klucza do utworzenia. Aby uzyskać prawidłowe wartości, zobacz JsonWebKeyType. |
|
public_exponent |
integer |
Publiczny wykładnik klucza RSA. |
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 ramach których można zwolnić klucz. Obiekt blob musi być zakodowany w formacie base64 URL. |
|
immutable |
boolean |
Definiuje stan niezmienności zasad. Po oznaczeniu niezmiennym nie można zresetować tej flagi, a zasady nie mogą zostać zmienione w żadnym wypadku. |
KeyVaultError
Wyjątek błędu magazynu kluczy.
Nazwa | Typ | Opis |
---|---|---|
error |
Błąd serwera magazynu kluczy. |