# 导入私钥 - ImportPrivateKey
#### 功能介绍
导入私钥到指定密钥对
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-dew/dew_02_0002.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-dew/dew_02_0308.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                             | 访问级别  | 资源类型（\*为必须）   | 条件键          | 别名                          | 依赖的授权项                                                                                                                                                                                    |
  |:---|:---|:---|:---|:---|:---|
  | 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](https://support.huaweicloud.com/api-dew/dew_02_0009.html)获取。 **约束限制：** 不涉及 **取值范围：** 以IAM服务接口返回值为准，字符长度32-32 **默认取值：** 不涉及 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。通过调用IAM服务查询用户Token接口获取（响应消息头中X-Subject-Token的值） **约束限制：** 不涉及 **取值范围：** IAM服务查询用户Token接口为准 **默认取值：** 不涉及 |
   
表3请求Body参数 
| 参数      | 是否必选 | 参数类型                                                                                         | 描述                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| keypair | 是    | [ImportPrivateKeyKeypairBean] object | **参数解释：** 待导入的密钥对信息 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
 表4ImportPrivateKeyKeypairBean 
| 参数             | 是否必选 | 参数类型                                                                                       | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| name           | 是    | String                                                                                     | **参数解释：** SSH密钥对的名称 **约束限制：** - 新创建的密钥对名称不能和已有密钥对的名称相同   - SSH密钥对名称由英文字母、数字、下划线、中划线组成，长度不能超过64个字节    **取值范围：** 不涉及 **默认取值：** 不涉及 |
| user_id        | 否    | String                                                                                     | **参数解释：** SSH密钥对所属的用户ID **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                    |
| key_protection | 是    | [ImportPrivateKeyProtection] object | **参数解释：** 导入密钥的托管与保护信息 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                     |
   
 表5ImportPrivateKeyProtection 
| 参数          | 是否必选 | 参数类型                                                       | 描述                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| private_key | 是    | String                                                     | **参数解释：** 导入SSH密钥对的私钥 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及  |
| encryption  | 是    | [Encryption] object | **参数解释：** 对私钥进行加密存储的方式 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
 表6Encryption 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| 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 | 一  |
   
 表8ImportPrivateKeyKeypairBean 
| 参数             | 参数类型                                                                                        | 描述                                                                                                                                                |
|:---|:---|:---|
| name           | String                                                                                      | **参数解释：** SSH密钥对的名称 **取值范围：** 不涉及     |
| user_id        | String                                                                                      | **参数解释：** SSH密钥对所属的用户ID **取值范围：** 不涉及 |
| key_protection | [ImportPrivateKeyProtection] object | **参数解释：** 导入密钥的托管与保护信息 **取值范围：** 不涉及  |
   
 表9ImportPrivateKeyProtection 
| 参数          | 参数类型                                                        | 描述                                                                                                                                               |
|:---|:---|:---|
| private_key | String                                                      | **参数解释：** 导入SSH密钥对的私钥 **取值范围：** 不涉及  |
| encryption  | [Encryption] object | **参数解释：** 对私钥进行加密存储的方式 **取值范围：** 不涉及 |
   
 表10Encryption 
| 参数           | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| type         | String | **参数解释：** 加密类型 **取值范围：** - "default"为默认加密方式，适用于没有kms服务的局点   - "kms"为采用kms服务加密方式    |
| kms_key_name | String | **参数解释：** kms密钥的名称 **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                       |
| kms_key_id   | String | **参数解释：** kms密钥的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 | 请求已成功 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-dew/ErrorCode.html)。
