1.简述

IAM(IDENTITY & ACCESS MANAGEMENT),身份验证以及访问控制,一种对资源提供可控安全的访问解决方案,现在的公有云基本都支持IAM来对公有云资源提供授权访问,各大云厂商命名可能不一致,如阿里称为RAM (Resource Access Management),但所支持功能基本都是一样.
概况来说IAM主要在发生资源访问时,首先是身份验证,然后是访问权限验证,以上两步通过后才能访问资源.否则访问会被拒绝.

2.关键术语

  • User(用户)

这里是指创建的IAM用户,一般由管理用户创建,新创建的用户没有任何权限.

  • Resource(资源)

这里一般指需要进行访问控制的产品,如公有云的数据库,虚拟机等.

  • Group(用户组)

这里是指用户组,可以将用户划分为不同用户组,授权时针对用户组授权,提高授权效率.

  • Policy(授权策略)

用来描述授权策略的一种描述语言,用于描述谁在xx条件下对xx资源具有xx操作.

  • AK (Access Key)

访问密钥由AccessKeyID和AccessKeySecret组成,用于云服务API请求的身份认证.

  • MFA (Multi-Factor Authentication)

主要为他们输入用户名和密码(第一安全要素-用户已知),还需要MFA设备的身份验证代码(第二安全要素 – 用户已有)。这样通过多重要素结合起来方式为账户和资源提供更高的安全保护.

  • Role(角色)

用户可以通过扮演角色从而拥有角色的权限,这里可以类比现实生活中,一个人会扮演不同角色,当扮演父亲角色时需要教育儿女,当扮演丈夫角色时可能需要跪搓衣板.
对于角色的详细解读,
可以见阿里云文档:https://help.aliyun.com/docum...

3.临时访问凭证

临时访问凭证主要针对一些不安全的访问环境,在这种访问环境下直接存储访问秘钥存在一定风险,发生访问秘钥泄露之后如果无法及时解除权限的话将会很危险。
因此可以使用服务端生成临时访问凭证的方式进行对资源的访问,TS可以指定复杂的策略来对特定的用户进行限制,仅提供最小的权限,且访问凭证具有时间限制,失效后需要重新获取.

5.policy概述

policy一般采用json格式进行配置,样例格式如下:

    {"Version": "1","Statement":[{"Effect": "Allow","Action": ["oss:List*", "oss:Get*"],"Resource": ["acs:oss:*:*:samplebucket", "acs:oss:*:*:samplebucket/*"],"Condition":{"IpAddress":{"acs:SourceIp": "42.160.1.0"}}}]}

5.1 Effect

授权效力包括两种:允许(Allow)和拒绝(Deny),每条授权语句要么Deny,要么是 Allow,当同时存在多条授权语句既包含有Allow又包含有Deny时,遵循Deny优先原则。

5.2 Resource

资源是指被授权的具体对象。
格式为:

acs:<service-name>:<region>:<account-id>:<relative-id>

acs:阿里云缩写
service-name: 服务名字.
region: 地区信息。如果不支持该项,可以使用通配符“*”号来代替。
account-id: 账号ID,
relative-id: 与service相关的资源描述部分,这部分的格式描述支持类似于一个文件路径的树状结构。如对于对象存储,可以指定到特定目录下的某个对象.

5.4 Action

操作方法是指对具体资源的操作,由服务名以及接口名组成.
格式为:

    <service-name>:<action-name>

样例:

    "Action": ["oss:ListBuckets", "ecs:Describe*", "rds:Describe*"]

5.5 Condition

限制条件是指授权生效的限制条件,这里一般通用的限制条件有访问者的IP地址,访问时间段等.

6.总结

IAM在管理平台使用比较广泛,目前各大云厂商的实现均有极大的借鉴意义,针对身份验证方面,传统的用户名密码方式安全度并不高,因此目前通常引入
MFA进行多次验证,MFA主要是TOTP算法(Time-Based One-Time Password Algorithm)的应用.

权限控制方面则尽可能授予最小权限,另一方面也需要做好职权分离.

参考

1.阿里云RAM https://help.aliyun.com/docum...
2.AWS IAM https://aws.amazon.com/cn/iam/
3.Googel IAM https://cloud.google.com/iam/
4.TOTP算法 https://tools.ietf.org/html/r...

IAM(身份验证以及访问控制)相关推荐

  1. iam身份验证以及访问控制_如何将受限访问IAM用户添加到EKS群集

    iam身份验证以及访问控制 介绍 (Introduction) Elastic Kubernetes Service (EKS) is the fully managed Kubernetes ser ...

  2. WebService安全 身份验证与访问控制

    1.创建WebService 2.配置 网站 的 WebService文件夹目录安全性 - 身份验证与访问控制 3.访问WebService ================ 1.创建WebServi ...

  3. SQL Server 数据库之身份验证和访问控制

    身份验证和访问控制 1. 身份验证模式 1.1 Window 身份验证模式 1.2 混合身份验证模式 2. 管理登录名 2.1 创建 Windows 登录名 2.2 创建 SQL Server 登录名 ...

  4. java实现iam登录认证_是否可以通过Cloudfront对API网关进行IAM身份验证?

    是否可以通过Cloudfront将IAM角色身份验证用于API网关 endpoints ? 这是一个基本用例: / api - > API网关 / * - > S3 HTML / Java ...

  5. php身份证验证_PHP的身份验证和访问控制

    php身份证验证 IBM安全身份和访问管理 在IBM白皮书" 何时需要访问 "中了解有关在Internet规模上管理访问控制的更多信息. 在本文的第一部分中,我向您介绍了Sentr ...

  6. java aws访问授权 实例_java – 使用IAM身份验证和Spring JDBC访问AWS ...

    您可以使用以下代码段替换SpringBoot / Tomcat提供的默认连接池.它将每10分钟刷新一次令牌密码,因为令牌有效期为15分钟.此外,它假定可以从DNS主机名中提取区域.如果不是这种情况,则 ...

  7. etcd入门系列三:身份验证访问控制

    etcd入门系列 一. etcd在docker中的安装与使用 二. etcd 开启 https 1. 简介 etcd 默认是没有开启访问控制的,如果我们开启外网访问的话就需要考虑访问控制的问题,etc ...

  8. AWS认证之身份验证考题总结

    这里写自定义目录标题 AWS认证之身份验证考题总结 责任共担模式 重要考点 AWS身份验证和访问控制 其他考点 考试样题答案及解析 AWS认证之身份验证考题总结 用户和AWS共担责任,提高系统安全性, ...

  9. oidc auth2.0_使用Spring Security 5.0和OIDC轻松构建身份验证

    oidc auth2.0 "我喜欢编写身份验证和授权代码." 〜从来没有Java开发人员. 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和 ...

最新文章

  1. [mmu/cache]-ARM cache的学习笔记-一篇就够了
  2. wincc 关闭弹出窗口C语言,退出WINCC操作画面时弹出对话框要求输入用户名和密码-工业支持中心-西门子中国...
  3. php代码里加图片,php如何添加图片
  4. try代码块中出现异常后try内程序会继续执行还是直接抛出异常?
  5. ASP.NET -- WebForm -- Cookie的使用 应用程序权限设计 权限设计文章汇总 asp.net后台管理系统-登陆模块-是否自动登陆 C# 读写文件摘要...
  6. 【无一时】的意思和解释
  7. linux指令ls -1,linux命令1--ls
  8. 软件测试,何去何从?想安逸不可能!软饭得硬吃...我整理的超全学习指南【值得每个测试一看】
  9. java包装经验_java中基本类型和包装类型实践经验
  10. NYOJ题目1045看美女
  11. ShuffleNet在Caffe框架下的实现
  12. 推荐算法可以做到千人千面,但是千人千面的流量利用效率一定是优于人工分发吗?
  13. andriod studio 卡在wating for target device to come
  14. 数据时代程序员必备技能:数据可视化
  15. 消费复苏中的企业该走向何处?
  16. 基于手机信令数据研究交通出行特征具体实现
  17. Nexus搭建私服(记录)
  18. yml中${}的意思
  19. 23 种设计模式的#羞羞#解释,听说能看懂的人都是泡妞高手
  20. Codeforces 题目合集+分类+代码 【Updating...】【361 in total】

热门文章

  1. python3抓取b站弹幕_python3写爬取B站视频弹幕功能
  2. python summary_利用python爬取新闻信息
  3. linux bes二进制查看工具,Linux的命令及工具
  4. whois查询系统网站程序
  5. html新一代网页播放器源码 未加密
  6. 用asp.net+Jquery+Ajax+sqlserver编写的 (英语六级记单词)
  7. c#中abstract与virtual的区别
  8. ollyice的学习
  9. 手把手教你如何安装Mac OS X 图文详细教程
  10. 官方版.NET SDK连线更新(2011/01/19)