专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

在Uber扩大Kerberos的采用(译文)

  介绍
  自2015年以来,优步一直在运营基于ApacheHadoop的数据分析平台。随着2016年采用率呈指数级增长,我们决定使用Kerberos身份验证来保护我们的平台。从那时起,Kerberos已成为我们安全基础架构的重要组成部分,不仅支持Uber的Hadoop生态系统,还支持其他被认为对我们的技术堆栈至关重要的服务。
  Uber在数千台机器上部署了庞大而多样化的技术堆栈,并存储了超过300PB的分析数据。使用Kerberos身份验证的系统包括YARN、HDFS、ApacheHive、ApacheKafka、ApacheZookeeper、Presto、ApacheSpark、ApacheFlink和ApachePinot,等等。除了开源系统,许多内部开发的平台和服务也使用Kerberos进行身份验证。所有这些服务都需要安全地相互通信,并为其所有用户客户端提供安全访问。
  在这篇博文中,我们将分享一些关键挑战和解决方案,这些挑战和解决方案使我们能够在Uber扩大采用Kerberos进行身份验证。Kerberos
  在我们开始描述我们在Uber采取了哪些步骤来扩展Kerberos之前,让我们先从高层次的角度来了解Kerberos。
  Kerberos是一种计算机网络身份验证协议。它以希腊神话中哈迪斯的三头看门狗刻耳柏洛斯(Cerberus)命名。该协议于1980年代初在麻省理工学院首次开发,目前的版本发布(v5)可追溯到1993年。尽管它是一个相当古老的协议,但其优势使Kerberos能够满足分布式系统的要求,而无需对原始设计进行任何重大更改。
  图1:Kerberos协议
  正如Kerberos名称所暗示的那样,该协议有3个核心参与者:密钥分发中心(KDC):Kerberos服务器,用于存储主体(用户或服务)及其凭据,并允许他们相互证明自己的身份客户端:由需要访问某些资源的用户或服务运行的进程资源服务器:为网络客户端提供资源的服务器
  该协议通过在参与者之间交换票证来工作:每个Kerberos网络服务通常在启动期间使用KDC进行身份验证,并在运行时保持身份验证票证有效如果客户端需要访问一些受Kerberos保护的网络资源,它首先使用KDC登录并获得一个可过期的身份验证票证(TGTticketgrantingticket)。TGT将允许客户端在没有客户端凭据的情况下请求访问任何资源(SSO稍后会详细介绍)使用此票证,客户端需要向KDC请求特定资源服务器的服务票证现在,客户端可以通过提供服务器票证向资源服务器进行身份验证
  一件值得一提的重要事情是,Kerberos允许其客户端使用两种方法之一进行身份验证:使用明确的密码或使用名为keytab的安全密钥文件。
  Kerberos具有一些重要的优势,使其能够被各种系统广泛采用,这就是我们在Uber使用它的原因:Hadoop生态系统(在Uber大量使用)原生支持基于Kerberos的身份验证凭据永远不会在未加密的情况下通过网络发送票证的生命周期有限,因此在票证过期后,客户端必须使用KDC进行身份验证才能获得新票证它是一种单点登录(SSO)协议,这意味着客户端需要向KDC进行一次身份验证,以便能够在票证有效时访问任何受Kerberos保护的资源所有客户端和服务器服务都相互认证票据可以补充主机信息,允许一台受感染的主机不影响网络中其他主机的安全我们可以通过在它们之间设置信任关系来构建独立的Kerberos领域(域)的层次结构该系统经过验证、可靠,并且在确保基础设施安全方面拥有良好的记录
  Hadoop选择Kerberos作为其主要身份验证协议的一些具体原因可以在这篇论文中找到。有关Kerberos的更多详细信息,请参阅RFC4120或维基百科。标准化账户类型
  身份验证从身份开始。随着优步经历高速增长阶段,每天使用数据平台的员工和团队数量迅速增长。如果没有适当的流程,我们就很难指导不同部门和工作职能(运营、数据科学家、分析师、工程师)的用户以正确的方式利用适当的账户来完成他们的任务。
  身份验证过程涉及两方:客户端和服务器。用户始终是客户端,而服务可以代表双方。我们有许多不同的用例和帐户类型,它需要一些标准化以便于增长,因此我们首先建立以下命名法来向我们的用户传达最佳实践:
  帐户类型
  描述
  用户帐号
  对于人员(员工)访问,临时数据探索
  示例:employeeaccountuber。com
  服务帐号
  用于运行日常管道,即使原始管道作者离开公司,团队也会维护这些管道。
  服务帐户由同名的Linux组支持,因此项目成员可以添加到该组并获得对服务帐户写入的数据的访问权限。
  示例:ubereatsDATA。UBER。COM
  系统帐号
  对于构成数据基础架构堆栈的系统。与服务帐户不同,此处不添加任何组成员以避免任何安全风险。
  示例:hdfsDATA。UBER。COM
  服务主机帐户
  这使我们能够将主体和keytab凭证的范围限定为特定的{service,host}组合。在keytab被破坏的情况下,我们只需要轮换特定的{service,host}keytab,而不是在多个主机之间轮换服务keytab(与服务帐户相反)。这通常由跨大量主机部署的服务使用。
  示例:hdfsuswest123。internalDATA。UBER。COM
  除了在wiki中定义帐户和描述它们之外,我们还构建了自助服务功能来创建服务帐户并将它们用于访问控制策略。在加入新数据集或ETL作业时,如果服务没有帐户或者它是一项新服务,则拥有团队将被重定向到自助帐户创建过程。新创建的帐户可在24小时内使用。
  图2:服务帐户创建过程
  我们还确保自动生成相应的密钥表并将其分发给具有适当权限的边缘主机。
  帐户传播
  图3:将帐户传播到生产基础设施
  Uber依靠MicrosoftActiveDirectory(UberAD)进行用户和群组管理。UberAD是人员账户和团体成员信息的真实来源。正如我们前面提到的,服务和系统帐户在AD中表示为具有特定属性的组,以将它们与常规用户组区分开来。
  一个公司通常有多个Kerberos领域来分离关注点。Dataorg作为Uber内部的一个内部组织,决定采用专门的Kerberos设置MITKerberos实现,由OpenLDAP数据库支持。数据Kerberos存储主机、服务和系统帐户的主体。Uber的人员帐户(employeeuber。com)可以通过Kerberos进行身份验证,以访问通过与UberAD(不同领域)的单向信任促进的数据资源。
  我们的数据服务可以部署在Docker容器中,也可以作为裸机主机上的常规操作系统进程。为了减少ActiveDirectory上的负载,我们实施了用户和组同步过程,以将用户及其组成员资格传播到整个数据堆栈。
  这奠定了基础设置,使员工和服务能够更好地利用我们的身份验证和授权基础设施。Kerberos架构
  目前,Kerberos基础设施总共为超过100,000个主体提供身份验证。为了支持这种规模的请求量并保持低延迟,我们在所有区域部署了多个Kerberos服务器实例。
  图4:Kerberos架构
  虽然Kerberos服务器可以部署在各种配置中,但我们选择了多提供商设置以实现高可用性:所有提供商节点独立运行,包含相同的信息,并且可以轻松地相互交换。
  每个提供者与自身以及多个KDC消费者节点形成一个独立的集群。来自提供者的所有数据都被复制到其集群的消费者节点。Kerberos支持多种方法来设置其节点之间的复制:它可以通过KDC或后端数据库来完成。我们使用OpenLDAP作为KDC的数据库,因此所有Kerberos复制都依赖于OpenLDAP。要复制数据,只有消费者节点需要知道提供者节点,这让我们可以轻松地从集群中添加或删除消费者节点。在此设置中,将消费者节点提升为提供者也是一个相对简单快捷的操作。
  为了避免提供者节点之间的写入冲突,我们在任何时间点都只以读写模式运行单个提供者,而所有其他提供者节点都是只读的。
  每个集群都在相同的基于区域的DNS名称(kdc。region1。data。uber、kdc。region2。data。uber等)下将其消费者节点添加为DNSA记录,因此所有客户端都进行身份验证使用简短且众所周知的DNS名称而不是特定主机名的Kerberos。同时,提供者节点对客户端是隐藏的,只能在Kerberos基础设施服务中访问。
  具有多提供商设置和数十个消费者节点的区域集群使我们能够扩展Kerberos以满足请求量并提高采用率。在下一节中,我们将描述围绕此Kerberos部署的支持基础结构。密钥表分发管道概述
  当Kerberos在2016年建立时,团队必须承担的一项新操作任务是注册新主体并将密钥表(具有主体凭据的文件)安全地分发给请求团队。我们最初的方法涉及手动登录到Kerberoskadmin主机以注册帐户、生成密钥表并将它们scp到与团队预先确定的共享位置。这种方法有多个问题:生成新主体和密钥表的临时请求的数量为已经因生产事件和基础设施可扩展性问题不堪重负的团队带来了更多工作主体和密钥表的手动配置阻碍了实现服务的完全自动化部署的愿景凭证在没有任何严格和定义的过程的情况下从手传递到手时的安全问题与kadmind的每次手动交互都会带来意外删除或损坏生产数据的风险
  在之前的博客中,我们描述了我们如何对整个Hadoop基础设施堆栈进行容器化,使我们能够扩展和操作Hadoop。作为全公司范围内实现完全自动化基础设施的更大努力的一部分,我们使用我们内部称为KeytabDistributionPipeline的系统自动生成和分发keytabs,该系统实质上跨数据服务分发keytabs并自动执行。
  Keytab分发管道(KDP)主要负责以下内容:观察元数据变化的预定义源,然后将其用作创建删除Kerberos主体的输入从上面创建和删除与主体对应的密钥表,并确保它们在安全库中可用提供和维护可以从安全库中安全地获取密钥表的客户端
  我们投入大量资金来简化任何新服务的KDP入职流程服务所有者团队需要做的工作包括定义配置(约3行)和在服务代码库中添加客户端调用(另外约3行)。轻松加入KDP和自动管理keytabs极大地促进了Kerberos的日益普及。
  图5:Keytab分发管道
  密钥表有两大类用例:使用服务或系统帐户运行自动化管道或作业的服务在向服务集群添加节点期间使用服务主机主体(例如hdfsuswest123)进行身份验证的大型队列服务(HDFS、YARN等)
  专注于上述用例的入职便利性,我们确定了KDP自动化并将其与3个系统集成:ActiveDirectory(AD):服务和系统帐户的真实来源有关每项服务及其部署主机的信息
  来源Odin:Uber用于有状态服务的内部编排系统
  b。Peloton:Uber的无状态服务内部编排系统Kerberos桥
  图6:Kerberos桥
  管道中的第一个组件是KerberosBridge服务(Kerberos基础设施和外部元数据提供者之间的桥梁)。它定期从元数据提供者处获取服务和主机元数据,并基于它更新内部Git存储库中相应的keytab条目。密钥表条目还不是实际的Kerberos密钥表它们是密钥表的元数据,其中包含主体名称、为密钥表设置正确权限的所有者信息,以及一些其他支持信息。选择Git作为内部存储库允许我们使用其内置功能,例如通过Git历史进行审计、使用Git还原进行回滚、访问控制以及在需要对条目进行手动更改时进行同行评审。密钥表管理器
  图7:KeytabManager
  现在我们已经到达了管道的核心部分Kerberos提供者主机(提供者主机对客户端是隐藏的,只有KDP可以与它们交互)。我们在主机上运行以下进程:KDC(用于身份验证,与此管道无关)、KDCAdmin(kadmin管理Kerberos主体和密钥表的客户端)、OpenLDAP和我们的Uber内部KeytabManager服务。
  KeytabManager是开源KDCOpenLDAP系统和我们内部Uber服务之间的粘合剂。与KerberosBridge类似,它监视Keytab条目存储库的任何新更改。一旦KeytabManager看到存储库中的更改(例如,添加了新的密钥表条目hdfsuswest123DATA。UBER。COM(意味着HDFS服务部署在新主机uswest123上)),它通过调用本地kadmin进程创建一个新的同名Kerberos主体,该进程由OpenLDAP数据库支持。创建主体后,服务生成相应的密钥表文件(hdfsuswest123。keytab)。
  keytab文件以适当的粒度权限安全地存储在SecretsStore中,稍后在检索keytab时使用。KeytabManager服务还监控SecretsStore并使用任何新的或删除的keytab文件对其进行更新,并根据相应keytab条目中的所有者设置其权限。密钥表获取器
  图8:KeytabFetcher
  我们管道中的最后一个组件是KeytabFetcher,这是一个库,任何服务都可以将其集成到其代码库中并从SecretsStore中获取其密钥表。编排系统代理(部署在整个Uber车队上)负责利用KeytabFetcher下载密钥表并将其提供给服务容器。
  整个KDP由SPIRE保护,它允许服务在更新和从秘密存储中检索秘密之前进行身份验证。然后,SecretsStore将只允许服务访问keytabs,前提是它们被允许这样做。
  图9:一周内生成的Keytab
  KDP已经在Uber投入生产超过2年。它每周生成和分发超过1000个密钥表。高度自动化使团队无需参与注册委托人和分发密钥表。自动化系统还使我们能够根据需要轮换密钥表。我们花了最少的时间监控KDP仪表板,以确保整个自动化系统按预期工作。结语
  我们为Kerberos选择的架构和我们使用Keytab分发管道构建的自动化提高了开发人员的工作效率、数据堆栈的安全性、可靠性(因为现在一切都是自动化的),并使我们能够轻松扩展数据服务的身份验证。
  作者:AlexanderGulko,Mithun(Matt)Mathew
  出处:https:www。uber。comenUSblogscalingadoptionofkerberosatuber

能当开瓶器的手机支架,追求看剧喝酒三不误手机支架,绝对是花小钱就能提升我们生活幸福感的小物之一。但用多了就会发现无论是什么价位的支架,多少都有点不太让人满意。(图源于网络,侵删)立式的支架出门不好携带,出门想用时又用不了文旅部拟出台规定,网络直播演出应采取延时直播方式播出文化和旅游部近日发布通知,规定举办网上音乐会演唱会等应先申请取得网络文化经营许可证,直播剧目应采取延时直播方式播出。文化和旅游部发布的文化和旅游部关于规范网络演出剧(节)目经营活动养老金开始严查,这5种情形不要触犯,记得转发给家人养老金开始严查,这5种情形不要触犯,记得转发给家人。养老金是大部分退休人员唯一的经济来源,养老金的多少直接决定了退休人员生活质量的好坏。所以,养老金是否能够按时足额发放,也是全社会VR新品PICO4国内发布会三大看点干货满满2022年9月27日,VR品牌PICO将于青岛召开新品发布会,发布新一代VR一体机PICO4系列。此前,PICO4新品已在海外发布,最终定价为128GB版429欧元(约合人民币30国产存储芯片崛起仅用3年打破日韩垄断,成功跻身苹果供应链?2022年9月,iPhone14系列的上市吸引不少人关注,也引发市场对果链企业的追捧。目前,苹果供应链里的中国企业达到98家(包括46家台湾企业和10家香港企业),占比接近一半,京最新油价2022年9月28日国内国六929598号汽油,0号柴油价格本轮油价最新走势行情预测今天是2022年9月28日距离下次油价调整还有12天的时间目前综合原油变化率为3。05,预测下调约160元吨左右,折合升计算约下调0。11元升左右调价详细时40分钟进6球,英德大战终于让欧国联这场堂会不再寂寞欧国联小组赛最后一战,提前降级的英格兰主场迎战提前无缘四强的德国队。赛前,老谭以为,虽然这是一出世界杯之前热身练兵的堂会,当不得真,但好歹也是欧洲杯亚军的英格兰怎么都该知耻而后勇在冉莹颖计划4胎压力大!深夜痛哭引人担忧,住上亿豪宅称生活不易近期,著名拳星邹市民的妻子冉莹颖在某社交媒体上开了一场直播,在直播过程中,冉莹颖一直都在和网友们分享她与邹市明的感情生活,并透露出自己与邹市明有不可调节的矛盾,在直播间的网友们也纷扛不住了?美芯片巨头全面提速,外媒压力落到台积电身上一眨眼,距离美修改芯片规格已经过去3年了,虽然华为等中国芯片企业还在夹缝中生存,但值得欣慰的是,目前一切都在向好的方向发展。对于美企来说,情况就没有这么乐观了。以高通为例,没了地位中军通信消费返利模式涉嫌非法集资同样是买手机,为什么不买一款不要交话费,还能赚钱分红的手机,团队销售500部手机,被动月收入约40万!近期,关于中军通信5G手机的广告越来越多地出现在了各个网络社交平台当中,并已吸福布斯2022美国富豪榜10位最年轻的富豪文JemimaMcEvoy在过去一年里,加密货币的震荡和科技领域的纷乱导致许多年轻亿万富豪的财富排名大幅下滑,但有10个人幸存了下来。要成为年轻的亿万富豪并不像以前那样容易了。去年
初来海南应做到三必美丽的海滩海南省,简称琼,位于中国南端。海南省是中国国土面积(陆地面积加海洋面积)第一大省,陆地面积3。54万平方公里,人口917。13万(2016年)海南经济特区是中国最大的省级中国资产春节假期领涨海外市场,A股兔年开门红稳了?中国兔年春节假期期间,虽然A股休市,但境外的中国资产却兔飞猛进。Wind数据显示,1月23日至1月27日的全球主要股指中,纳斯达克指数以大幅上涨4。32领先,紧随其后的韩国综合指数布林肯中东灭火意图难实现新华社耶路撒冷2月1日电(国际观察)布林肯中东灭火意图难实现新华社记者美国国务卿布林肯1月31日结束为期三天的中东之行。他先后访问了埃及以色列和巴勒斯坦,为巴以紧张局势降温成为此行一双鞋换来的一份信任2023年1月29日,望潜华庭物业管理处收到了新年的第一面锦旗心系业主,热情服务,送来锦旗的是小区业主袁女士。据了解,去年10月份,由于楼栋主下水管堵塞,导致业主袁女士家中卫生间地49岁刘强东三胎得子,不陪章泽天坐月子,17岁长子的处境引发热议49岁刘强东三胎得子,不陪章泽天坐月子,17岁大儿子的处境引发热议。近日,据相关媒体报道,章泽天生了,刘强东三胎得子,在妻子章泽天生产后,刘强东被拍到赶回北京处理工作,一路步伐轻盈4波人曾无限接近事发地,粮库人员的一句话,让遗体晚找到63天胡鑫宇案件终于迎来了大结局,虽然整个案件有太多的巧合点,但仔细梳理一下时间线,并不复杂。说实话,小胡同学的这起失踪事件,被耽搁了太长时间了,所以从1月29日警方发布的通报开始,个人精子要经历多少磨难,才能和卵细胞结合?提前了解助力好孕44岁的爱云最近遇到了一些苦恼。原来,爱云有一个15岁的儿子,这个年纪的孩子正是对世界好奇心极强的时候,每天都有无数个问题。爱云虽然念过书,但是对于他的很多问题也不能完全解答,只能您的孩子()让您有哪些难以忘怀又有趣儿的事?记得怀孕时有天晚上梦见一条小蛇,心里也没当一回事儿,当是普通的做梦吧,后来隔了几天去田间玩儿,又看见草丛里一条小蛇在窜。虽然平时一点儿也不喜欢软软的,无脊椎的动物,但是那次一点儿也寒假里,老母亲千万要克制你那泛滥的母爱昨天,大宝听听力的时候不停地打嗝,我很奇怪我和小宝洗了头发,他又没洗,怎么回事?昨天下午,看到窗外阳光明媚,我决定冒险洗头发,先给小宝洗了,给她理了理,继续理成狗屎碟碟的帅气短发。孩子长期戴眼镜,眼睛会出现什么变化?很多家长认为,戴眼镜会使眼睛变形,并且戴了以后近视度数越来越深,从此孩子就永远无法离开眼镜,再也摘不下来了。这其实是一个很常见的认识误区。说实话,这些事实确实存在,但其实造成这一切断奶时奶涨怎么办断奶会让很多妈妈解放,不必每天想着给宝宝喂奶,妈妈这个时候可以自己放松一下,但是断奶的时候发生的奶涨现象却是让很多妈妈很痛苦的事儿,怎样解决这件烦心事儿成为了关键。1。断奶本身就是
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网