公有云厂商 阿里云
阿里云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:


四、获取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