共用方式為


Create Key - Create Key

建立新的金鑰、加以儲存,然後將金鑰參數和屬性傳回至用戶端。
建立金鑰作業可用來在 Azure 金鑰保存庫 中建立任何密鑰類型。 如果指定的金鑰已存在,Azure 金鑰保存庫會建立該金鑰的新版本。 它需要金鑰/建立許可權。

POST {vaultBaseUrl}/keys/{key-name}/create?api-version=7.4

URI 參數

名稱 位於 必要 類型 Description
key-name
path True

string

新索引鍵的名稱。 系統會產生新金鑰的版本名稱。 您可以全域複製您提供的值,以便執行服務。 提供的值不應包含可識別個人的資訊或敏感性資訊。

Regex pattern: ^[0-9a-zA-Z-]+$

vaultBaseUrl
path True

string

儲存庫名稱,例如 https://myvault.vault.azure.net

api-version
query True

string

用戶端 API 版本。

要求本文

名稱 必要 類型 Description
kty True

JsonWebKeyType

要建立的金鑰類型。 如需有效值,請參閱 JsonWebKeyType。

attributes

KeyAttributes

金鑰保存庫服務所管理的金鑰屬性。

crv

JsonWebKeyCurveName

橢圓曲線名稱。 如需有效值,請參閱 JsonWebKeyCurveName。

key_ops

JsonWebKeyOperation[]

JSON Web 金鑰作業。 如需詳細資訊,請參閱 JsonWebKeyOperation。

key_size

integer

金鑰的大小 (以位元為單位)。 例如:RSA 2048、3072 或 4096。

public_exponent

integer

RSA 金鑰的公開指數。

release_policy

KeyReleasePolicy

可匯出金鑰的原則規則。

tags

object

以機碼/值組的形式應用程式特定元數據。

回應

名稱 類型 Description
200 OK

KeyBundle

包含建立金鑰要求結果的金鑰組合。

Other Status Codes

KeyVaultError

金鑰保存庫 錯誤回應,描述作業失敗的原因。

範例

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"
  }
}

定義

名稱 Description
DeletionRecoveryLevel

反映目前在目前保存庫中金鑰生效的刪除復原層級。 如果它包含「可清除」,則特殊許可權使用者可以永久刪除密鑰;否則,只有系統可以在保留間隔結束時清除密鑰。

Error

金鑰儲存庫伺服器錯誤。

JsonWebKey

http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18

JsonWebKeyCurveName

橢圓曲線名稱。 如需有效值,請參閱 JsonWebKeyCurveName。

JsonWebKeyOperation
JsonWebKeyType

JsonWebKey 索引鍵類型 (kty) ,如 中所 https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40定義。

KeyAttributes

金鑰保存庫服務所管理之金鑰的屬性。

KeyBundle

由 WebKey 及其屬性組成的 KeyBundle。

KeyCreateParameters

金鑰建立參數。

KeyReleasePolicy

可匯出金鑰的原則規則。

KeyVaultError

金鑰保存庫錯誤例外狀況。

DeletionRecoveryLevel

反映目前在目前保存庫中金鑰生效的刪除復原層級。 如果它包含「可清除」,則特殊許可權使用者可以永久刪除密鑰;否則,只有系統可以在保留間隔結束時清除密鑰。

名稱 類型 Description
CustomizedRecoverable

string

表示可復原刪除的保存庫狀態,而無法立即和永久刪除 (亦即當 7<= SoftDeleteRetentionInDays < 90) 時清除。此層級保證在保留間隔期間和訂用帳戶仍可使用時,已刪除實體的復原能力。

CustomizedRecoverable+ProtectedSubscription

string

表示保存庫和訂用帳戶狀態,也就是不允許刪除、立即和永久刪除 (,也就是不允許清除) ,而且當 7<= SoftDeleteRetentionInDays < 90 時,訂用帳戶本身便無法永久取消。 此層級保證在保留間隔期間刪除的實體可復原性,也會反映無法取消訂閱本身的事實。

CustomizedRecoverable+Purgeable

string

表示可復原刪除的保存庫狀態,也允許立即和永久刪除 (亦即當 7<= SoftDeleteRetentionInDays < 90) 時清除。 除非要求清除作業或取消訂閱,否則此層級保證在保留間隔期間已刪除實體的復原能力。

Purgeable

string

表示保存庫狀態,其中刪除是無法復原的作業,而不會有復原的可能性。 此層級對應至無法用於刪除作業的保護;接受實體層級或更高 (保存庫、資源群組、訂用帳戶等刪除作業時,數據會無法復原。)

Recoverable

string

表示可復原刪除的保存庫狀態,而無法立即和永久刪除 (亦即清除) 。 此層級保證刪除實體在保留間隔期間 (90 天) 且訂閱仍可供使用時復原。 系統會在 90 天后永久刪除,如果未復原

Recoverable+ProtectedSubscription

string

表示保存庫和訂用帳戶狀態,其中刪除可在保留間隔內復原, (90 天) 、立即和永久刪除 (亦即不允許清除) ,以及訂用帳戶本身無法永久取消。 系統會在 90 天后永久刪除,如果未復原

Recoverable+Purgeable

string

表示可復原刪除的保存庫狀態,也允許立即和永久刪除 (亦即清除) 。 此層級保證刪除實體在保留間隔期間 (90 天) 的復原能力,除非要求清除作業,或取消訂閱。 系統會在 90 天后永久刪除,如果未復原

Error

金鑰儲存庫伺服器錯誤。

名稱 類型 Description
code

string

錯誤碼。

innererror

Error

金鑰儲存庫伺服器錯誤。

message

string

錯誤訊息。

JsonWebKey

http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18

名稱 類型 Description
crv

JsonWebKeyCurveName

橢圓曲線名稱。 如需有效值,請參閱 JsonWebKeyCurveName。

d

string

RSA 私人指數或 EC 私鑰的 D 元件。

dp

string

RSA 私密金鑰參數。

dq

string

RSA 私密金鑰參數。

e

string

RSA 公用指數。

k

string

對稱金鑰。

key_hsm

string

受保護的金鑰,與「攜帶您自己的金鑰」搭配使用。

key_ops

string[]

支援的金鑰作業。

kid

string

金鑰識別碼。

kty

JsonWebKeyType

JsonWebKey 索引鍵類型 (kty) ,如 中所 https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40定義。

n

string

RSA 模數。

p

string

RSA 秘密質數。

q

string

RSA secret prime, with p < q.

qi

string

RSA 私密金鑰參數。

x

string

EC 公鑰的 X 元件。

y

string

EC 公鑰的 Y 元件。

JsonWebKeyCurveName

橢圓曲線名稱。 如需有效值,請參閱 JsonWebKeyCurveName。

名稱 類型 Description
P-256

string

NIST P-256 橢圓曲線,也稱為 SECG 曲線SECP256R1。

P-256K

string

SECG SECP256K1橢圓曲線。

P-384

string

NIST P-384 橢圓曲線,也稱為 SECG 曲線SECP384R1。

P-521

string

NIST P-521 橢圓曲線,也稱為 SECG 曲線SECP521R1。

JsonWebKeyOperation

名稱 類型 Description
decrypt

string

encrypt

string

export

string

import

string

sign

string

unwrapKey

string

verify

string

wrapKey

string

JsonWebKeyType

JsonWebKey 索引鍵類型 (kty) ,如 中所 https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40定義。

名稱 類型 Description
EC

string

橢圓曲線。

EC-HSM

string

具有儲存在 HSM 中的私鑰的橢圓曲線。

RSA

string

RSA (https://tools.ietf.org/html/rfc3447)

RSA-HSM

string

RSA 具有儲存在 HSM 中的私鑰。

oct

string

八進位序列 (用來表示對稱密鑰)

oct-HSM

string

八位序列 (用來表示儲存 HSM 之對稱金鑰) 。

KeyAttributes

金鑰保存庫服務所管理之金鑰的屬性。

名稱 類型 Description
created

integer

以 UTC 為單位的建立時間。

enabled

boolean

判斷物件是否已啟用。

exp

integer

UTC 的到期日。

exportable

boolean

指出是否可以匯出私鑰。 建立可匯出密鑰的第一個版本時,必須提供發行原則。

nbf

integer

不在UTC的日期之前。

recoverableDays

integer

softDelete 數據保留天數。 啟用 softDelete 時,值應為 =7 和 <=90,否則為 >0。

recoveryLevel

DeletionRecoveryLevel

反映目前在目前保存庫中金鑰生效的刪除復原層級。 如果它包含「可清除」,則特殊許可權使用者可以永久刪除密鑰;否則,只有系統可以在保留間隔結束時清除密鑰。

updated

integer

上次以UTC為單位的更新時間。

KeyBundle

由 WebKey 及其屬性組成的 KeyBundle。

名稱 類型 Description
attributes

KeyAttributes

金鑰管理屬性。

key

JsonWebKey

Json Web 金鑰。

managed

boolean

如果金鑰的存留期是由金鑰保存庫管理,則為 True。 如果這是備份憑證的密鑰,則 Managed 會是 true。

release_policy

KeyReleasePolicy

可匯出金鑰的原則規則。

tags

object

以機碼/值組形式的應用程式特定元數據。

KeyCreateParameters

金鑰建立參數。

名稱 類型 Description
attributes

KeyAttributes

金鑰保存庫服務所管理之金鑰的屬性。

crv

JsonWebKeyCurveName

橢圓曲線名稱。 如需有效值,請參閱 JsonWebKeyCurveName。

key_ops

JsonWebKeyOperation[]

JSON Web 金鑰作業。 如需詳細資訊,請參閱 JsonWebKeyOperation。

key_size

integer

金鑰的大小 (以位元為單位)。 例如:RSA 2048、3072 或 4096。

kty

JsonWebKeyType

要建立的金鑰類型。 如需有效值,請參閱 JsonWebKeyType。

public_exponent

integer

RSA 金鑰的公開指數。

release_policy

KeyReleasePolicy

可匯出金鑰的原則規則。

tags

object

以機碼/值組形式的應用程式特定元數據。

KeyReleasePolicy

可匯出金鑰的原則規則。

名稱 類型 預設值 Description
contentType

string

application/json; charset=utf-8

金鑰發行原則的內容類型和版本

data

string

Blob 編碼可釋放密鑰的原則規則。 Blob 必須是base64 URL編碼。

immutable

boolean

定義原則的可變動性狀態。 一旦標示為不可變,就無法重設此旗標,而且在任何情況下都無法變更原則。

KeyVaultError

金鑰保存庫錯誤例外狀況。

名稱 類型 Description
error

Error

金鑰儲存庫伺服器錯誤。