aws iam php,AWS实战 - IAM角色的简单使用

介绍

简单来说,IAM角色是一组权限的集合,IAM用户或者AWS服务可以临时性代入这个角色,获得角色所拥有的权限;AWS官方定义如下:

IAM角色类似于用户,因为它是一个AWS实体,该实体具有确定其在AWS中可执行和不可执行的操作的权限策略。但是,角色旨在让需要它的任何人代入,而不是唯一地与某个人员关联。此外,角色没有关联的标准长期凭证(密码或访问密钥)。相反,如果用户担任某个角色,则会动态创建临时安全凭证并为用户提供该凭证。

实战

在AWS实战 - 利用IAM对S3做访问控制中,我们的实战案例里有一个存储桶derek-public2,除了Harp-Admin,其余IAM用户都只有只读权限,现在我们来建立一个拥有写入该存储桶权限的角色,以便在某些特殊情况下,普通IAM用户可以临时代入这个角色来修改存储桶。

使用Harp-Admin登录IAM控制台,点击角色,创建角色;

在选择受信任实体的类型里,选择其他AWS账户,在账户ID中输入本AWS账号的ID;

bVbk5e8?w=567&h=324

需要外部ID一般在授权其他AWS账户代入此角色的时候使用,需要MFA验证看情况选择;

bVbk5qZ?w=410&h=84

点击下一步,到了权限策略页面,直接选择创建策略即可,权限策略如下,命名为edit_public2:

{

"Version": "2012-10-17",

"Statement": [

{

"Effect": "Allow",

"Action": [

"s3:ListBucket"

],

"Resource": [

"arn:aws:s3:::derek-public2"

]

},

{

"Effect": "Allow",

"Action": [

"s3:PutObject",

"s3:PutObjectAcl",

"s3:GetObject",

"s3:GetObjectAcl",

"s3:DeleteObject"

],

"Resource": [

"arn:aws:s3:::derek-public2/*"

]

}

]

}

策略创建完成,回到创建角色页面,勾选edit_public2,需要注意的是,一个IAM用户切换角色后,它只会拥有角色赋予的权限,不会拥有IAM用户原先自带的权限,因此为了正常访问S3,我们再勾选s3_common_policy;

下一步创建tag,再下一步,角色名称填写为Public2_Manager,点击创建,角色创建完成;

为了让账户下的普通IAM用户可以正常访问IAM控制面板,我们直接给之前创建的s3_common_group组添加一条AWS托管策略IAMReadOnlyAccess;

为了给IAM用户赋予切换角色的权限,我们需要再创建一条策略,附加给s3_common_group,策略json如下:

{

"Version": "2012-10-17",

"Statement": {

"Effect": "Allow",

"Action": "sts:AssumeRole",

"Resource": "arn:aws:iam::712538533226:role/Public2_Manager"

}

}

使用user1登录,进入S3,在derek-public2中创建文件夹,提示失败;

点击右上角用户处,点击切换角色,跳转到切换角色页面,账户文本框中输入账户ID,角色输入Public2_Manager,然后点击切换角色;

bVbk5pZ?w=344&h=205

此时在derek-public2存储桶下,已经可以正常建立文件夹了;

bVbk5qy?w=385&h=398

通过控制台的角色切换在一个小时后自动失效,需要重新切换,也可以手动退出角色;

也可以使用cli的方式切换角色,详见切换到IAM角色(AWS CLI);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值