AWS Security Token Service 的使用

概要

熟悉aws sts是什么,并使用sts对EC2进行赋权

技术细节

当前有一个EC2实例和一个S3存储桶,这个S3存储桶代表众多AWS资源之一。EC2想要访问这个AWS资源,有两种方式可以做到。
第一种方式是在EC2中通过aws configure命令配置AWS访问密钥和私有访问密钥后访问资源;
第二种方式是附加IAM角色到EC2实例,然后附加IAM角色策略添加STS 让我们的EC2能够访问AWS资源。

这里走第二种方式
创建EC2 的s3_readonly 的角色
在这里插入图片描述
创建一个role为即将绑定到EC2的IAM role
在这里插入图片描述

创建EC2 带上这个IAM role
启动一个新EC2, 在高级选项‘IAM 实例配置文件’里
在这里插入图片描述
查看信任策略

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sts:AssumeRole"
            ],
            "Principal": {
                "Service": [
                    "ec2.amazonaws.com"
                ]
            }
        }
    ]
}

信任关系选项卡,我们点击编辑信任关系看下策略内容:
Principal委托人指定了一个service,http://ec2.amazonaws.com这个service;
action是sts:assumeRole,整个策略的意思为允许http://ec2.amazonaws.com服务执行sts:assumerole来获取临时安全凭证。
sts:assumerole这个动作非常关键,如果我们将这部分内容去掉,那么将无法生成访问密钥等安全凭证,ec2也将无法访问s3存储桶。

保存
在这里插入图片描述
检查EC2实例的IAM 角色,在安全项下
在这里插入图片描述
执行aws s3 ls 可以看到读取权限起作用
在这里插入图片描述

我们可以直接通过EC2只读访问S3存储桶。
以上我们复习了IAM角色的工作方式。

要在 EC2 实例中查看绑定的 IAM 角色信息,可以使用以下步骤:

  1. 使用元数据服务
    在 EC2 实例中,你可以通过访问元数据服务来获取绑定的 IAM 角色信息。执行以下命令:
curl http://169.254.169.254/latest/meta-data/iam/info
  1. 查看输出
    该命令将返回一些关于 IAM 角色的信息,包括角色的 ARN。例如,输出可能看起来像这样:
{
    "Code": "Success",
    "LastUpdated": "2024-09-26T13:00:00Z",
    "InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/your-instance-profile-name",
    "InstanceProfileId": "AIPAJXXXXXX"
}
  1. 获取安全凭证
    如果你还想查看与该角色相关的安全凭证,可以使用以下命令:
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/

这将返回绑定到实例的 IAM 角色名称。然后你可以使用角色名称获取详细的安全凭证信息:

curl http://169.254.169.254/latest/meta-data/iam/security-credentials/your-role-name/

在这里插入图片描述
[图片]
有一点需要注意的是,我们在这个EC2的meta data中获取accessKeyId、SecretAccessKey以及会话Token临时安全凭证,并不是IAM角色生成的,它们是AWS STS服务生成的,STS是负责提供上述这些临时安全凭证的服务。IAM角色与STS服务之间会建立信任关系,通过STS服务获得这些凭证。

小结

STS 集成操作,很多时候aws的一些服务并没有显式去使用它包含在一些不显眼的地方

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CHEN_RUI_2200

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值