你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Import Key - Import Key

导入外部创建的密钥,存储它,然后将密钥参数和属性返回给客户端。
导入密钥操作可用于将任何密钥类型导入 Azure 密钥保管库。 如果命名的密钥已存在,Azure 密钥保管库将创建该密钥的新版本。 此操作需要密钥/导入权限。

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

URI 参数

名称 必需 类型 说明
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 版本。

请求正文

名称 必需 类型 说明
key True

JsonWebKey

Json Web 密钥

Hsm

boolean

是作为硬件密钥 (HSM) 还是软件密钥导入。

attributes

KeyAttributes

密钥管理属性。

release_policy

KeyReleasePolicy

可以导出密钥的策略规则。

tags

object

键/值对形式的应用程序特定元数据。

响应

名称 类型 说明
200 OK

KeyBundle

已将密钥捆绑包导入到保管库。

Other Status Codes

KeyVaultError

密钥保管库描述操作失败原因的错误响应。

示例

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

定义

名称 说明
DeletionRecoveryLevel

反映当前保管库中密钥当前生效的删除恢复级别。 如果它包含“可清除”,则特权用户可以永久删除密钥;否则,只有系统可以在保留间隔结束时清除密钥。

Error

密钥保管库服务器错误。

JsonWebKey

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

JsonWebKeyCurveName

椭圆曲线名称。 有关有效值,请参阅 JsonWebKeyCurveName。

JsonWebKeyType

jsonWebKey 键类型 (kty) ,如 中 https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40定义。

KeyAttributes

密钥保管库服务管理的密钥的属性。

KeyBundle

由 WebKey 及其属性组成的 KeyBundle。

KeyImportParameters

键导入参数。

KeyReleasePolicy

可以导出密钥的策略规则。

KeyVaultError

密钥保管库错误异常。

DeletionRecoveryLevel

反映当前保管库中密钥当前生效的删除恢复级别。 如果它包含“可清除”,则特权用户可以永久删除密钥;否则,只有系统可以在保留间隔结束时清除密钥。

名称 类型 说明
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

密钥保管库服务器错误。

名称 类型 说明
code

string

错误代码。

innererror

Error

密钥保管库服务器错误。

message

string

错误消息。

JsonWebKey

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

名称 类型 说明
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 机密质数,带 p < q。

qi

string

RSA 私钥参数。

x

string

EC 公钥的 X 组件。

y

string

EC 公钥的 Y 组件。

JsonWebKeyCurveName

椭圆曲线名称。 有关有效值,请参阅 JsonWebKeyCurveName。

名称 类型 说明
P-256

string

NIST P-256 椭圆曲线,AKA SECG 曲线SECP256R1。

P-256K

string

SECG SECP256K1椭圆曲线。

P-384

string

NIST P-384 椭圆曲线,AKA SECG 曲线SECP384R1。

P-521

string

NIST P-521 椭圆曲线,AKA SECG 曲线SECP521R1。

JsonWebKeyType

jsonWebKey 键类型 (kty) ,如 中 https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40定义。

名称 类型 说明
EC

string

椭圆曲线。

EC-HSM

string

带存储在 HSM 中的私钥的椭圆曲线。

RSA

string

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

RSA-HSM

string

具有存储在 HSM 中的私钥的 RSA。

oct

string

八进制序列 (用于表示对称密钥)

oct-HSM

string

八进制序列 (用于表示存储在 HSM) 对称密钥。

KeyAttributes

密钥保管库服务管理的密钥的属性。

名称 类型 说明
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。

名称 类型 说明
attributes

KeyAttributes

密钥管理属性。

key

JsonWebKey

Json Web 密钥。

managed

boolean

如此 如果密钥的生存期由密钥保管库管理。 如果这是支持证书的密钥,则托管为 true。

release_policy

KeyReleasePolicy

可以导出密钥的策略规则。

tags

object

键/值对形式的应用程序特定元数据。

KeyImportParameters

键导入参数。

名称 类型 说明
Hsm

boolean

是作为硬件密钥 (HSM) 还是软件密钥导入。

attributes

KeyAttributes

密钥管理属性。

key

JsonWebKey

Json Web 密钥

release_policy

KeyReleasePolicy

可以导出密钥的策略规则。

tags

object

键/值对形式的应用程序特定元数据。

KeyReleasePolicy

可以导出密钥的策略规则。

名称 类型 默认值 说明
contentType

string

application/json; charset=utf-8

密钥发布策略的内容类型和版本

data

string

Blob 编码策略规则,可在其中释放密钥。 Blob 必须采用 base64 URL 编码。

immutable

boolean

定义策略的可变状态。 标记为不可变后,此标志不能重置,并且在任何情况下都不能更改策略。

KeyVaultError

密钥保管库错误异常。

名称 类型 说明
error

Error

密钥保管库服务器错误。