更新时间:2026-05-20 GMT+08:00
分享

导入私钥 - ImportPrivateKey

功能介绍

导入私钥到指定密钥对

调用方法

请参见如何调用API

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。

  • 如果使用角色与策略授权,具体权限要求请参见权限和授权项
  • 如果使用身份策略授权,需具备如下身份策略权限。

    授权项

    访问级别

    资源类型(*为必须)

    条件键

    别名

    依赖的授权项

    kps:SSHKeyPair:importPrivateKey

    Write

    SSHKeyPair *

    kps:KmsKeyId

    kps:domainKeypairs:importpk

    • kms:cmk:createDataKey
    • kms:cmk:list

URI

POST /v3/{project_id}/keypairs/private-key/import

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:

项目ID。可参考获取项目ID获取。

约束限制:

不涉及

取值范围:

以IAM服务接口返回值为准,字符长度32-32

默认取值:

不涉及

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

用户Token。通过调用IAM服务查询用户Token接口获取(响应消息头中X-Subject-Token的值)

约束限制:

不涉及

取值范围:

IAM服务查询用户Token接口为准

默认取值:

不涉及

表3 请求Body参数

参数

是否必选

参数类型

描述

keypair

ImportPrivateKeyKeypairBean object

参数解释:

待导入的密钥对信息

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表4 ImportPrivateKeyKeypairBean

参数

是否必选

参数类型

描述

name

String

参数解释:

SSH密钥对的名称

约束限制:

  • 新创建的密钥对名称不能和已有密钥对的名称相同

  • SSH密钥对名称由英文字母、数字、下划线、中划线组成,长度不能超过64个字节

取值范围:

不涉及

默认取值:

不涉及

user_id

String

参数解释:

SSH密钥对所属的用户ID

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

key_protection

ImportPrivateKeyProtection object

参数解释:

导入密钥的托管与保护信息

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表5 ImportPrivateKeyProtection

参数

是否必选

参数类型

描述

private_key

String

参数解释:

导入SSH密钥对的私钥

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

encryption

Encryption object

参数解释:

对私钥进行加密存储的方式

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表6 Encryption

参数

是否必选

参数类型

描述

type

String

参数解释:

加密类型

约束限制:

若局点没有kms服务,请填“default”

取值范围:

  • “default”为默认加密方式,适用于没有kms服务的局点

  • “kms”为采用kms服务加密方式

默认取值:

default

kms_key_name

String

参数解释:

kms密钥的名称

约束限制:

  • 若“type”为“kms”,则必须填入"kms_key_name"或"kms_key_id"

取值范围:

不涉及

默认取值:

不涉及

kms_key_id

String

参数解释:

kms密钥的ID

约束限制:

  • 若“type”为“kms”,则必须填入"kms_key_name"或"kms_key_id"

取值范围:

不涉及

默认取值:

不涉及

响应参数

状态码:200

表7 响应Body参数

参数

参数类型

描述

keypair

ImportPrivateKeyKeypairBean object

表8 ImportPrivateKeyKeypairBean

参数

参数类型

描述

name

String

参数解释:

SSH密钥对的名称

约束限制:

  • 新创建的密钥对名称不能和已有密钥对的名称相同

  • SSH密钥对名称由英文字母、数字、下划线、中划线组成,长度不能超过64个字节

取值范围:

不涉及

默认取值:

不涉及

user_id

String

参数解释:

SSH密钥对所属的用户ID

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

key_protection

ImportPrivateKeyProtection object

参数解释:

导入密钥的托管与保护信息

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表9 ImportPrivateKeyProtection

参数

参数类型

描述

private_key

String

参数解释:

导入SSH密钥对的私钥

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

encryption

Encryption object

参数解释:

对私钥进行加密存储的方式

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表10 Encryption

参数

参数类型

描述

type

String

参数解释:

加密类型

约束限制:

若局点没有kms服务,请填“default”

取值范围:

  • “default”为默认加密方式,适用于没有kms服务的局点

  • “kms”为采用kms服务加密方式

默认取值:

default

kms_key_name

String

参数解释:

kms密钥的名称

约束限制:

  • 若“type”为“kms”,则必须填入"kms_key_name"或"kms_key_id"

取值范围:

不涉及

默认取值:

不涉及

kms_key_id

String

参数解释:

kms密钥的ID

约束限制:

  • 若“type”为“kms”,则必须填入"kms_key_name"或"kms_key_id"

取值范围:

不涉及

默认取值:

不涉及

请求示例

{
  "keypair" : {
    "name" : "demo2",
    "key_protection" : {
      "private_key" : "-----BEGIN RSA PRIVATE KEY-----...",
      "encryption" : {
        "type" : "kms",
        "kms_key_name" : "kps/default"
      }
    }
  }
}

响应示例

状态码:200

请求已成功

{
  "keypair" : {
    "name" : "demo2"
  }
}

状态码

状态码

描述

200

请求已成功

错误码

请参见错误码

相关文档