为什么我们需要 CLI 和 SDK?
当你在 AWS 上使用越来越多的服务和资源时,手动管理和配置这些资源将变得非常繁琐和耗时。
AWS CLI和SDK是AWS提供的命令行工具和编程接口,可以使你以编程方式自动化AWS资源的管理和配置。
通过使用这些工具,你可以快速、准确、可重复地创建、修改和删除AWS资源。
AWS CLI和SDK还提供了一些方便的功能,例如批量操作、过滤器和错误处理。这些功能可以帮助你更轻松地管理和维护AWS资源,并避免出现常见的错误和问题。使用AWS CLI和SDK还可以提高你的工作效率,并使你能够更快地部署和更新应用程序。
它就像是一把特殊的工具。在AWS上,你可以租用很多不同的云资源,比如虚拟机、存储空间、数据库等等,而这些资源需要进行配置和管理。
如果手动一个个去配置,那会非常麻烦和耗时。如果你不使用这些工具,就像是没有工具箱去修理家里的东西一样,需要用很多时间和精力去完成任务。
Access Key & Secret Access Key
使用这种特殊的工具,使用的凭证也有所不同。这种凭证叫做 AKSK(Access Key & Secret Access Key)。
但是也没有什么神奇的地方,我们之前的操作,都是通过用户名密码的方式来进行身份的验证的,而当你使用 CLI 和 SDK 的时候,你需要使用 AKSK,虽然样子不一样,但是作用是一致的。你可以认为:
Access Key = 用户名
Secret Access Key = 密码他们是一对字符串,Access Key是一个唯一的标识符,Secret Access Key则是一个加密的密钥。同样,你也需要像保护你的账号密码一样,保护这对字符串,避免泄露,定期轮转更换。
AKSK Example:
Access key ID: AKIASK4E37PV4983d6C
Secret Access Key: AZPN3zojWozWCndIjhB0Unh8239a1bzbzO5fqqkZq EC2 Instance Profile
你的程序配置好了 AKSK,就可以通过 IAM 的验证 ,这个时候,就可以进行云上资源的管理了。
但是问题来了,我要避免泄露还要定期更换,也是一件繁琐的事情对吧,所以下面再给大家介绍一下,另一个特性,EC2 Instance Profile。避免安全隐患的最好的办法,就是使用一个临时的 AKSK,这也是为什么要定期更换的原因。
在上一个章节,我们有说过一个组件叫做 Role,而 Role 天生就是用于这个场景下的。
而所谓的 EC2 Instance Profile 就是IAM 角色与 EC2 实例之间的一种绑定关系,它允许 EC2 实例在没有硬编码 AWS 访问凭证的情况下,通过角色授权访问 AWS 资源。
这个时候,就无需明确指定Access Key和Secret Access Key。这可以帮助你减少访问凭证的管理,并增加了安全性,因为访问凭证不需要明文存储在实例上。
当你为实例分配一个IAM instance profile时,EC2实例上运行的程序和应用程序在使用到 CLI 和 SDK 的时候,可以自动获取与IAM角色相关联的访问凭证(可以理解为一个临时的 AKSK)。 这样就提高安全性和可管理性。