公有云厂商
阿里云
阿里云Access Key

什么是Access Key

为了保障云主机的安全性,阿里云在API调用时均需要验证访问者的身份,以确保访问者具有相关权限。这种验证方式通过Access Key来实现,Access Key由阿里云颁发给云主机的所有者,它由Access Key ID和Access Key Secret构成。

获取阿里云的Access Key

请注意,这里是以阿里云主账号的维度来介绍如何获取Access Key,如果您使用RAM子账号,请阅读:RAM子账号如何获取Access Key

1、登录您的阿里云管理控制台,鼠标移入页面右上角个人信息,展开面板,选择里面的“accesskeys”,或者您也可以直接登录访问 https://ak-console.aliyun.com

2、进入AccessKeys管理界面,查看您的AccessKey列表,如果当前列表为空,您也可以创建一个(创建过程省略);

3、Access Key Secret默认不显示,点击“显示”链接,阿里云将向您的联系人手机发送一个验证码,验证通过后,您将能看到Access Key Secret。

图中1为:Access Key ID,2为:Access Key Secret;

如何获取阿里云的账号ID

阿里云账号ID是阿里云分配给每个用户的唯一识别码,不可更改,格式为16位数字,如:102462945332****,用户要查看自己的阿里云账号ID,请在登录状态下访问阿里云账号“安全设置”,地址:https://account.console.aliyun.com/#/secure

在打开的“安全设置”页面中,按下图指示查找自己的账号ID:


创建RAM子账号

在阿里云中,您可以创建归属于主账号的RAM子账号。使用RAM子账号可以帮助您有效避免AccessKey或者密码泄露导致的安全问题。

1、以主账号登录阿里云,并进入控制台

2、鼠标移入页面右上角个人信息,展开面板,点击“访问控制”,进入访问控制页面

3、点击“用户”,进入用户页面

4、点击“新建用户”,进入新建用户页面

5、指定用户登录名称及显示名称

6、指定访问方式为“控制台密码登录”,并指定控制台密码为“自定义登录密码”,“要求重置密码”指定为“无需重置”,其它项目保持默认,点击“确定”,即可创建RAM子账号

7、RAM子账号创建成功后,详细信息将会列于表中

8、返回用户列表,将“@”符号前的内容记录好,这就是子账号的登录名称


为RAM子账号授权

创建RAM子账号后,通过向RAM子账号授予特定权限,使得RAM子账号既具备必要的资源操作能力,又保障资源安全

1、以主账号登录阿里云,并进入控制台

2、鼠标移入页面右上角个人信息,展开面板,点击“访问控制”,进入访问控制页面

3、点击“用户”,进入用户页面

4、在RAM子账号列表中,点击账号右侧的“添加权限”,打开添加权限页面

5、在添加权限页面中,点击左侧权限策略列表中的权限项,被点击的权限项将会被添加至“已选择”列表中

6、对于一个RAM子账号而言,在行云管家的应用中,要求其具备创建AccessKey及访问控制对象存储(OSS)的权限,因此需要为RAM子账号授予“AliyunRAMFullAccess”、“AliyunOSSFullAccess”及“AliyunSTSAssumeRoleAccess”三项权限。权限添加后,点击“确定”,即可为RAM子账号授权

RAM子账号登录阿里云

创建RAM子账号为RAM子账号授权后,可以使用RAM子账号登录至阿里云。

1、以主账号登录阿里云,并进入控制台

2、鼠标移入页面右上角个人信息,展开面板,点击“访问控制”,进入访问控制页面

3、在访问控制页面,“账号管理”框中显示了“用户登录地址”,点击其中的复制,即可获得供RAM子账号登录的入口地址

4、打开新的浏览器,地址栏中输入RAM子账号登录地址,打开登录界面

5、在“子用户登录”框中,输入子账号,并点击“下一步”

6、在密码框中,输入子账号的密码,并点击“登录”,即可以RAM子账号登录至阿里云

如何获取RAM子账号Access Key

部分阿里云用户会使用RAM子账号来登录阿里云控制台,而阿里云由于安全因素的考量,子账号只能查看Access Key ID,但却无法查看Access Key Secret,如下图所示:

因此,子账号需要重新创建一个AccessKey,但创建之前,请确保您的子账号拥有“AliyunRAMFullAccess”策略权限,否则将无权限创建(参考:为RAM子账号授权);

子账号登录后,打开AccessKey管理页面,在用户AccessKey列表右侧中点击“创建AccessKey”进行创建;

在AccessKey创建成功后,相关信息将只会展示一次,请务必在此时将信息保存。获得完整的AccessKey后,您便可以将您的云主机资源导入到行云管家中了。但请注意,要正常使用行云管家的相关功能,您仍然要注意您的子账号是否有足够的权限,传送门:如何设置RAM子账号访问控制策略

如何禁用阿里云的Access Key

一旦发现您的Acces Key可能被泄露,并由此可能会产生信息安全问题,我们强烈建议您禁用此Access Key。您只需登录阿里云管理控制台,按照获取Access Key的方式查找到“AccessKey管理”,将其禁用即可。

创建RAM角色并授权

在阿里云中,RAM角色机制是向您信任的实体(例如:RAM子账户)进行授权的一种安全方法。在行云管家中,可以利用阿里云对象存储服务(OSS)作为网盘和日志数据的存储介质,下面举例说明如何创建RAM角色,并授予RAM角色管理对象存储服务(OSS)权限,同时向一个RAM子账号进行授权。

执行“创建RAM角色并授权”操作之前,您需要先创建RAM子账号,并取得子账号的登录名称(参考:创建RAM子账号)。

1、以主账号登录阿里云,并进入控制台

2、鼠标移入页面右上角个人信息,展开面板,点击“访问控制”,进入访问控制页面

3、点击“RAM角色管理”,进入RAM角色管理页面

4、点击“新建RAM角色”,进入新建RAM角色页面

5、选择可信实体类型为“阿里云账号”,点击“下一步”

6、输入“角色名称”及“备注”,选择云账户为“当前云账号”,点击“完成”,即可完成RAM角色创建

7、点击“关闭”,返回RAM角色管理页面

8、点击列表中角色右侧的“添加权限”,进入添加权限页面

9、点击左侧权限列表中的“AliyunOSSFullAccess”,使其加入至“已选择”列表中,并点击“确定”,完成权限添加

10、在列表中点击角色名称,进入角色信息页面

11、在角色信息页面中,点击“信任策略管理”,进入信任策略管理页面

12、在信任策略管理页面中,点击“修改信任策略”,打开修改信任策略页面

13、在中修改信任策略页面中,将脚本设置为如下内容(其中:“myname”为RAM子账号的登录名称,请根据实际值给定;其它内容保留默认值),并点击“确定”,即可完成修改信任策略

{
    "Statement": [
        {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
                "RAM": [
                    "acs:ram::1574212029044321:user/myname"
                ]
            }
        }
    ],
    "Version": "1"
}

如下图:

获取RAM角色的ARN

执行“获取RAM角色的ARN”操作之前,您需要先创建RAM子角色(参考:创建RAM角色并授权)。

1、以主账号登录阿里云,并进入控制台

2、鼠标移入页面右上角个人信息,展开面板,点击“访问控制”,进入访问控制页面

3、点击“RAM角色管理”,进入RAM角色管理页面

4、点击RAM角色,进入RAM角色信息页面

5、RAM角色信息页面中,ARN一项即为RAM角色的ARN,请记录

创建Bucket

1、登录阿里云,并进入控制台

2、点击菜单“对象存储OSS”,进入OSS管理控制台

3、点击“创建Bucket”,打开创建Bucket页面

4、输入“Bucket名称”、指定区域,“读写权限”指定为“私有”,“服务器端加密”指定为“无”,其它选项保持默认值,点击“确定”,即可创建好Bucket

5、返回到OSS管理控制台,选择刚刚创建好的Bucket,点击“基础设置”,进入基础设置页面

6、在基础设置页面,点击“防盗链”中的“设置”,展开编辑区

7、在Referer白名单框中,输入允许访问您的OSS的资源,例如在行云管家的应用中,假设您的行云管家访问IP地址为192.168.1.100,则Referer白名单的值可以指定为

http://192.168.1.100
https://192.168.1.100

"允许空 Referer"设置为“开启”,点击“保存”,即可完成防盗链设置

8、在基础设置页面,点击“跨域设置”中的“设置”,进入跨域设置页面

9、在跨域设置页面中,点击“创建规则”,打开创建跨域规则页面

10、在创建跨域规则页面中,“来源”指定为要访问OSS的来源地址,例如在行云管家的应用中,假设您的行云管家访问IP地址为192.168.1.100,则Referer白名单的值可以指定为

http://192.168.1.100
https://192.168.1.100

"允许 Methods"设置为“GET”、“POST”、“PUT”、“DELETE”和“HEAD”全选中

“暴露 Headers”指定为

ETag
x-oss-request-id

"缓存时间"指定为300秒,其它项保留默认值,点击“确定”,即可完成设置防盗链

阿里云云盾安骑士提示Access Key非基线异常调用,我该如何处理?

行云管家在很多应用场景中,都需要通过Access Key来访问阿里云API,而阿里云的云盾安骑士产品,有一项“入侵检测”产品,会对未加入基线IP白名单的Access Key调用进行告警,告警等级为“可疑”,如下图所示:

这些检测本意是为了防止用户的Access Key被非法调用,但可能会因此引起用户的一些不安。因此,建议您将下表中的行云管家相关服务器IP(截止2019年4月22日)加入到基线IP白名单中,以免引起误报。

行云管家API服务器IP列表
120.77.255.227
112.74.92.159
39.108.67.157
119.23.52.117
120.79.169.6
112.74.172.67
47.107.41.253
47.106.221.112
119.23.217.189

将上述IP添加到下图中的白名单: