AAD基础知识(identity/token/PRT)
简介
AAD(Azure Active Directory/Azure AD)是微软基于云身份验证和访问控制的解决方案,通过SSO登录其他o365应用(word/outlook/teams…)
微软在2023年7月把AAD重命名为Microsoft Entra ID,官网:https://www.microsoft.com/zh-cn/security/business/identity-access/microsoft-entra-id
- 启用AAD: https://www.microsoft.com/zh-cn/security/business/identity-access/azure-active-directory-enable
- license类型: free, Premium P1, Premium P2,大部分功能在P2中有:https://www.microsoft.com/zh-cn/security/business/microsoft-entra-pricing?rtc=1
基础
加入AAD
- 设备标识是 Microsoft Entra ID 中的一个对象,类似于用户、组或应用程序。 设备标识为管理员提供信息,供其在做出访问或配置决策时使用。
- 三种方法加入AAD来获取设备标识:
- Microsoft Entra registration: 无需用企业帐户登录到设备即可注册到 Microsoft Entra ID, 使用本地帐户登录, 一般使用场景是在移动设备上访问azure上资源
- Microsoft Entra join: 需要企业帐户登录到设备, 设备所有权属于企业,适合仅使用azure验证的企业,主要通过azure来管理设备
- Microsoft Entra hybrid join: 需要有本地AD连接来进行登录验证,适用于已有本地AD的企业,经常作为过渡到Microsoft Entra join的临时阶段。使用本地AD组策略进行管理
SecurityToken
- Access token(OAuth2):
- 简介: JWT格式,访问令牌使客户端可以安全地调用受保护的Web API, Web API使用访问令牌执行身份验证和授权。
- 存活时间: 默认时间可变,范围介于 60-90 分钟之间
- Refresh token:
- 简介: JWT格式,当access token过期时,可以使用刷新令牌获取新的访问和刷新令牌。Refresh token在access token下发时一起获得
刷新令牌可以因超时和吊销而随时撤销。 应用必须通过向用户发送交互式登录提示以再次登录来处理登录服务的吊销 - 存活时间: 默认生存期24 小时
- ID Token:
- 简介: JWT格式,包含有关用户的信息。 它们可以与访问令牌一起发送,也可以代替访问令牌发送。 使用 ID 令牌中的信息,客户端可以验证用户是否是其声称的身份
- 存活时间: 默认1小时
Claim
- 简介: Claim是security token中的键值对部分,应用程序授权时必须验证access token中的某些键值对(Claim)
- Claim校验: 为了确保授权逻辑安全,必须验证claim以下信息
(1)验证受众(目标app): 验证access token中的aud键值是否与Web API 匹配
(2)验证租户(tenant): 验证令牌中的tid键值是否匹配用于通过应用程序存储数据的租户ID
(3)验证使用者: 验证令牌使用者(如用户或仅应用令牌的应用程序本身)是否已获得授权,可以检查sub或oid键值,或可检查使用者是否属于具有roles、groups、wids 声明的相应角色或组。
(4)验证参与者(客户端应用程序): 代表用户的客户端应用程序也必须获得授权。使用 scp键值(范围)来验证应用程序是否有权执行操作。
Primary refresh token(PRT)
- 简介: 在加入AAD且注册的设备上,通过登录验证的会向win发放PRT(类似TGT),用于在这些设备上使用的应用程序之间实现SSO。PRT存储于win的lsass中
- 组成:
(1)设备 ID:PRT 将颁发给特定设备上的用户。设备 ID 声明用于根据设备状态或合规性来确定条件性访问的授权。
(2)会话密钥:会话密钥是 Microsoft Entra 身份验证服务生成的加密对称密钥,作为PRT 的一部分颁发。 当使用 PRT 为其他应用程序获取令牌时,会话密钥将用作所有权证明。 - 存活时间:默认14天,只要用户设备联网持续活跃,PRT会自动更新
- PRT相关关键组件
(1)云身份验证提供程序 (CloudAP):CloudAP 是 Windows 登录的新式身份验证提供程序,用于验证登录到 Windows 10 或更高版本设备的用户。 CloudAP 提供一个插件框架,可基于该框架构建标识提供者,以便使用该标识提供者的凭据完成 Windows 身份验证。
(2)Web 帐户管理器 (WAM):WAM 是 Windows 10 或更高版本设备上的默认令牌代理。 WAM 也提供一个插件框架,可基于该框架构建标识提供者,并为依赖该标识提供者的应用程序启用 SSO。
(3)Microsoft Entra CloudAP 插件(请求PRT组件):基于 CloudAP 框架构建的 Microsoft Entra 特定插件,用于在 Windows 登录期间使用 Microsoft Entra ID 验证用户凭据。当用户e,它还会缓存 PRT 以启用缓存的登录。
(4)Microsoft Entra WAM 插件(请求access token组件):基于 WAM 框架构建的 Microsoft Entra 特定插件,支持对依赖 Microsoft Entra ID 进行身份验证的应用程序进行 SSO。
(5)Dsreg:Windows 10 或更高版本上的 Microsoft Entra 特定组件,用于处理所有设备状态的设备注册过程。可通过dsreg /status
命令查看加入azure和PRT情况
(6)受信任的平台模块 (TPM):TPM 是内置于设备的硬件组件,为用户和设备机密提供基于硬件的安全功能。 - 获取场景:
(1)Microsoft Entra joined或Microsoft Entra hybrid joined:当用户使用其组织凭据登录时,在Windows登录期间发出PRT(hybrid joined是异步发,joined是同步发)。在这个场景中,Microsoft Entra CloudAP插件是PRT的主要认证组件。Microsoft Entra CloudAP插件使用用户提供的凭据从Microsoft Entra ID请求PRT
(2)Microsoft Entra registration:当用户在其Windows 10或更新的设备上添加辅助工作帐户时,会请求PRT - 获取过程:
相关文章:
AAD基础知识(identity/token/PRT)
简介 AAD(Azure Active Directory/Azure AD)是微软基于云身份验证和访问控制的解决方案,通过SSO登录其他o365应用(word/outlook/teams…) 微软在2023年7月把AAD重命名为Microsoft Entra ID,官网:https://www.microsoft.com/zh-cn/security/b…...
基于SSM的视频点播系统设计与实现
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用Vue技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...
React 知识点总结
本篇文章是我自己总结已经写过的react知识点,大框架已生成,知识持续更新中。仅供参考 生命周期 React 生命周期 组件基础 react中受控组件与非受控组件 React Portals 理解React页面渲染原理,如何优化React性能? 学习篇之R…...
ALSA project the C library refrerenc (ALSA工程 C库参考说明)
作者: Jaroslav Kysela perexperex.cz Abramo Bagnara abramoalsa-project.org Takashi Iwai tiwaisuse.de Frank van de Pol fvdpolcoil.demon.nl前言: 高级linux音频架构(ALSA)来自内核API和库的API.这个篇文章描述了应用层库API和内核层API对应是怎么的interfaces.API用法: …...
【Maven基础篇-黑马程序员】Maven项目管理从基础到高级,一次搞定!
文章目录 前言Maven简介Maven是什么Maven的作用 Maven的下载与安装Maven基础概念仓库坐标仓库配置全局setting与用户setting区别 第一个Maven程序(手工制作)第一个Maven程序(IDEA生成)使用模版(骨架)创建Ma…...
MySQL进阶 —— 超详细操作演示!!!(下)
MySQL进阶 —— 超详细操作演示!!!(下) 五、锁5.1 概述5.2 全局锁5.3 表级锁5.4 行级锁 六、InnoDB 引擎6.1 逻辑存储结构6.2 架构6.3 事务原理6.4 MVCC 七、MySQL 管理7.1 系统数据库7.2 常用工具 MySQL— 基础语法大…...
SVM(上):如何用一根棍子将蓝红两色球分开?
⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者:秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据开发、数据分析等。 🐴欢迎小伙伴们点赞👍🏻、收藏⭐️、…...
libevent源码学习笔记
libevent源码学习笔记 libevent安装libevent源码解析(1)事件对象(2)事件操作(3)事件循环(4)事件处理 常用指令问题记录问题一:长连接的管理问题二:连接关闭问…...
C++ opencv设置视频的捕获方式为 MJPG设置失败
我有一款4k摄像头,在设置分辨率为4k的时候总是出现帧率不够的情况, 使用命令查看 v4l2-ctl --device/dev/video0 --list-formats-ext发现 v4l2-ctl --device/dev/video0 --list-formats-ext ioctl: VIDIOC_ENUM_FMTType: Video Capture[0]: MJPG (Moti…...
计算机网络两位伟人
克劳德艾尔伍德香农 克劳德艾尔伍德香农(Claude Elwood Shannon)是一位美国数学家、电子工程师和计算机科学家,被誉为“信息论之父”。他于1916年生于密歇根州,于2001年去世。以下是一些关于他的详细介绍: 信息论的奠…...
机器学习 不均衡数据采样方法:imblearn 库的使用
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…...
MySQL系统与内建函数
在游戏开发、特别是像《三国志》这样的大型策略游戏中,数据分析是不可或缺的。从玩家行为到游戏内的战役结果,都需要通过高效的数据分析来优化游戏体验。MySQL的系统和内建函数为这样的分析提供了强大的工具。 本文将详细介绍MySQL中常用的系统与内建函数,并通过《三国志》…...
STM32CubeMX学习笔记-USB接口使用(CDC虚拟串口)
STM32CubeMX学习笔记-USB接口使用(CDC虚拟串口) 一、USB简介二、新建工程1. 打开 STM32CubeMX 软件,点击“新建工程”2. 选择 MCU 和封装3. 配置时钟4. 配置调试模式 三、USB3.1 参数配置3.3 配置时钟3.4 USB Device 四、生成代码五、查看端口…...
腾讯云 Cloud Studio 实战训练营结营活动获奖公示
点击链接了解详情 “腾讯云 Cloud Studio 实战训练营” 是由腾讯云联合 CSDN 推出的系列开发者技术实践活动,通过技术分享直播、动手实验项目、优秀代码评选、有奖征文活动等,让广大开发者沉浸式体验腾讯云开发者工具 Cloud Studio 的同时,实…...
使用晶体管做布尔逻辑和逻辑门
目录 二进制,三进制,五进制 true,false表示0,1 早期计算机采用进制 布尔逻辑 三个基本操作:NOT,AND,OR 基础“真值表” NOT 如何实现? AND如何实现? OR如何实现? 图标表示…...
Linux系统编程系列之线程的信号处理
一、为什么要有线程的信号处理 由于多线程程序中线程的执行状态是并发的,因此当一个进程收到一个信号时,那么究竟由进程中的哪条线程响应这个信号就是不确定的,只能取决于哪条线程刚好在信号达到的瞬间被调度,这种不确定性在程序逻…...
【C语言】青蛙跳台阶 —— 详解
一、问题描述 跳台阶_牛客题霸_牛客网 (nowcoder.com) LCR 127. 跳跃训练 - 力扣(LeetCode) 二、解题思路 1、当 n 1 时,一共只有一级台阶,那么显然青蛙这时就只有一种跳法 2、当 n 2 时,一共有两级台阶ÿ…...
Java - 基本数据类型和封装类型
基本类型有默认值,而包装类型初始为null。然后再根据这两个特性进行分业务使用,在阿里巴巴的规范里所有的POJO类必须使用包装类型,而在本地变量推荐使用基本类型。 Java语言提供了八种基本类型。六种数字类型(四个整数型ÿ…...
day-63 代码随想录算法训练营(19) 图论 part 02
1020.飞地的数量 分析:求不跟边界接壤的陆地的数量 思路一:深度优先遍历 先从四个侧边找陆地,然后进行深度优先遍历,把所有接壤的陆地(1)全部转换成海洋(0) 深度优先遍历…...
SpringBoot的全局异常拦截
在 Spring Boot 中,可以通过使用 ControllerAdvice 注解和 ExceptionHandler 注解来实现全局异常拦截。 RestControllerAdvice RestControllerAdvice 是 Spring Framework 提供的注解,用于定义全局异常处理类,并且结合 ExceptionHandler 注…...
『力扣每日一题11』:转换成小写字母
一、题目 给你一个字符串 s ,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。 示例 1: 输入:s "Hello" 输出:"hello"示例 2: 输入:s "here" 输…...
复习Day07:链表part03:21. 合并两个有序链表、2. 两数相加
之前的blog链接:https://blog.csdn.net/weixin_43303286/article/details/131700482?spm1001.2014.3001.5501 我用的方法是在leetcode再过一遍例题,明显会的就复制粘贴,之前没写出来就重写,然后从拓展题目中找题目来写。辅以Lab…...
Ubuntu中启动HDFS后没有NameNode解决办法
关闭进程: stop-dfs.sh 格式化: hadoop namenode -format 出现报错信息: 23/10/03 22:27:04 WARN fs.FileUtil: Failed to delete file or dir [/usr/data/hadoop/tmp/dfs/name/current/fsimage_0000000000000000000.md5]: it still exi…...
AWS-Lambda之导入自定义包-pip包
参考文档: https://repost.aws/zh-Hans/knowledge-center/lambda-import-module-error-python https://blog.csdn.net/fxtxz2/article/details/112035627 简单来说,以 " alibabacloud_dyvmsapi20170525 " 包为例 ## 创建临时目录 mkdir /tmp cd ./tmp …...
MAC 如何解决GitHub下载速度慢的问题
说在前面 解决github下载速度慢的方法很多,本文主要介绍通过Git镜像的方式解决下载慢的问题。 主要步骤有:1、找到gitconfig文件, 2、通过git命令查看当前生效的config 配置 3、使用git config命令编辑并添加国内镜像源 1、gitconfig 文件在…...
Redis与分布式-哨兵模式
接上文 Redis与分布式-主从复制 1.哨兵模式 启动一个哨兵,只需要修改配置文件即可, sentinel monitor lbwnb 1247.0.0.1 6001 1先将所有服务关闭,然后修改配置文件,redis Master,redis Slave,redis Slave…...
创建型设计模式 原型模式 建造者模式 创建者模式对比
创建型设计模式 单例 工厂模式 看这一篇就够了_软工菜鸡的博客-CSDN博客 4.3 原型模式 4.3.1 概述 用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象。 4.3.2 结构 原型模式包含如下角色: 抽象原型类:规定了…...
HTML详细基础(二)文件路径
目录 一.相对路径 二.绝对路径 三.超链接标签 四.锚点链接 首先,扩展一些HTML执行的原理: htmL(hypertext markup Language) 是一种规范(或者说是一种标准),它通过标记符(tag)来标记要显示…...
大数据-玩转数据-Flink 海量数据实时去重
一、海量数据实时去重说明 借助redis的Set,需要频繁连接Redis,如果数据量过大, 对redis的内存也是一种压力;使用Flink的MapState,如果数据量过大, 状态后端最好选择 RocksDBStateBackend; 使用布隆过滤器,…...
1.在vsCode上创建Hello,World
(1).编译器的安装配置 使用vsCode进行编写c语言,首先需要安装gcc编译器,可以自己去寻找资料或者gcc官网进行下载. 下载好后,将文件夹放入到自己指定的目录后,配置系统环境变量,将path指向编译器的bin目录 进入bin目录打开cmd,输入gcc -v,然后就会成功输出信息. (2).vsCode配…...
个人网站设计及实现论文/重庆森林电影简介
汽动凝结水泵市场的企业竞争态势 该报告涉及的主要国际市场参与者有Aspen Pumps、Roth Pump、Shipco Pumps、Little Giant、Dayton、Movincool、Hartell、Diversitech、Hoffman Pump、Liebert、Skidmore Pump等。这些参与者的市场份额、收入、公司概况和SWOT分析都包含在汽动凝…...
做电影网站有什么好处/19
原标题:分布式系统架构协调:Zookeeper中间件一、Zookeeper基础简介1、Zookeeper简介Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储&a…...
唐山网站设计公司/seo推广经验
Camera360作为国内Android平台最受欢迎的手机拍照应用,6月份开始进军iOS平台,5个月后今天,推出了支持实时预览功能的V2.0版。之前雷锋网也对其做过评测。Camera360工作人员介绍:新版应用升级了图像处理引擎,将照片处理…...
南宁网站设计图/扬州整站seo
从一个异常探索spring autowired 的原理参考文章: (1)从一个异常探索spring autowired 的原理 (2)https://www.cnblogs.com/FlyAway2013/p/7819091.html 备忘一下。...
广州网站建设系统开发/整站优化seo
您已经完成了健身应用两个主要页面的制作,现在来给两个页面的内容添加动画效果,首先返回编辑器的顶部。 添加一个布尔类型的属性,标识是否开始播放动画。 设置标题视图的默认不透明度为0,当开始执行动画时,视图逐渐显示出来。 使用相同的方式,给列表视图添加渐显动画,…...
公司需要一个简单的网站/下载百度地图2022最新版官方
Tools 工具 性能分析– 在脚本运行期定时执行不同函数和操作,找出需要优化的部分 网络分析– 检查图片,样式表,和脚本的加载过程,汇报它们对整个页面加载和渲染的影响 网络面板 每个资源后面的彩条将加载过程分解为组件阶段&am…...