AWS IAM 及其功能

embedded/2024/11/27 20:20:52/

IAM 代表身份和访问管理,可帮助控制谁可以进入云、访问 AWS 资源以及进入后可以做什么。

  • 身份: IAM 帮助管理可以与 AWS 资源交互的身份(如用户名或服务帐户)。

  • 访问:它决定每个身份可以在 AWS 服务上执行哪些操作(例如读取、写入或删除数据)。

IAM 的特点:

  1. 控制谁做什么: IAM 决定谁可以访问 AWS 资源以及他们可以用这些资源做什么。

  2. 使用 MFA 提供额外的安全性:可以要求用户使用第二种验证形式(例如智能手机应用程序)以及密码来增加额外的安全性。

  3. 简化服务访问: IAM 允许 AWS 服务安全地访问其他服务,从而减少了对密钥的需求。

  4. 微调权限:可以精确指定每个用户或组可以访问的内容,确保他们只拥有他们需要的权限。

  5. 访问顾问洞察: IAM 提供对权限的洞察,帮助了解用户和服务正在使用的内容并相应地调整权限。

IAM 身份分为三类:

  1. IAM 用户

  2. IAM 组

  3. IAM 角色

IAM 用户: 

IAM 用户是 AWS 账户中的个人实体。他们是需要与AWS 资源交互的人类用户、应用程序或服务。以下是 IAM 用户的分类:

  • 标识:每个 IAM 用户都有一个唯一的用户名,用于身份验证。创建 IAM 用户时,可以选择一个有助于识别用户的用户名,例如“John”或“MarketingApp”。

  • 访问凭证:IAM 用户可以拥有访问凭证,包括用于编程访问的密码或访问密钥(访问密钥 ID 和秘密访问密钥)。密码用于 AWS 管理控制台,而访问密钥用于通过 API 或 AWS CLI 进行编程访问。

  • 权限:用户可以附加策略,定义他们可以对哪些 AWS 资源执行哪些操作。这些策略控制对 AWS 服务的访问级别。

  • 多重身份验证 (MFA):可以为 IAM 用户启用 MFA,这会增加一层额外的安全保护。它要求用户除了提供密码外,还提供第二个身份验证因素,通常是硬件令牌或智能手机应用程序。

IAM 组:

IAM 组是 IAM 用户的集合。是一种简化需要相同访问级别的多个用户的权限管理的方法。IAM 组的工作原理如下:

  • 组成员身份:用户可以添加到一个或多个组。当有一组具有相似工作角色或职责的用户时,此功能非常有用,因为可以将他们添加到定义其共同权限的组中。

  • 策略附加:无需将策略附加到单个用户,而是将策略附加到 IAM 组。组中的所有用户都会继承组策略中定义的权限。这样可以更轻松地确保具有相似角色的用户具有一致的访问权限。

  • 可扩展性和效率:IAM 组使权限管理更加高效。如果需要一次更改多个用户的权限,则可以更新组的策略,所有组成员都会收到更改。

IAM 角色:

IAM 角色与用户和组略有不同。它们适用于需要授予 AWS 服务权限、受信任实体的临时访问权限或跨账户访问的情况。IAM 角色的工作原理如下:

  • 信任关系:角色通过信任关系定义,指定哪些实体或服务可以承担该角色。例如可以创建一个允许 EC2 实例访问 S3 存储桶的角色。

  • 临时权限:角色提供临时访问权限。当用户或服务承担某个角色时,他们会收到临时安全凭证,这些凭证在有限的时间内有效。这增加了一层安全性,可以为角色的使用期限设置特定权限。

  • 跨账户访问:当想要授予另一个 AWS 账户访问资源的权限时,可以使用角色。另一个账户将承担该角色,以安全地访问资源,而无需共享访问密钥。

总之,IAM 用户是具有自己的凭证和权限的独立实体。IAM 组帮助集体管理具有类似权限的用户。IAM 角色用于授予对 AWS 服务或实体的临时、受控访问权限,并可用于跨账户访问。这些 IAM 组件共同能够高效地管理和保护对 AWS 资源的访问。

在云上(OnCloud AI)(https://www.oncloudai.com/) 一直专注于企业上云转型和出海数字化服务。如有需求即可点击链接了解详情。  


http://www.ppmy.cn/embedded/140994.html

相关文章

2024年9月中国电子学会青少年软件编程(Python)等级考试试卷(六级)答案 + 解析

一、单选题 1、下面代码运行后出现的图像是?( ) import matplotlib.pyplot as plt import numpy as np x np.array([A, B, C, D]) y np.array([30, 25, 15, 35]) plt.bar(x, y) plt.show() A. B. C. D. 正确答案:A 答案…

【mac】终端左边太长处理,自定义显示名称(terminal路径显示特别长)

1、打开终端 2、步骤 (1)修改~/.zshrc文件 nano ~/.zshrc(2)添加或修改PS1,我是自定义了名字为“macminiPro” export PS1"macminiPro$ "(3)使用 nano: Ctrl o (字母…

如何使用 Python 开发一个简单的文本数据转换为 Excel 工具

目录 一、准备工作 二、理解文本数据格式 三、开发文本数据转换为Excel工具 读取CSV文件 将DataFrame写入Excel文件 处理其他格式的文本数据 读取纯文本文件: 读取TSV文件: 四、完整代码与工具封装 五、使用工具 六、总结 在数据分析和处理的日常工作中,我们经常…

CSS中flex:1是什么属性

flex: 1 是 CSS 中的一个简写属性,用于设置 Flex 项目的灵活伸缩比例(flex-grow)、收缩比例(flex-shrink)以及基础大小(flex-basis)。具体来说,flex: 1 实际上是以下三个属性的简写&…

深度学习基础1

目录 1. 深度学习的定义 2.神经网络 2.1. 感知神经网络 2.2 人工神经元 2.2.1 构建人工神经元 2.2.2 组成部分 2.2.3 数学表示 2.2.4 对比生物神经元 2.3 深入神经网络 2.3.1 基本结构 2.3.2 网络构建 2.3.3 全连接神经网络 3.神经网络的参数初始化 3.1 固定值初…

Sourcetree:一款强大的Git客户端

Sourcetree:一款强大的Git客户端 Sourcetree是一款由Atlassian开发的免费Git客户端,它提供了一个直观的图形界面,让用户能够轻松地管理他们的版本控制系统。无论是初学者还是有经验的开发者,Sourcetree都能提供方便快捷的Git操作…

Python 爬虫 (1)基础 | 基础操作

一、基础操作 1、快速构建一个爬虫 ConvertCurl: https://curlconverter.com/选择URL,点击右键,选择 Copy >> Copy as cURL(bash) 2、配置nodejs开发环境 参考WIKI:https://www.jb51.net/python/307069k7q.htm国内npm源…

志愿者小程序源码社区网格志愿者服务小程序php

志愿者服务小程序源码开发方案:开发语言后端php,tp框架,前端是uniapp。 一 志愿者端-小程序: 申请成为志愿者,志愿者组织端进行审核。成为志愿者后,可以报名参加志愿者活动。 志愿者地图:可以…