一、什么是访问密钥(Access Key)
亚马逊AWS访问密钥(即Access Key)是AWS用户在通过API访问云资源时的确认用户身份的凭证,而行云管家正是通过API来管理AWS云资源,因此用户首先需要获取AWS访问密钥(Access Key)才可以将资源纳入到行云管家中进行管理,访问密钥(Access Key)由亚马逊AWS颁发给云主机的所有者,它由访问秘钥ID(Access Key ID)和私有访问秘钥(Secret Access Key)构成。
二、获取AWS访问密钥(Access Key)
2.1、登录AWS管理控制台
使用AWS主账号(或者是拥有AdministratorAccess管理策略权限的子账号)登录管理控制台,点击“服务”,在弹出页面中点击“安全&身份”中的“IAM”,进入IAM控制面板;
2.2、查看用户列表
进入IAM控制面板后,点击“用户”,查看所有用户列表;
2.3、查看用户安全证书
要将云资源导入到行云管家,要确保访问密钥(Access Key)有足够的资源权限,因此请选定一个有相应权限的用户(使用行云管家需要具备哪些策略权限),点击用户名,进入该用户详情页面后,点击“安全证书”页签;
2.4、创建访问密钥
请点击“创建访问密钥”,将打开密钥信息窗口。需要注意的是,在AWS控制台中,用户仅有一次查看访问密钥的机会,因此请务必在打创建访问密钥成功后,将密钥信息妥善保存;
图中的访问秘钥ID即导入云主机时用到的的Access Key ID,私有访问秘钥即Secret Access Key(默认不显示,点击“显示”链接);
2.5、AWS访问控制策略
在使用AWS时,经常要接触到IAM,通常情况下,为了精细化管理,我们会对不同的用户授予不同的策略权限,因此在选取访问密钥时,一定要确保其所属的用户具备足够的权限。下面列出行云管家导入云资源所用到的权限策略,如果由于您进行了相关的权限策略设置而导致使用行云管家过程中出现权限不足的提示,请按照以下说明对用户进行授权:
策略名称 | 策略说明 |
---|---|
AdministratorAccess | 完全的云资源访问权限,如果拥有此权限,您便拥有了管理所有资源的权限,无需再关注其它策略。 |
AmazonEC2FullAccess | 如果没有AdministratorAccess策略而又需要管理云主机(EC2),请开启该权限。 |
(1)如果仅仅是导入主机、磁盘、快照等只读操作,不执行启动、停止、重启、重置密码、创建快照,挂载磁盘等写操作,则可以只需要AmazonEC2ReadOnlyAccess,否则需要AmazonEC2_FullAccess
(2)如果仅仅列出VPC和安全组,不执行添加安全组,修改安全组规则等写操作,只需要AmazonVPCReadOnlyAccess,否则需要AmazonVPCFullAccess
三、如何禁用AWS的访问密钥(Access Key)
一旦发现您的Acces Key可能被泄露,并由此可能会产生信息安全问题,我们强烈建议您禁用此Access Key。您只需像获取访问密钥时一样进入到用户的“安全证书”页签,将相应的其访问密钥停用或者删除即可。
四、添加用户并授权
(1)使用AWS主账号(或者是拥有AdministratorAccess管理策略权限的子账号)登录管理控制台,点击“服务”,在弹出页面中点击“安全&身份”中的“IAM”,进入IAM控制面板
(2)进入IAM控制面板后,点击“用户”,进入用户列表
(3)点击“添加用户”,打开添加用户页面
(4)输入“用户名”、“访问类型”同时勾选“编程访问”及“AWS管理控制台访问”,“控制台密码”选择为“自定义密码”并输入您的密码,去掉对“用户必须在下次登录时创建新密码”的勾选,点击“下一步:权限”,进入下一页面
(5)选中“直接附加现有策略”,并在策略列表中勾选“AmazonS3FullAccess”、“IAMFullAccess”、“STSAssumeRole”三项策略,点击“下一步:标签”,进入下一页面
(6)在“添加标签”页,点击“下一步:审核”,进入下一页面
(7)在“审核”页,点击“创建用户”,即可成功创建用户,并进入创建成功页面
(8)您可以获取“用户管理控制台登录地址”及“用户访问密钥”
五、获取用户ARN
登录AWS管理控制台,点击右上角账号名,再点击弹出菜单中的“我的安全凭证”,进入我的安全凭证页
账户详细信息”中的“用户ARN”即是我们要获取内容,可以复制或记录
六、创建IAM角色
在AWS中,可通过IAM角色向您信任的实体授予权限。在行云管家应用中,通常需要将权限授予用户,请先创建用户并获取用户ARN(参考:添加用户并授权、获取用户ARN)。
(1)使用AWS主账号(或者是拥有AdministratorAccess管理策略权限的子账号)登录管理控制台,点击“服务”,在弹出页面中点击“安全&身份”中的“IAM”,进入IAM控制面板
(2)进入IAM控制面板后,点击“角色”,进入角色页面
(3)点击“添加角色”,打开添加角色页面
(4)“受信任实体的类型”选择“AWS产品”,“使用此角色的服务”选择“S3”,“使用案例”选择“S3”,点击“下一步:权限”
(5)在策略列表中勾选“AmazonS3FullAccess”策略,点击“下一步:标签”,进入下一页面
(6)在“添加标签”页,点击“下一步:审核”,进入下一页面
(7)在“审核”页,输入“角色名称”,点击“创建角色”即可成功创建角色,并返回角色列表页面
(8)在角色列表页面,点击角色名称,打开角色信息页
(9)在角色信息页,点击“信任关系”,打开信任关系页签
(10)在信任关系页签,点击“编辑信任关系”,打开编辑页
(11)在编辑页中,输入以下内容(其中:arn:aws-cn:iam::12345678xxxx:user/my-new-user 为用户ARN,请根据实际情况给出,其它内容不变(参考:获取用户ARN)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws-cn:iam::12345678xxxx:user/my-new-user" ] }, "Action": "sts:AssumeRole" } ] }
点击“更新信任策略”,即可完成编辑信任关系
七、获取角色ARN
(1)使用AWS主账号(或者是拥有AdministratorAccess管理策略权限的子账号)登录管理控制台,点击“服务”,在弹出页面中点击“安全&身份”中的“IAM”,进入IAM控制面板
(2)进入IAM控制面板后,点击“角色”,进入角色页面
(3)点击角色列表中的角色,打开角色信息页
(4)角色信息页中显示了IAM角色的ARN值,请复制或记录
八、创建Bucket
(1)使用AWS主账号(或者是拥有AdministratorAccess管理策略权限的子账号)登录管理控制台,点击“服务”,在弹出页面中点击“存储和内容分发”中的“S3”,进入S3控制面板
(2)点击“创建存储桶”,弹出创建Bucket框
(3)输入“存储桶名称”,点击“下一步”,进入配置选项页
(4)在配置选项页,直接点击“下一步”,进入设置权限页
(5)在设置权限页,直接点击“下一步”,进入审核页
(6)在审核页,点击“创建存储桶”,即可创建Bucket,并返回Bucket列表页面
(7)在Bucket列表中,点击Bucket,进入Bucket详情页
(8)点击“权限”,再点击“CORS”配置,打开CORS配置编辑器
(9)在CORS配置编辑器中,输入以下内容
<?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <AllowedMethod>PUT</AllowedMethod> <AllowedMethod>POST</AllowedMethod> <AllowedMethod>DELETE</AllowedMethod> <AllowedMethod>HEAD</AllowedMethod> <MaxAgeSeconds>3000</MaxAgeSeconds> <ExposeHeader>ETag</ExposeHeader> <AllowedHeader>*</AllowedHeader> </CORSRule> </CORSConfiguration>
点击“保存”,即可完成CORS配置
九、要正常使用行云管家管理AWS资源,需要如何设置AWS访问控制策略?
在使用AWS时,经常要接触到IAM,通常情况下,为了精细化管理,我们会对不同的用户授予不同的策略权限,因此在选取访问密钥时,一定要确保其所属的用户具备足够的权限。下面列出行云管家管理云资源所用到的权限策略,如果由于您进行了相关的权限策略设置而导致使用行云管家过程中出现权限不足的提示,请按照以下说明对用户进行授权:
策略名称 | 策略说明 |
---|---|
AdministratorAccess | 完全的云资源访问权限,如果拥有此权限,您便拥有了管理所有资源的权限,无需再关注其它策略。 |
AmazonEC2FullAccess | 如果没有AdministratorAccess策略而又需要管理云主机(EC2),请开启该权限。 |
AmazonS3FullAccess | 如果没有AdministratorAccess策略而又需要管理对象存储服务(S3),请开启该权限。 |