一、什么是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:
四、获取Access Key(RAM子账号)
4.1、创建RAM子账号
在阿里云中,您可以创建归属于主账号的RAM子账号。使用RAM子账号可以帮助您有效避免AccessKey或者密码泄露导致的安全问题。
(1)以主账号登录阿里云,并进入控制台
(2)鼠标移入页面右上角个人信息,展开面板,点击“访问控制”,进入访问控制页面
(3)点击“用户”,进入用户页面
(4)点击“新建用户”,进入新建用户页面
(5)指定用户登录名称及显示名称
(6)指定访问方式为“控制台密码登录”,并指定控制台密码为“自定义登录密码”,“要求重置密码”指定为“无需重置”,其它项目保持默认,点击“确定”,即可创建RAM子账号
(7)RAM子账号创建成功后,详细信息将会列于表中
(8)返回用户列表,将“@”符号前的内容记录好,这就是子账号的登录名称
4.2、为RAM子账号授权
创建RAM子账号后,通过向RAM子账号授予特定权限,使得RAM子账号既具备必要的资源操作能力,又保障资源安全;
(1)以主账号登录阿里云,并进入控制台
(2)鼠标移入页面右上角个人信息,展开面板,点击“访问控制”,进入访问控制页面
(3)点击“用户”,进入用户页面,点击账号右侧的“添加权限”,打开添加权限页面;
(4)在添加权限页面中,点击左侧权限策略列表中的权限项,被点击的权限项将会被添加至“已选择”列表中。
-
a)对于一个RAM子账号而言,在行云管家的应用中,要求其具备创建AccessKey、访问控制对象存储(OSS)以及CDN的权限,因此需要为RAM子账号授予以下这几项权限。权限添加后,点击“确定”,即可为RAM子账号授权;
-
延伸阅读:直接给“AdministratorAccess”权限的话会拥有所有权限(不推荐);
权限策略 策略说明 AliyunRAMFullAccess 非必须权限,当子账号没有AccessKey时,需要此权限开创建新的AccessKey。 AliyunCloudMonitorFullAccess 管理云监控(CloudMonitor)的权限,此权限为必须权限。 AliyunECSFullAccess 管理云服务器服务(ECS)的权限,如果您需要管理云主机,请开启该权限。 AliyunCDNFullAccess 管理CDN的权限,如果您需要管理CDN资源,请开启该权限。 AliyunOSSFullAccess 管理对象存储服务(OSS)权限,如果您需要管理对象存储资源,请开启该权限。 AliyunEIPFullAccess 管理EIP权限,如果您需要管理弹性公网IP(EIP)和Ipv6的权限,请开启该权限。
-
b)如果您只希望对这个RAM子账号授权创建AccessKey的权限,只需要为RAM子账号授予以下这几项权限。权限添加后,点击“确定”,即可为RAM子账号授权;
权限策略 策略说明 AliyunEIPFullAccess 管理EIP权限,如果您需要管理弹性公网IP(EIP)和Ipv6的权限,请开启该权限。 AliyunCloudMonitorFullAccess 管理云监控(CloudMonitor)的权限,此权限为必须权限。 AliyunECSFullAccess 管理云服务器服务(ECS)的权限,如果您需要管理云主机,请开启该权限。 -
c)如果您只希望对这个RAM子账号授权OSS相关的权限,只需要为RAM子账号授予以下这几项权限。权限添加后,点击“确定”,即可为RAM子账号授权;
权限策略 策略说明 AliyunRAMFullAccess 非必须权限,当子账号没有AccessKey时,需要此权限开创建新的AccessKey。 AliyunCloudMonitorFullAccess 管理云监控(CloudMonitor)的权限,此权限为必须权限。 AliyunOSSFullAccess 管理对象存储服务(OSS)权限,如果您需要管理对象存储资源,请开启该权限。 -
d)如果您只希望对这个RAM子账号授权CDN相关权限,只需要为RAM子账号授予以下这几项权限。权限添加后,点击“确定”,即可为RAM子账号授权;
权限策略 策略说明 AliyunCloudMonitorFullAccess 管理云监控(CloudMonitor)的权限,此权限为必须权限。 AliyunCDNFullAccess 管理CDN的权限,如果您需要管理CDN资源,请开启该权限。 -
e)如果您想在行云管家管理控制台中切换门户存储至阿里云OSS,那么对这个RAM子账号授权时,只需要为RAM子账号授予以下这几项权限。权限添加后,点击“确定”,即可为RAM子账号授权:
权限策略 策略说明 AliyunRAMFullAccess 非必须权限,当子账号没有AccessKey时,需要此权限开创建新的AccessKey。 AliyunCloudMonitorFullAccess 管理云监控(CloudMonitor)的权限,此权限为必须权限。 AliyunECSFullAccess 管理云服务器服务(ECS)的权限,如果您需要管理云主机,请开启该权限。 AliyunCDNFullAccess 管理CDN的权限,如果您需要管理CDN资源,请开启该权限。 AliyunOSSFullAccess 管理对象存储服务(OSS)权限,如果您需要管理对象存储资源,请开启该权限。 AliyunEIPFullAccess 管理EIP权限,如果您需要管理弹性公网IP(EIP)和Ipv6的权限,请开启该权限。 AliyunSTSAssumeRoleAccess 调用STS服务AssumeRole接口的权限,请开启该权限。
4.3、RAM子账号登录阿里云
创建RAM子账号并为RAM子账号授权后,可以使用RAM子账号登录至阿里云。
(1)以主账号登录阿里云,并进入控制台
(2)鼠标移入页面右上角个人信息,展开面板,点击“访问控制”,进入访问控制页面
(3)在访问控制页面,“账号管理”框中显示了“用户登录地址”,点击其中的复制,即可获得供RAM子账号登录的入口地址
(4)打开新的浏览器,地址栏中输入RAM子账号登录地址,打开登录界面
(5)在“子用户登录”框中,输入子账号,并点击“下一步”
(6)在密码框中,输入子账号的密码,并点击“登录”,即可以RAM子账号登录至阿里云
4.4、如何获取RAM子账号Access Key
(1)部分阿里云用户会使用RAM子账号来登录阿里云控制台,而阿里云由于安全因素的考量,子账号只能查看Access Key ID,但却无法查看Access Key Secret,如下图所示:
(2)因此,子账号需要重新创建一个AccessKey,但创建之前,请确保您的子账号拥有“AliyunRAMFullAccess”策略权限,否则将无权限创建(参考:为RAM子账号授权);
子账号登录后,打开AccessKey管理页面,在用户AccessKey列表右侧中点击“创建AccessKey”进行创建;
(3)在AccessKey创建成功后,相关信息将只会展示一次,请务必在此时将信息保存。获得完整的AccessKey后,您便可以将您的云主机资源导入到行云管家中了。但请注意,要正常使用行云管家的相关功能,您仍然要注意您的子账号是否有足够的权限,传送门:如何设置RAM子账号访问控制策略
五、RAM角色相关授权
5.1、创建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" }
如下图:
5.2、获取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,外网IP地址为22.22.22.22:7777,则Referer白名单的值可以指定为下面这个,如果不确定的话可以直接填写*
http://192.168.1.100 https://192.168.1.100 http://22.22.22.22:7777 https://22.22.22.22:7777
"允许空 Referer"设置为“开启”,点击“保存”,即可完成防盗链设置
(8)在权限管理页面,点击“跨域设置”中的“设置”,进入跨域设置页面
(9)在跨域设置页面中,点击“创建规则”,打开创建跨域规则页面
(10)在创建跨域规则页面中,“来源”指定为要访问OSS的来源地址,例如在行云管家的应用中,假设您的行云管家访问内网IP地址为192.168.1.100,外网IP地址为22.22.22.22:7777,则Referer白名单的值可以指定为下面这个,如果不确定的话可以直接填写*
http://192.168.1.100 https://192.168.1.100 http://22.22.22.22:7777 https://22.22.22.22:7777
"允许 Methods"设置为“GET”、“POST”、“PUT”、“DELETE”和“HEAD”全选中
“允许 Headers”请填写 *
“暴露 Headers”指定为
ETag x-oss-request-id
"缓存时间"指定为300秒,其它项保留默认值,点击“确定”,即可完成设置跨域规则
七、阿里云常见问题处理
(1)如何禁用阿里云的Access Key
一旦发现您的Acces Key可能被泄露,并由此可能会产生信息安全问题,我们强烈建议您禁用此Access Key。您只需登录阿里云管理控制台,按照获取Access Key的方式查找到“AccessKey管理”,将其禁用即可。
(2)阿里云云盾安骑士提示Access Key非基线异常调用,我该如何处理?
行云管家在很多应用场景中,都需要通过Access Key来访问阿里云API,而阿里云的云盾安骑士产品,有一项“入侵检测”产品,会对未加入基线IP白名单的Access Key调用进行告警,告警等级为“可疑”,如下图所示:
这些检测本意是为了防止用户的Access Key被非法调用,但可能会因此引起用户的一些不安。因此,建议您将下表中的行云管家相关服务器IP(SaaS)加入到基线IP白名单中,以免引起误报。
行云管家门户相关服务器
IP地址
API服务器1
8.129.74.244
API服务器2
8.129.74.104
API服务器3
8.129.101.116
API服务器4
8.129.147.168
API服务器5
8.129.126.162
API服务器6
8.129.110.143
门户主服务器
120.25.101.207
门户备服务器1
120.24.46.134
门户备服务器2
47.107.69.220
门户-监控接收
47.112.238.245
InfluxDB
119.23.217.189