你当前正在访问 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: |
vault
|
path | True |
string |
保管库名称,例如 https://myvault.vault.azure.net。 |
api-version
|
query | True |
string |
客户端 API 版本。 |
请求正文
名称 | 必需 | 类型 | 说明 |
---|---|---|---|
key | True |
Json Web 密钥 |
|
Hsm |
boolean |
是作为硬件密钥 (HSM) 还是软件密钥导入。 |
|
attributes |
密钥管理属性。 |
||
release_policy |
可以导出密钥的策略规则。 |
||
tags |
object |
键/值对形式的应用程序特定元数据。 |
响应
名称 | 类型 | 说明 |
---|---|---|
200 OK |
已将密钥捆绑包导入到保管库。 |
|
Other Status Codes |
密钥保管库描述操作失败原因的错误响应。 |
示例
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"
}
}
定义
名称 | 说明 |
---|---|
Deletion |
反映当前保管库中密钥当前生效的删除恢复级别。 如果它包含“可清除”,则特权用户可以永久删除密钥;否则,只有系统可以在保留间隔结束时清除密钥。 |
Error |
密钥保管库服务器错误。 |
Json |
截至 http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18 |
Json |
椭圆曲线名称。 有关有效值,请参阅 JsonWebKeyCurveName。 |
Json |
jsonWebKey 键类型 (kty) ,如 中 https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40定义。 |
Key |
密钥保管库服务管理的密钥的属性。 |
Key |
由 WebKey 及其属性组成的 KeyBundle。 |
Key |
键导入参数。 |
Key |
可以导出密钥的策略规则。 |
Key |
密钥保管库错误异常。 |
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 |
密钥保管库服务器错误。 |
|
message |
string |
错误消息。 |
JsonWebKey
截至 http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18
名称 | 类型 | 说明 |
---|---|---|
crv |
椭圆曲线名称。 有关有效值,请参阅 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 |
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-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 |
反映当前保管库中密钥当前生效的删除恢复级别。 如果它包含“可清除”,则特权用户可以永久删除密钥;否则,只有系统可以在保留间隔结束时清除密钥。 |
|
updated |
integer |
上次更新时间(UTC)。 |
KeyBundle
由 WebKey 及其属性组成的 KeyBundle。
名称 | 类型 | 说明 |
---|---|---|
attributes |
密钥管理属性。 |
|
key |
Json Web 密钥。 |
|
managed |
boolean |
如此 如果密钥的生存期由密钥保管库管理。 如果这是支持证书的密钥,则托管为 true。 |
release_policy |
可以导出密钥的策略规则。 |
|
tags |
object |
键/值对形式的应用程序特定元数据。 |
KeyImportParameters
键导入参数。
名称 | 类型 | 说明 |
---|---|---|
Hsm |
boolean |
是作为硬件密钥 (HSM) 还是软件密钥导入。 |
attributes |
密钥管理属性。 |
|
key |
Json Web 密钥 |
|
release_policy |
可以导出密钥的策略规则。 |
|
tags |
object |
键/值对形式的应用程序特定元数据。 |
KeyReleasePolicy
可以导出密钥的策略规则。
名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
contentType |
string |
application/json; charset=utf-8 |
密钥发布策略的内容类型和版本 |
data |
string |
Blob 编码策略规则,可在其中释放密钥。 Blob 必须采用 base64 URL 编码。 |
|
immutable |
boolean |
定义策略的可变状态。 标记为不可变后,此标志不能重置,并且在任何情况下都不能更改策略。 |
KeyVaultError
密钥保管库错误异常。
名称 | 类型 | 说明 |
---|---|---|
error |
密钥保管库服务器错误。 |