
# AK/SK认证
使用AK（Access Key ID）、SK（Secret Access Key）对请求进行签名。
- AK：访问密钥ID。与私有访问密钥关联的唯一标识符，访问密钥ID和私有访问密钥一起使用，对请求进行加密签名。
- SK：与访问密钥ID结合使用的密钥，对请求进行加密签名，可标识发送方，并防止请求被修改。
#### 生成AK、SK
如果已生成过AK/SK，则可跳过此步骤，找到原来已下载的AK/SK文件，文件名一般为：credentials.csv。
如下图所示，文件包含了租户名（User Name），AK（Access Key Id），SK（Secret Access Key）。
图1credential.csv文件内容   
![](https://support.huaweicloud.com/devg-apig/zh-cn_image_0000002189645238.png "点击放大")
**注意事项**：
1. 每个用户最多可创建**2** 个访问密钥，不支持增加配额。每个访问密钥权限相同，相互独立，包括一对AK/SK，有效期为永久，**每个访问密钥仅能下载一次**。为了账号安全性，建议您妥善保管并定期修改访问密钥。修改访问密钥的方法为删除旧访问密钥，然后重新生成。
2. 企业联邦用户不能创建访问密钥，但可以创建临时访问凭证（临时AK/SK和SecuritityToken），具体内容请参见：[临时访问密钥](https://support.huaweicloud.com/usermanual-ca/ca_01_0005.html)。
3. 如果您是IAM用户，请在"安全设置 \> 敏感操作 \> 访问密钥保护"确认所属账号是否开启**访问密钥保护** 。
   - **访问密钥保护**关闭时，所有IAM用户可以管理（包含创建、启用/停用或删除）自己的访问密钥。
   
   - **访问密钥保护**开启时，仅管理员可以管理用户的访问密钥。
    
4. 如果您无法管理您的访问密钥，请联系[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)：
   - 由管理员管理您的访问密钥，方法请参见：[管理IAM用户访问密钥](https://support.huaweicloud.com/usermanual-iam/iam_02_0003.html)。
   
   - 请管理员为您配置权限或修改访问密钥保护状态。如需配置权限请参见：[给IAM用户授权](https://support.huaweicloud.com/usermanual-iam/iam_01_0652.html)，如需修改访问密钥状态请参见：[访问密钥保护](https://support.huaweicloud.com/usermanual-iam/iam_07_0002.html#section3)。
    
5. 管理员可以在"用户详情"页面查看IAM用户的访问密钥ID（AK），秘密访问密钥（SK）由IAM用户自行保管。
**AK/SK生成步骤**：
1. 进入[控制台首页](https://console.huaweicloud.com/console/#/home)。

2. 将鼠标移至页面右上角的用户名处，在下拉列表中单击"我的凭证"。

3. 在左侧导航栏中，单击"访问密钥"。
4. 单击"新增访问密钥"，进入"新增访问密钥"页面。 
   为了保证历史兼容性，系统会使用访问密钥创建时间作为最近使用时间的初始值。在您使用该访问密钥时，系统将自动刷新最近使用时间。
   
   
5. 在弹窗的最下方，勾选"我理解上述建议，并希望继续创建访问密钥"，单击"下一步"。
6. 输入描述信息，单击"确定"。 
   - 在为账号用户创建访问密钥时，还需要进行身份验证，输入对应的验证码。
   
   - 如果开启了操作保护，在为IAM用户创建访问密钥时，也需要进行身份验证，输入对应的验证码。
   
   
   
   
7. 创建成功后，在"创建成功"弹窗中，单击"立即下载"下载密钥，并**妥善保管** 。
   
   您可以在访问密钥列表中查看访问密钥ID（AK），在下载的.csv文件中查看访问密钥（SK）。
   - 获取临时AK/SK，请参考[IAM接口文档](https://support.huaweicloud.com/api-iam/iam_04_0002.html)。
   
   - 请及时下载保存，弹窗关闭后将无法再次获取该密钥信息，但您可重新创建新的密钥。
   
   - 当您下载访问密钥后，可以在浏览器页面左下角打开格式为.csv的访问密钥文件，或在浏览器"下载内容"中打开。
   
   - 为了账号安全性，建议您妥善保管并定期修改访问密钥，修改访问密钥的方法为删除旧访问密钥，然后重新生成。
   
   
   
   
 
#### 生成签名
生成签名的方式和APP认证相同，用AK代替APP认证中的AppKey，SK替换APP认证中的AppSecret，即可完成签名和请求。您可使用[Java](https://support.huaweicloud.com/devg-apig/apig-dev-180307002.html)、[Go](https://support.huaweicloud.com/devg-apig/apig-dev-180307015.html)、[Python](https://support.huaweicloud.com/devg-apig/apig-dev-180307016.html)、[C#](https://support.huaweicloud.com/devg-apig/apig-dev-180307017.html)、[JavaScript](https://support.huaweicloud.com/devg-apig/apig-dev-180307018.html)、[PHP](https://support.huaweicloud.com/devg-apig/apig-dev-180521058.html)、[C++](https://support.huaweicloud.com/devg-apig/apig-dev-180813064.html)、[C](https://support.huaweicloud.com/devg-apig/apig-dev-180813065.html)、[Android](https://support.huaweicloud.com/devg-apig/apig-dev-180919068.html)进行签名和访问。
- **AK/SK认证的签名算法，推荐使用V11算法。用户也可以编辑实例参数[sign_algorithms](https://support.huaweicloud.com/usermanual-apig/apig_03_0039.html)修改签名算法，但是修改签名算法可能会影响存量业务，请谨慎修改。** sign_algorithms参数受限使用，如需使用，请[提交工单](https://support.huaweicloud.com/usermanual-ticket/zh-cn_topic_0127038618.html)申请。
  您可以通过以下对应语言使用V11算法生成签名的Demo进行签名认证。
  - [Java](https://support.huaweicloud.com/devg-apig/apig-dev-180307002.html#apig-dev-180307002__zh-cn_topic_0147226171_section17783814506)的验证签名SDK的demo代码：WebSocketDemoV11.java、OkHttpDemoV11.java、LargeFileUploadDemoV11.java、HttpClientDemoV11.java。
  
  - [Go](https://support.huaweicloud.com/devg-apig/apig-dev-180307015.html#apig-dev-180307015__zh-cn_topic_0147226172_section17783814506)的验证签名SDK的demo代码：demo_v11.go。
  
  - [Python](https://support.huaweicloud.com/devg-apig/apig-dev-180307016.html#apig-dev-180307016__zh-cn_topic_0147226247_section17783814506)的验证签名SDK的demo代码：demo_v11.py。
  
  - [C++](https://support.huaweicloud.com/devg-apig/apig-dev-180813064.html#apig-dev-180813064__zh-cn_topic_0147226251_section17783814506)的验证签名SDK的demo代码：demoV11.cpp。
   
- **客户端须注意本地时间与时钟服务器的同步，避免请求消息头X-Sdk-Date的值出现较大误差。**
- **API网关（即API管理）除了校验时间格式外，还会校验该时间值与网关收到请求的时间差，如果时间差大于15分钟，API网关将拒绝请求。**
 
