不新建主账号密钥: 主账号密钥拥有账号的全部权限,一旦发生泄露,可能会影响整个账号内云资源的安全,因此强烈建议不使用主账号密钥进行程序开发。
使用最小化权限的子用户密钥: 建议为应用程序建立独立的IAM用户(“工作负载用户”或“服务账号”),为该IAM用户分配所需最小权限,并以用此用户的密钥进行程序开发。
工作负载用户和登录用户严格划分: 建议新建IAM用户时,明确IAM用户使用场景为运维人员登录使用或程序编程使用二者其一,避免登录用户可以创建密钥,也避免工作负载用户可被登录访问,从而避免运维人员管理不当导致密钥泄露或者误操作,也避免密钥因人员转岗或离职时随IAM用户一并清除。
程序长时间使用固定的密钥会增加密钥泄露带来的风险,建议定期对密钥进行轮换,最长轮换时间建议不超过90天。轮换时,建议在控制台上新建密钥并替换旧密钥,然后将旧密钥进行禁用。禁用密钥时,可以查看密钥的最近访问时间,以确保旧密钥已完全停止使用。建议密钥静置一定时间后再删除密钥,避免出现误判导致密钥删除而不可恢复的情况发生。
控制台中查看密钥最近访问时间:
当密钥超过90天未轮转时,系统会给出提示,建议您及时处理密钥:
切勿将API密钥写入代码中或存储在代码仓库中,以防止密钥跟随代码被共享;
避免将API密钥放置公开环境(如上传至GitHub);
建议对长时间不使用的密钥进行禁用与删除。