更新时间:2024-11-18 GMT+08:00

密钥定期自动化轮换

场景描述

企业用户通常都会使用访问密钥(AK/SK)的方式对云上资源的进行API访问,但是访问密钥需要做到定期的自动轮换,以降低密钥泄露等潜在的安全风险。

本章节指导用户如何使用API调用的方式轮换访问密钥,您可进一步通过编程手段完成定期自动轮换工作。

前提条件

账号管理员操作其他IAM用户的访问密钥时,需要拥有Security Administrator权限,IAM用户操作自己的访问密钥无需任何权限。

总体思路

定期轮换访问密钥(AK/SK)时,步骤如下:

  1. 创建AK/SK;
  2. 查询您所有AK/SK的创建时间(或指定AK/SK的创建时间),判断使用时间是否需要轮换;
  3. 更换新的AK/SK。
  4. 删除需要轮换的AK/SK;

涉及的接口如下:

步骤1:创建永久AK/SK

URI:POST /v3.0/OS-CREDENTIAL/credentials

API文档详情请参见:创建永久访问密钥

  • 请求示例
    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文档详情请参见:查询所有永久访问密钥

    • 请求示例

      1) IAM用户查询自己所有AK/SK的创建时间。

      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文档详情请参见:查询指定永久访问密钥

    • 请求示例
      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文档详情请参见:删除指定永久访问密钥

  • 请求示例
    DELETE https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/credentials/{access_key}
  • 响应示例

    该接口无返回体,状态码为204表示删除成功。