密钥定期自动化轮换
场景描述
企业用户通常都会使用访问密钥(AK/SK)的方式对云上资源的进行API访问,但是访问密钥需要做到定期的自动轮换,以降低密钥泄露等潜在的安全风险。
本章节指导用户如何使用API调用的方式轮换访问密钥,您可进一步通过编程手段完成定期自动轮换工作。
总体思路
定期轮换访问密钥(AK/SK)时,步骤如下:
- 创建AK/SK;
- 查询您所有AK/SK的创建时间(或指定AK/SK的创建时间),判断使用时间是否需要轮换;
- 更换新的AK/SK。
- 删除需要轮换的AK/SK;
涉及的接口如下:
步骤1:创建永久AK/SK
URI:POST /v3.0/OS-CREDENTIAL/credentials
API文档详情请参见:创建永久访问密钥
API Explorer在线调试请参见:创建永久访问密钥
- 请求示例
POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/credentials
{ "credential": { "description": "IAMDescription", "user_id": "07609fb9358010e21f7bc003751..." } }
- 响应示例
{ "credential": { "access": "P83EVBZJMXCYTMUII...", "create_time": "2020-01-08T06:25:19.014028Z", "user_id": "07609fb9358010e21f7bc003751...", "description": "IAMDescription", "secret": "TTqAHPbhWorg9ozx8Dv9MUyzYnOKDppxzHt...", "status": "active" }
步骤2:查询AK/SK的创建时间(或查询指定AK/SK的创建时间)
- 查询所有AK/SK的创建时间。
URI:GET /v3.0/OS-CREDENTIAL/credentials
API文档详情请参见:查询所有永久访问密钥
API Explorer在线调试请参见: 查询所有永久访问密钥
- 请求示例
GET https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/credentials
2) 管理员查询IAM用户所有AK/SK的创建时间。(待查询的用户ID为:076…)
GET https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/credentials?user_id=076...
- 响应示例
{ "credentials": [ { "access": "LOSZM4YRVLKOY9E8X...", "create_time": "2020-01-08T06:26:08.123059Z", "user_id": "07609fb9358010e21f7bc0037...", "description": "", "status": "active" }, { "access": "P83EVBZJMXCYTMU...", "create_time": "2020-01-08T06:25:19.014028Z", "user_id": "07609fb9358010e21f7bc003751...", "description": "", "status": "active" } ] }
- 请求示例
- 查询指定AK/SK的创建时间。
URI:GET /v3.0/OS-CREDENTIAL/credentials/{access_key}
API文档详情请参见:查询指定永久访问密钥
API Explorer在线调试请参见:查询指定永久访问密钥
- 请求示例
GET https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/credentials/{access_key}
- 响应示例
{ "credential": { "last_use_time": "2020-01-08T06:26:08.123059Z", "access": "LOSZM4YRVLKOY9E8...", "create_time": "2020-01-08T06:26:08.123059Z", "user_id": "07609fb9358010e21f7bc00375....", "description": "", "status": "active" } }
- 请求示例
步骤3:更换新的AK/SK
更换新的AK/SK,请重复步骤1 创建永久AK/SK。
步骤4:删除需要轮换的AK/SK
URI:DELETE /v3.0/OS-CREDENTIAL/credentials/{access_key}
API文档详情请参见:删除指定永久访问密钥
API Explorer在线调试请参见:删除指定永久访问密钥
- 请求示例
DELETE https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/credentials/{access_key}