IAM(身份验证以及访问控制)
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(身份验证以及访问控制)相关推荐
- iam身份验证以及访问控制_如何将受限访问IAM用户添加到EKS群集
iam身份验证以及访问控制 介绍 (Introduction) Elastic Kubernetes Service (EKS) is the fully managed Kubernetes ser ...
- WebService安全 身份验证与访问控制
1.创建WebService 2.配置 网站 的 WebService文件夹目录安全性 - 身份验证与访问控制 3.访问WebService ================ 1.创建WebServi ...
- SQL Server 数据库之身份验证和访问控制
身份验证和访问控制 1. 身份验证模式 1.1 Window 身份验证模式 1.2 混合身份验证模式 2. 管理登录名 2.1 创建 Windows 登录名 2.2 创建 SQL Server 登录名 ...
- java实现iam登录认证_是否可以通过Cloudfront对API网关进行IAM身份验证?
是否可以通过Cloudfront将IAM角色身份验证用于API网关 endpoints ? 这是一个基本用例: / api - > API网关 / * - > S3 HTML / Java ...
- php身份证验证_PHP的身份验证和访问控制
php身份证验证 IBM安全身份和访问管理 在IBM白皮书" 何时需要访问 "中了解有关在Internet规模上管理访问控制的更多信息. 在本文的第一部分中,我向您介绍了Sentr ...
- java aws访问授权 实例_java – 使用IAM身份验证和Spring JDBC访问AWS ...
您可以使用以下代码段替换SpringBoot / Tomcat提供的默认连接池.它将每10分钟刷新一次令牌密码,因为令牌有效期为15分钟.此外,它假定可以从DNS主机名中提取区域.如果不是这种情况,则 ...
- etcd入门系列三:身份验证访问控制
etcd入门系列 一. etcd在docker中的安装与使用 二. etcd 开启 https 1. 简介 etcd 默认是没有开启访问控制的,如果我们开启外网访问的话就需要考虑访问控制的问题,etc ...
- AWS认证之身份验证考题总结
这里写自定义目录标题 AWS认证之身份验证考题总结 责任共担模式 重要考点 AWS身份验证和访问控制 其他考点 考试样题答案及解析 AWS认证之身份验证考题总结 用户和AWS共担责任,提高系统安全性, ...
- oidc auth2.0_使用Spring Security 5.0和OIDC轻松构建身份验证
oidc auth2.0 "我喜欢编写身份验证和授权代码." 〜从来没有Java开发人员. 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和 ...
最新文章
- [mmu/cache]-ARM cache的学习笔记-一篇就够了
- wincc 关闭弹出窗口C语言,退出WINCC操作画面时弹出对话框要求输入用户名和密码-工业支持中心-西门子中国...
- php代码里加图片,php如何添加图片
- try代码块中出现异常后try内程序会继续执行还是直接抛出异常?
- ASP.NET -- WebForm -- Cookie的使用 应用程序权限设计 权限设计文章汇总 asp.net后台管理系统-登陆模块-是否自动登陆 C# 读写文件摘要...
- 【无一时】的意思和解释
- linux指令ls -1,linux命令1--ls
- 软件测试,何去何从?想安逸不可能!软饭得硬吃...我整理的超全学习指南【值得每个测试一看】
- java包装经验_java中基本类型和包装类型实践经验
- NYOJ题目1045看美女
- ShuffleNet在Caffe框架下的实现
- 推荐算法可以做到千人千面,但是千人千面的流量利用效率一定是优于人工分发吗?
- andriod studio 卡在wating for target device to come
- 数据时代程序员必备技能:数据可视化
- 消费复苏中的企业该走向何处?
- 基于手机信令数据研究交通出行特征具体实现
- Nexus搭建私服(记录)
- yml中${}的意思
- 23 种设计模式的#羞羞#解释,听说能看懂的人都是泡妞高手
- Codeforces 题目合集+分类+代码 【Updating...】【361 in total】
热门文章
- python3抓取b站弹幕_python3写爬取B站视频弹幕功能
- python summary_利用python爬取新闻信息
- linux bes二进制查看工具,Linux的命令及工具
- whois查询系统网站程序
- html新一代网页播放器源码 未加密
- 用asp.net+Jquery+Ajax+sqlserver编写的 (英语六级记单词)
- c#中abstract与virtual的区别
- ollyice的学习
- 手把手教你如何安装Mac OS X 图文详细教程
- 官方版.NET SDK连线更新(2011/01/19)