IAM:亚马逊访问权限控制
IAM的策略。用户->服务器(仓库、业务体)
IAM:亚马逊访问权限控制(AWS Identity and Access Management )
IAM使您能够安全地控制用户对 AWS 服务和资源的访问。
您可以使用 IAM 来创建和管理 AWS 用户和群组,并使用各种权限来允许或拒绝他们使用 AWS 资源。
什么是 IAM?
AWS Identity and Access Management (IAM) 是一种 Web 服务,
可以帮助您安全地控制对 AWS 资源的访问。
您可以使用 IAM 控制对哪个用户进行身份验证 (登录) 和授权 (具有权限) 以使用资源。
当您首次创建 AWS 账户时,最初使用的是一个对账户中所有 AWS 服务和资源有完全访问权限的单点登录身份。此身份称为 AWS 账户根用户,使用您创建账户时所用的电子邮件地址和密码登录,即可获得该身份。强烈建议您不使用 根用户 执行日常任务,即使是管理任务。请遵守使用 根用户 的最佳实践,仅将其用于创建您的首个 IAM 用户。然后请妥善保存 根用户 凭证,仅用它们执行少数账户和服务管理任务。
用户:Users。①仅限首次访问:您的根用户凭证。②IAM 用户。③联合现有用户。
AWS 账户根用户:首次创建 AWS 账户时的账户。对 AWS 账户中的所有资源进行完全、无限制的访问,包括访问您的账单信息,您还能更改自己的密码。不建议使用根用户凭证进行日常访问和账户共享。
IAM 用户:由根用户创建的账户。是与 AWS 互动的人员或服务。IAM 用户不是单独的账户;它们是您账户中的用户。每个用户都可以有自己的密码以用于访问 AWS 管理控制台。某些用户实际上是应用程序 (例如 DevApp1)。IAM 用户不必表示实际人员;您可以创建 IAM 用户以便为在公司网络中运行并需要 AWS 访问权限的应用程序生成访问密钥。
IAM组:是 IAM 用户的集合。组不是真正的身份。
IAM 角色:非常类似于用户,角色没有任何关联的凭证 (密码或访问密钥)。角色旨在让需要它的任何人代入,而不是唯一地与某个人员关联。
委托人:principal。委托人是可对 AWS 资源执行操作的实体。用户、角色、联合用户和应用程序都是 AWS 委托人。作为委托人,您必须进行身份验证 (登录到 AWS) 才能将请求发送到 AWS。委托人的类别就是身份。
身份:identity。(用户、组和角色)。身份代表用户,可对身份进行验证,然后向其授予在 AWS 中执行操作的权限。用户是身份,组不是真正的身份。
凭证: credentials。账户(或者用户名)和密码(或者访问秘钥)
根用户身份凭证:创建账户时提供的电子邮件地址(账户)和密码。
临时凭证:主要用于 IAM 角色,但也有其他用途。会在设定的时间段后自动过期。
长期凭证: 用户名和密码或访问密钥。
策略:Policies,作为 JSON 文档存储在 IAM 中。它们作为基于身份的策略 附加到委托人或作为基于资源的策略 附加到资源。
基于身份的策略:委托人允许或拒绝的权限。
基于资源的策略:资源允许或拒绝的权限。
基于身份策略:
默认情况下,IAM 用户无法访问您账户中的任何内容。您可以创建基于身份的策略以便为用户授予权限,这是一个附加到用户的策略。以下示例说明了一个策略,它授予权限以在 us-west-2 区域中使用 123456789012 账户对 Books 表执行所有 Amazon DynamoDB 操作 (dynamodb:*)。
{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Action": "dynamodb:*",
    "Resource": "arn:aws-cn:dynamodb:us-west-2:123456789012:table/Books"
  }
}
基于资源策略:
例如,在 Amazon S3 中,您可以将基于资源的策略附加到存储桶。这称为存储桶策略。以下示例说明了一个 S3 存储桶策略,它允许 AWS 账户 777788889999 中名为 bob 的 IAM 用户将对象放入附加了该策略的存储桶中。
{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Principal": {"AWS": "arn:aws-cn:iam::777788889999:user/bob"},
    "Action": [
      "s3:PutObject",
      "s3:PutObjectAcl"
    ]
  }
}
授权:authorization。IAM 的访问管理部分帮助定义用户或其他实体可在账户内执行的操作。
名称术语:
身份认证:authorization。
命令行界面 :(CLI) 
权限:Permissions。
IAM 用户: 是您在 AWS 中创建的实体。当您创建 IAM 用户时,通过使该用户成为附加了适当的权限策略的组的成员或者通过直接将策略附加到该用户,从而授予用户权限。您也可以克隆现有 IAM 用户的权限,这将使得新用户自动成为相同组的成员并挂载所有相同的策略。
IAM 组:是 IAM 用户的集合。您可以使用组为一组用户指定权限,以便更轻松地管理这些用户的权限。请注意,组并不是真正的身份,因为无法在基于资源的策略或信任策略中将其标识为 Principal(委托人)。它只是用于一次性将策略附加到多个用户的方法。
IAM 角色:非常类似于用户,因为它是一个实体,该实体具有确定其在 AWS 中可执行和不可执行的操作的权限策略。但是,角色没有任何关联的凭证 (密码或访问密钥)。IAM 用户可代入角色来暂时获得针对特定任务的不同权限。
临时凭证:主要用于 IAM 角色,但也有其他用途。您可以请求权限集比标准 IAM 用户限制更严格的临时凭证。这可以防止您意外执行限制更严格的凭证不允许执行的任务。临时凭证的一个好处是会在设定的时间段后自动过期。您可以控制这些凭证的有效期。
IAM的策略:
身份 (用户、组和角色)
本节介绍 IAM 身份,创建这些身份的目的是为了向您的 AWS 账户中的人员和过程提供身份验证。本节还介绍 IAM组,这是可以作为一个单位进行管理的 IAM 用户的集合。身份代表用户,可对身份进行验证,然后向其授予在 AWS 中执行操作的权限。每个部分均可与一个或多个策略相关联来决定用户、角色或组成员可在哪些条件下对哪些 AWS 资源执行哪些操作。
了解 IAM 的工作方式
在创建用户之前,您应该了解 IAM 的工作方式。IAM 提供了控制您的账户的身份验证和授权所需的基础设施。IAM 基础设施包含以下元素:
委托人
请求
身份验证
授权
操作
资源
委托人
委托人是可对 AWS 资源执行操作的实体。
请求
在委托人尝试使用 AWS 管理控制台、AWS API 或 AWS CLI 时,该委托人将向 AWS 发送请求。
身份验证
作为委托人,您必须进行身份验证 (登录到 AWS) 才能将请求发送到 AWS。此外,诸如 Amazon S3, 的一些服务允许来自匿名用户的请求。要从控制台中进行身份验证,您必须使用用户名和密码登录。要从 API 或 CLI 中进行身份验证,您必须提供访问密钥和私有密钥。您还可能需要提供额外的安全信息。AWS 建议您使用多重身份验证 (MFA) 以提高您的账户的安全性。
授权
在授权期间,IAM 使用请求上下文中的值检查匹配的策略并确定是允许还是拒绝请求。
策略作为 JSON 文档存储在 IAM 中,并指定为委托人允许或拒绝的权限 (基于身份的策略) 或为资源允许或拒绝的权限 (基于资源的策略)。
IAM 检查与请求上下文匹配的每个策略。如果一个策略包含拒绝的操作,IAM 将拒绝整个请求并停止评估。这称为显式拒绝。由于请求是默认拒绝的,因此,只有在匹配的策略允许请求的每个部分时,IAM 才会授权请求。评估逻辑遵循以下规则:
默认情况下,所有请求都将被拒绝。
显式允许将取代此默认设置。
显式拒绝将覆盖任何允许。
注意
默认情况下,仅 AWS 账户根用户有权访问该账户中的所有资源。因此,如果未以根用户身份登录,您必须具有策略授予的权限。
操作
在对您的请求进行身份验证和授权后,AWS 将批准请求中的操作。操作是由服务定义的,这是可以对资源执行的操作,例如,查看、创建、编辑和删除该资源。例如,IAM 为用户资源支持大约 40 个操作,包括以下操作:
CreateUser
DeleteUser
GetUser
UpdateUser
要允许委托人执行操作,您必须在应用于委托人或受影响的资源的策略中包含所需的操作。
资源
在 AWS 批准请求中的操作后,可以对您的账户中的相关资源执行这些操作。资源是位于服务中的一个实体。示例包括 Amazon EC2 实例、IAM 用户和 Amazon S3 存储桶。服务定义了一组可对每个资源执行的操作。如果创建一个请求以对资源执行不相关的操作,则会拒绝该请求。例如,如果您请求删除一个 IAM 角色,但提供一个 IAM 组资源,请求将失败。
如果在 IAM 中使用基于身份的策略提供权限,则仅提供访问同一账户中的资源的权限。如果您需要在另一个账户中发出请求,该账户中的资源必须具有附加的基于资源的策略以允许从您的账户中进行访问。否则,您必须在该账户中担任具有所需权限的角色。
IAM:亚马逊访问权限控制的更多相关文章
- 通过SecureCRT访问亚马逊Amazon EC2主机
		
亚马逊推出了免费的云主机服务器 Amazon EC2,它是通过安全密钥来访问主机的. 问题是下载的密钥在SecureCRT 上无法直接使用,需要转换. 下面的方法可以在自己的linux主机上生成sec ...
 - 解决亚马逊云服务器上安装nginx后无法访问的问题
		
在亚马逊云服务器上装了Ubuntu系统,使用docker环境搭建nginx,启动nginx容器后,在浏览器输入地址后,显示连接超时. 在网上查了一下说有可能是服务器安全组的设置问题 然后在云服务器的安 ...
 - 亚马逊EC2
		
亚马逊EC2编辑 本词条缺少信息栏,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 亚马逊弹性计算云(EC2,Elastic Compute Cloud)是一个让使用者可以租用云端电脑运行所需 ...
 - 亚马逊云架设WordPress博客
		
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 这篇文章介绍如何在亚马逊云架设WordPress博客.最强的云,加上最流行的建站工 ...
 - 成都亚马逊AWSome Day回顾
		
6月25日我和公司同仁一起参加了亚马逊在成都的第一场AWSome Day活动.整个活动时间异常紧促,短短一天包含了7堂session,讲师的狂轰乱炸使得我们同学们普遍觉得比上班累多了.好了,废话不多说 ...
 - 国外物联网平台(1):亚马逊AWS IoT
		
国外物联网平台(1)——亚马逊AWS IoT 马智 平台定位 AWS IoT是一款托管的云平台,使互联设备可以轻松安全地与云应用程序及其他设备交互. AWS IoT可支持数十亿台设备和数万亿条消息,并 ...
 - 微软、谷歌、亚马逊、Facebook等硅谷大厂91个开源软件盘点(附下载地址)
		
开源软件中有大量专家构建的代码,大大节省了开发人员的时间和成本,热衷于开源的大厂们总是能够带给我们新的惊喜.2016年9月GitHub报告显示,GitHub已经有超过 520 万的用户和超 30 万的 ...
 - 国外物联网平台初探(一) ——亚马逊AWS IoT
		
平台定位 AWS IoT是一款托管的云平台,使互联设备可以轻松安全地与云应用程序及其他设备交互. AWS IoT可支持数十亿台设备和数万亿条消息,并且可以对这些消息进行处理并将其安全可靠地路由至 AW ...
 - 让用户使用第三方账号(如亚马逊账号)接入AWS IoT系统
		
我们想象这么一个IoT应用场景:厂商A使用AWS IoT来开发物联网解决方案,那么A把设备卖给用户的时候,需要使用户能够登入AWS IoT系统来控制其购买的A的设备,也就是说给用户分配适当的权限.下面 ...
 
随机推荐
- .NET中进行Base64加密解密
			
方法一: /// <summary> /// Base64加密 /// </summary> /// <param name="Message"> ...
 - Python 函数(参数组合)
			
在Python中定义函数,可以用必选参数.默认参数.可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数.默认参数.可变参数和关键字参数 定义一 ...
 - [Android] 基于 Linux 命令行构建 Android 应用(七):自动化构建
			
本章将演示如何基于 Linux 命令行构建 Android 应用,在开始本章之前,希望你已经阅读之前几章内容. 本文环境为 RHEL Sandiego 32-bits,要基于 Linux CLI 构建 ...
 - phpdoc生成文档(暨pear/pecl管理包)
			
1.win下安装pear $file = 'http://pear.php.net/go-pear.phar'; $file2 = 'f:\go-pear.phar'; // Open the fil ...
 - umi怎么去添加配置式路由
			
今天在学习umi,他的路由机制非常的方便,但是在学到配置式路由的时候,看官方文档里面一笔带过: 对于我这种小萌新来说,有点懵,我需要把配置文件放到哪里呢?经过一番研究,发现它是放在根目录的.umirc ...
 - 九、K3 WISE 开发插件《工业单据老单序时薄插件工具栏按钮开发实例》
			
=============================== 目录: 1.添加工具栏按钮 2.查询被添加工具栏按钮的业务单据的FMenuID和FID 3.添加工具栏按钮和业务单据的映射关系 4.工具 ...
 - sencha touch/Ext Js 6 + 自定义扩展的用法
			
app.js中加入以下代码 //指定ux起调目录 Ext.Loader.setPath({ 'ux': 'app/ux' }); 在app目录中创建一个ux文件夹 假如我们使用这个扩展,扩展地址:ht ...
 - Zookeeper中Session Timeout的那些事
			
前言: RDS系统致力于MySQL数据的高可用,高可靠,高性能以及在线扩展功能,实现这些特性的主要逻辑功能都运行在管理服务器上,一旦管理服务器宕机,数据库的在线扩展功能/备份功能/故障恢复功能等都无从 ...
 - JQuery EasyUI Layout 在from布局自适应窗口大小
			
在JQuery EasyUI中,如果直接在form上布局时当窗口大小调整布局不会改变,将布局应用于body时中间隔着一个form,横竖不好弄. 网上有多个解决方案,一般都是写代码,在窗口大小改变时设置 ...
 - 洛谷试炼场-简单数学问题-P1045 麦森数-高精度快速幂
			
洛谷试炼场-简单数学问题 B--P1045 麦森数 Description 形如2^P−1的素数称为麦森数,这时P一定也是个素数.但反过来不一定,即如果PP是个素数,2^P-1 不一定也是素数.到19 ...