• [管理与部署] 【云小课】应用平台第2课 超过99%的用户都在用的云服务!你不能不知道!
    从我们登录华为云的那一刻起,就开始了与统一身份认证服务(Identity and Access Management,简称IAM)的密切接触,为啥这么说?因为连华为云的登录页面都是IAM的程序猿小哥哥做的!今天这一课我们就来聊一聊这个功能强大又操作便捷的云服务--IAM。谁能用IAM?是你,就是屏幕对面的你!权限管理--如果将你账号里的各种资源类比成一块大水果蛋糕,而你想把草莓味的只分给小A,又想把抹茶味的分给小B和小C一起吃,这就是一个典型的权限管理问题,IAM会把你的权限管理得明明白白,小A的蛋糕绝不让小B和小C看到。账号安全管理--当你在华为云上购买的资源越来越多,一定会越来越担心“盗号风险”,连家里防盗门锁都升级了,华为云的账号安全怎能不升级?了解IAM的账号安全管理,给你的资源加上多重保险,妈妈再也不用担心我的账号安全!委托--如果将你账号里的资源看成一个豪宅,而你想找一个专业的管家帮你打理豪宅内外的琐事,这就是一个典型的委托管理问题,来找IAM,帮你把你的各类委托分配的清清楚楚,如果你对你找的管家不满意,随时可以“解雇”他,取消委托关系。身份提供商--什么?一个富二代刚刚继承了家族巨额财产还有多家上市企业?霸道总裁不想为公司员工逐一创建IAM用户又点名要使用华为云?安排!身份提供商让你的员工完美单点登录,再也不用辛苦记住无数个账号密码!划重点了,如此强大怎么收费?免费!!!就是这么任性!权限管理--他只能做你同意的事使用IAM,你可以将账号内不同的资源按需分配给你创建的IAM用户,IAM用户使用自己独立的用户名和密码登录,向密码共享说NO!实现安全而精细的权限管理,同时满足企业对权限最小化的安全管控要求。例如图1:控制用户Charlie能管理项目B的VPC,而让用户James只能查看项目B中VPC的数据。了解更多请猛戳→给IAM用户授权。当前已有大量云服务支持通过IAM进行资源管理,同时在IAM内置多个云服务系统权限,如果系统权限不满足您的要求您还可以创建自定义策略。为了您的权限管理更加便捷,IAM还在不断探究新方向,总之,权限管理这一块,IAM为您承包!图1 权限管理模型账号安全管理--全力保障你的账号安全当您开始使用华为云的一刻起,保障您的账号安全就是我们首要的任务!IAM为您提供多种账号安全保护功能,您可以根据自己的需求进行开启或关闭:设置登录验证策略和密码策略,从源头保护您的账号。开启敏感操作保护,您及子用户在进行敏感操作时都需要进行身份验证。设置访问控制策略,限制用户只能从特定IP地址区间、网段及VPC Endpoint访问华为云。委托--让其他账号或者云服务管理你的资源账号委托您可以使用IAM提供的委托功能,将自己账号中的资源操作权限委托给更专业、高效的其他华为云账号,被委托的账号可以根据权限代替您进行资源运维工作。当委托关系发生变化时,您可以随时修改或撤消对代运维公司的授权。下图中账号A即为委托方,账号B为被委托方。了解更多请猛戳→委托某个云账号管理您账号下的资源云服务委托由于华为云各服务之间存在业务交互关系,一些云服务需要与其他云服务协同工作,需要您创建云服务委托,将操作权限委托给该服务,让该服务以您的身份使用其他云服务,代替您进行一些资源运维工作。了解更多请猛戳→委托某个云服务管理您账号下的资源例如:在使用Elasticsearch服务时,Elasticsearch服务请求获取您其他云服务和资源的权限,创建委托并授权后,在发生故障转移时,Elasticsearch可以使用这个委托将您的弹性IP绑定到主Elasticsearch实例,帮助您进行资源运维。身份提供商--实现企业员工一键登录上云当您希望本企业员工可以使用企业内部的认证系统登录华为云,而不需要在华为云中重新创建用户时,您可以使用IAM的身份提供商功能,建立您所在企业与华为云的信任关系,通过联合认证使员工使用企业已有账号直接登录华为云,实现单点登录。了解更多请猛戳→身份提供商身份提供商这个词可能您不太熟悉,但您的生活中一定在经常使用这个功能,举个简单的例子:小明今天第一次在“饿得很”外卖平台点外卖,觉得注册账号很麻烦,看到界面上有个按钮“使用某宝账号登录”,点击之后按照引导在某宝授权,就直接登录了“饿得很”外卖,省去了再填一遍个人信息的麻烦。这就是一个典型的联邦身份认证的场景,其中某宝是“身份提供商 IdP”,饿得很外卖平台是“服务提供商 SP”,SP和IdP通过用户授权建立信任关系实现用户单点登录,但SP不获取、储存用户信息,只获取IdP验证用户身份的结果。欢迎围观更多IAM信息IAM控制台IAM产品介绍IAM用户指南IAMAPI参考今天的小课初步介绍了IAM的基本功能,下一期,带你玩转IAM的授权功能!一起期待吧!
  • [问题求助] 用IAM用户操作ModelArts,学生反馈出现modelarts:notebook:create的权限错误
    报错截图:拿学生的IAM账号进入控制台,实际操作,发现以下问题:默认情况下没有将学生的唯一工作空间设置为当前工作空间,而这个之前是正常的。不知近期是否有变更。此时学生在当前工作空间列表中选择一个后,接下来是可以创建成功的。
  • [内容拦截申诉] 论坛 - 遇到会话超时后,重新走登录认证流程后,紧接着的请求还是会报会话超时错误
    发文的版块名:视频服务 - 融合视频发文的标题名:遇到会话超时后,重新走登录认证流程后,紧接着的请求还是会报会话超时错误帖子内容链接:https://bbs.huaweicloud.com/forum/thread-48041-1-1.html
  • [融合视频] 遇到会话超时后,重新走登录认证流程后,紧接着的请求还是会报会话超时错误
    问题描述:ipad 长时间切后台后再切前台,会出现session过期问题,客户端收到对应的错误码(125023001)会重新走后台登录流程,认证成功后,会调用SetGlobalFilterCond、ModifyDeviceInfo和QueryCustomizeConfig,这是三个接口是异步调用的 ,现在这三个接口低概率出现平台再次返回"user session not found or timeout."(125023001)问题,客户端收到回调后重新走认证逻辑,然后又会出现相同的问题,从日志和现象上看只要出现一次就会陷入无限循环。 当前分析结论昨天拉上服务器平台的兄弟,结合客户端日志分析了一下问题1.在认证成功后,客户端请求的三个接口,平台验证session信息是有效的,平台兄弟是这么解释的:“如果session无效,session信息前会带+号”,然后推测头信息里可能没携带“csrfToken”,然后我们在客户端的日志里发现了认证成功后调用了设置头信息的方法。2.回过头再看平台日志,平台兄弟说SetGlobalFilterCond、ModifyDeviceInfo是失败的,QueryCustomizeConfig是成功的,因为前两个接口response body大小都是80个字节大小,QueryCustomizeConfig非常大,肯定是个正常的。3.再看客户端逻辑,客户端收到过期的接口是,SetGlobalFilterCond,收到超时后会调用[MsaAccess cancelPreviousRequests];方法,所以客户端没打印ModifyDeviceInfo和QueryCustomizeConfig的响应日志。 总结一下,如果是csrfToken导致的问题,客户端设置了csrfToken,前面两个接口请求sdk还没有携带csrfToken,第三次请求才携带(或者csrfToken携带的是错误的?)。下方图片即为认证成功后设置新csrfToken和调用其他3个接口的代码。 当时复现该问题的时候是连的生产环境,详细日志没抓到,已经通知一线同事连验收环境进行测试,但是概率较低,目前为止一共出现过2次,现在客户端走的是https协议,无法在客户端进行抓包,日志中也没有打印头信息内容,所以定位问题难度较高。
  • [技术干货] 【知识点】园区第三方应用单点登录集成(IAM)
    https://mp.weixin.qq.com/s?__biz=MzA5MjM5OTYzNA==&mid=2247485288&idx=1&sn=77d3e680bb0b42a27f49b7a8b570579a&chksm=906cf615a71b7f0324f29a316a574cbbd9352057c35cc311ce4cb6573d8b056942351293524f&token=109181865&lang=zh_CN#rd
  • [问题求助] 创建自定义策略内容错误
    我按照”ModelArts服务工作空间使用指导“来配置自定义策略,但是进行到第二步,新增细粒度策略modelarts-deny策略 时,我完全按照说明来配置,提示错误,我检查了很久没有发现问题。此外,这个使用指导的版本没有和现在的自定义策略界面有一些差异,对新手有些障碍。
  • [问题求助] 请问如果用IAM用户登录华为云,需要给IAM授权哪些权限才能正常操作ModelArts
    请问如果用IAM用户登录华为云,需要给IAM授权哪些权限(包括OBS相关的权限)才能正常操作ModelArts。
  • [教程] 伙伴实训系统和ModelArts对接之ModelArts工作空间
    此文档的目的是希望能够通过ModelArts服务工作空间功能帮助客户完成需要通过账户(企业账号)管理IAM用户给IAM用户分配资源的场景。如管理者(老师)给使用者(学生)配置权限、分配独立的工作空间给使用者使用、管理使用者的工作空间,管理使用者工作空间的配额;而使用仅能使用分配给自己的工作空间,并在此工作空间创建作业、模型、服务等;不同工作空间不会相互干扰。具体操作请参见附件。适配过程中有任何问题请留言,我们会及时反馈。-----------------------------------------------------------------------------------------------------------------------------2020-04-30 更新:   1.默认单个账号最多创建200工作空间,如有需要用户可以通过提工单扩容工作空间数;(当前北京四默认是1000,预计5月30号会变更为200);   2.可以将默认工作空间设置成private;   3.工作空间仅能被创建者和主账号修改、删除   4.变更前的客户如有以下场景则会受到影响:     有多个账号(主账号或者IAM子账号)用来管理工作空间(增删改),并且A账号专门用来创建工作空间,B账号专门用来修改工作空间。     针对这个场景的解决方案:     用一个账号来管理所有工作空间   注:附件同时更新
  • [技术干货] ModelArts与其他云服务是什么关系?
    与统一身份认证服务的关系ModelArts使用统一身份认证服务(Identity and Access Management,简称IAM)实现认证功能。IAM的更多信息请参见《统一身份认证服务用户指南》。与对象存储服务的关系ModelArts使用对象存储服务(Object Storage Service,简称OBS)存储数据和模型的备份和快照,实现安全、高可靠和低成本的存储需求。OBS的更多信息请参见《对象存储服务用户指南》。与云容器引擎的关系ModelArts使用云容器引擎(Cloud Container Engine,简称CCE)部署模型为在线服务,支持服务的高并发和弹性伸缩需求。CCE的更多信息请参见《云容器引擎服务用户指南》。与批处理服务的关系ModelArts使用批处理服务(Batch Service)的调度能力和分布式云计算能力加速模型的训练。Batch Service的更多信息请参见《批处理服务用户指南》。与图引擎服务的关系ModelArts使用图引擎服务(Graph Engine Service,简称GES)实现可视化工作流。GES的更多信息请参见《图引擎服务用户指南》
  • [行业前沿] 华为云统一身份认证服务IAM于2019年5月18日00:00-04:00(北京时间)升级通知
    尊敬的华为云客户:华为云计划于2019/05/18 00:00-04:00(北京时间)进行统一身份认证服务IAM升级,升级详情如下:升级内容:华为云统一身份认证服务IAM升级;升级影响:升级过程中IAM创建、修改及删除等接口会出现短暂不可用;如您需要通过IAM控制台或API调用进行用户身份认证相关管理操作(创建修改或删除用户、授权、修改账号设置等),以及对云服务执行创建或删除资源等操作,请避开以上升级时间进行。若在以上升级时间内出现上述操作失败,请您间隔10分钟后再进行重试。给您带来的不便,敬请谅解。感谢您对华为云的支持!
  • [技术干货] 华为云IAM服务域名解析IP网段变更通知
    尊敬的华为云客户:华为云计划从2019/05/09开始针对IAM服务API接口域名的解析IP地址进行变更。本次变更对以下用户不受影响:1、未通过API接口直接调用华为云IAM服务的用户。2、正常通过公网DNS解析华为云域名来访问IAM服务API,并且未配置白名单或防火墙策略限制的用户。本次变更对以下用户有影响,请做相应排查及调整:1、直接使用IP或在所使用的机器中配置了域名与IP的映射来访问IAM服务API的用户,请修改为使用公网DNS域名解析方式访问。2、所使用的业务系统中,如果有配置白名单或防火墙策略限制不能访问变更后IP网段的用户,请在信任域中添加如下IP网段。具体华为云域名解析IP网段变更详情如下:解析IP网段华为云域名区域名称43.254.0.0/2449.4.112.0/24139.159.208.0/24iam.myhuaweicloud.com(推荐)iam.myhwclouds.com全局43.254.0.0/24iam.cn-north-1.myhuaweicloud.com(推荐)iam.cn-north-1.myhwclouds.com华北-北京一159.138.16.0/24iam.ap-southeast-1.myhuaweicloud.com(推荐)iam.ap-southeast-1.myhwclouds.com香港218.61.208.0/24iam.cn-northeast-1.myhuaweicloud.com(推荐)iam.cn-northeast-1.myhwclouds.com东北-大连如您有任何问题,可随时通过工单或者服务热线(950808)与我们联系。感谢您对华为云的支持!https://www.huaweicloud.com/notice/2018/20190505163251040.html
  • [技术干货] 使用CSE SDK如何在edge service拦截用户请求做认证鉴权
    认证鉴权的时候,通常会获取http header,对会话进行认证。 CSE SDK一般有两种方式拦截:* 通过Handler : 这种方式的好处是可以获取微服务元数据信息。对于需要做访问控制、获取调用的方法名称等,非常简单。   例子:https://github.com/huaweicse/cse-java-chassis-samples/blob/master/HouseAppWithSpringBoot2/edge-service/src/main/java/com/huawei/cse/houseapp/edge/ApiDispatcher.java  + AuthFilter.java* 通过HttpServerFilter: 这种机制的好处是在Http层拦截请求,可以操作HTTP的header等。   例子:https://github.com/apache/servicecomb-samples/blob/master/porter_lightweight/gateway-service/src/main/java/org/apache/servicecomb/samples/porter/gateway/ApiDispatcher.java  + AuthHandler.java
  • [问题求助] ModelArts.0211 : 该用户上传的AKSK无法通过IAM认证。
    内部账号,总是提示。。ModelArts.0211 : 该用户上传的AKSK无法通过IAM认证。
  • [大咖交流] idou老师教你学istio1:如何为服务提供安全防护能力
    之前,已为大家介绍过 Istio 第一主打功能---连接服务。凡是产生连接关系,就必定带来安全问题,人类社会如此,服务网格世界,亦是如此。今天,我们就来谈谈Istio第二主打功能---保护服务。那么,便引出3个问题:Istio 凭什么保护服务?Istio 具体如何保护服务?如何告诉 Istio 发挥保护能力?Istio凭什么保护服务?将单体应用程序分解为一个个服务,为大型软件系统的开发和维护带来了诸多好处,比如更好的灵活性、可伸缩性和可复用性。但这也带来了一些安全问题:为了抵御中间人攻击,需要对流量进行加密为了提供灵活的服务访问控制,需要 mTLS(双向的安全传输层协议)和细粒度的访问策略要审计谁在什么时候做了什么,需要审计工具Istio 尝试提供全面的安全解决方案来解决这3个问题。如上图所示, Istio 安全的三大目标是:默认安全(Security by default):应用程序代码和基础结构,无需更改。深度防御(Defense in depth):与现有安全系统集成,提供多层防御。零信任网络(Zero-trust network):在不受信任的网络上,构建安全解决方案。为了实现这3个目标,Istio 安全功能提供了4大守护系统:强大的身份(Identity)系统健壮的策略(Policy)系统认证,授权和审计(AAA:Authentication,Authorization,Accounting)系统,用于保护服务和数据透明的 TLS 加密(Encryption)系统。就保护对象而言,Istio 安全系统可以抵御来自内部或外部的威胁,这些威胁主要针对服务网格内的端点(Endpoints),通信(Communication),平台(Platform)和数据(Data)。Istio具体如何保护服务?在安全方面,Istio 具备3个远大的目标,配备了4大守护系统,那么它到底是通过怎样的架构实现这个目标的呢,又通过什么样的安全基础设施,和 kubernetes 配合呢?1、Istio 安全架构如上图,与 Istio 的4大守护系统相对应,Istio 中涉及安全的组件有:Pilot :将授权策略和安全命名信息分发给代理Proxy :实现客户端和服务端之间的安全通信Citadel :用于密钥和证书管理Mixer :管理授权和审计由此可见,Pilot 不仅负责流量规则和策略的分发,还负责安全相关策略的下发,有点像皇上的贴身太监,负责宣读圣旨;Proxy 有点像各州属的州官,负责奉天承运;Citadel 有点像玉玺和虎符,负责鉴真去假;Mixer 有点像三省六部,负责授权审计。2、两个安全基本概念2.1)Identity身份(Identity)是几乎所有安全基础架构的基本概念。在服务和服务的通信开始前,双方必须用其身份信息交换凭证,以达到相互认证的目的。在客户端,根据安全命名(secure naming)信息,检查服务端的标识,以查看它是否是该服务的授权运行程序;在服务端,服务端可以根据授权策略(authorization policies)信息,确定客户端可以访问哪些数据,审计其在什么时间访问了什么,拒绝未授权客户端的访问。在 Istio 身份模型中,Istio 使用一流的服务标识来确定服务的身份。这为表示人类用户,单个服务或一组服务提供了极大的灵活性和粒度。在没有此类身份的平台上,Istio 可以使用可以对服务实例进行分组的其他身份,例如服务名称。不同平台上的 Istio 服务标识:Kubernetes: Kubernetes 服务帐户GKE/GCE: 可以使用 GCP 服务帐户AWS: AWS IAM 用户/角色 帐户On-premises (non-Kubernetes): 用户帐户,自定义服务帐户,服务名称,istio 服务帐户或 GCP 服务帐户。做个类比,京东和天猫都有自己的一套非常成熟的服务账户系统,淘宝只需要复用天猫的账户系统即可,无需重新开发一套,这样我们就可以用天猫的账号,直接登录淘宝。而 Istio 也更倾向于复用业界一流的服务账户系统,如 Kubernetes 和 AWS 的,但也可以自定义服务账户,并按需复用 Kubernetes 的账户系统。2.2)PKIIstio PKI(Public Key Infrastructure)建立在 Istio Citadel 之上,可为每个工作负载提供安全且强大的工作负载标识。Istio 使用 X.509 证书来携带 SPIFFE 格式的身份信息。PKI 还可以大规模自动化地进行密钥和证书轮换。Istio 支持在 Kubernetes pod 和本地计算机上运行的服务。目前,Istio 为每个方案使用不同的证书密钥配置机制,下面试举例 Kubernetes 方案的配置过程:Citadel 监视 Kubernetes apiserver,为每个现有和新的服务帐户创建 SPIFFE 证书和密钥对。 Citadel 将证书和密钥对存储为 Kubernetes secrets。创建 pod 时,Kubernetes 会根据其服务帐户通过 Kubernetes secret volume 将证书和密钥对挂载到 pod。Citadel 监视每个证书的生命周期,并通过重写 Kubernetes secret 自动轮换证书。Pilot 生成安全命名信息,该信息定义了哪些服务帐户可以运行某个服务。接着Pilot 将安全命名信息传递给 Envoy。如何告诉Istio发挥保护能力?如上一章节所言,Istio 基于控制面组件,引入了一流的服务账户系统,结合强大的PKI,实现了对服务网格的安全守护。同时,Istio 也开放了接口,让我们可以进行精细化的配置,全方位满足我们对服务的安全需求。服务安全,总是离不开两个具体过程:认证(Authentication)和鉴权(Authorization)。Istio 通过 Policy 和 MeshPolicy 文件,实现对认证相关功能的定义;通过RbacConfig、ServiceRole 和 ServiceRoleBinding 文件,实现对鉴权相关功能的启用和定义。让我们举个几个通俗的例子来区分认证和鉴权:进火车站需要提供证件和火车票,身份证可以证明你就是你,这是认证;火车票可以证明你有权上那趟火车,这是授权。又例如,你要访问自己淘宝的购物车,需要先登录,这是认证。你要访问朋友的购物车,就需要他的允许,这是授权。再例如,有经验的朋友能发现浏览器经常会面对两个错误码:401和403。通常而言,401就是未登录的意思,需要认证;403就是禁止访问的意思,需要授权。1、认证Istio 提供两种类型的身份认证:A)传输身份认证,也称为服务到服务身份认证:对直连客户端进行验证。Istio 提供双向TLS作为传输身份认证的全栈解决方案。我们可以轻松启用此功能,而无需更改服务代码。这个解决方案:为每个服务提供强大的身份认定,以实现跨群集和跨云的互操作性。保护服务到服务通信和最终用户到服务通信。提供密钥管理系统,以自动执行密钥和证书生成,分发和轮换。B)来源身份认证,也称为终端用户身份认证:对来自终端用户或设备的原始客户端请求进行验证。Istio 通过 JSON Web Token(JWT)、Auth0、Firebase Auth、Google Auth 和自定义身份认证来简化开发者的工作,使之轻松实现请求级别的身份认证。在这两种情况下,Istio 都通过自定义 Kubernetes API 将身份认证策略存储在 Istio 配置存储(Istio config store)中。Pilot 会在适当的时候进行同步,为每个Proxy更新其最新状态以及密钥。此外,Istio 支持在许可模式下进行身份认证,以帮助我们理解策略变更前后,服务的安全状态是如何变化的。1.1)认证架构我们可以使用身份认证策略,为 Istio 网格中接收请求的服务指定身份认证要求。我们使用 .yaml 文件来配置策略,策略将保存在 Istio 配置存储中。在任何策略变更后,Pilot 会将新策略转换为适当的配置,下发给Envoy,告知其如何执行所需的身份认证机制。Pilot 可以获取公钥并将其附加到 JWT 进行配置验证。或者,Pilot 提供 Istio 系统管理的密钥和证书的路径,并将它们安装到负载 Pod 中,以进行双向 TLS。本文多次提到双向TLS认证,让我们理解一下其在 Istio 里的实现。Istio 通过客户端和服务端各自配备的 Envoy 进行通信,也就是说,客户端和服务端的流量,是被各自的 Envoy 接管了的。对于客户端调用服务端,遵循的步骤是:Istio 将出站流量从客户端重新路由到客户端的本地 Envoy。客户端 Envoy 与服务端 Envoy 开始双向 TLS 握手。在握手期间,客户端 Envoy 还执行安全命名检查,以验证服务证书中提供的服务帐户是否有权运行目标服务。客户端 Envoy 和服务端 Envoy 建立了一个双向的 TLS 连接,Istio 将流量从客户端 Envoy 转发到服务端 Envoy。授权后,服务端 Envoy 通过本地 TCP 连接将流量转发到服务端的服务。1.2)认证策略配置和其他的 Istio 配置一样,可以用 .yaml 文件的形式来编写认证策略,然后使用 Istioctl 二进制工具进行部署。如下图的配置,通过配置 Policy 文件,对 reviews 服务进行了传输身份认证的配置,要求其必须使用双向TLS做认证。apiVersion: "authentication.Istio.io/v1alpha1" kind: "Policy" metadata:   name: "reviews" spec:   targets:   - name: reviews       peers:     - mtls: {}2、授权Istio 的授权功能,也称为基于角色的访问控制(RBAC),为 Istio 服务网格中的服务提供命名空间级别,服务级别和方法级别的访问控制。它的特点是:基于角色的语义,简单易用。包含服务到服务和终端用户到服务两种授权模式。通过自定义属性灵活定制授权策略,例如条件,角色和角色绑定。高性能,因为 Istio 授权功能是在 Envoy 里执行的。2.1)授权架构上图显示了基本的 Istio 授权架构。和认证的生效过程一样,运维人员使用.yaml文件指定 Istio 授权策略。部署后,Istio 将策略保存在 Istio Config Store 中。Pilot 会一直监视 Istio 授权策略的变更,如果发现任何更改,它将获取更新的授权策略,并将 Istio 授权策略分发给与服务实例位于同一 pod 内的 Envoy 代理。每个 Envoy 代理都运行一个授权引擎,该引擎在运行时授权请求。当请求到达代理时,授权引擎根据当前授权策略评估请求上下文,并返回授权结果ALLOW或DENY。2.2)授权策略配置我们可以使用 RbacConfig 启用授权策略,并使用 ServiceRole 和ServiceRoleBinding 配置授权策略。 RbacConfig 是一个网格维度的单例,其固定名称值为 default,也就是说我们只能在网格中配置一个 RbacConfig 实例。与其他 Istio 配置对象一样,RbacConfig 被定义为 Kubernetes CustomResourceDefinition (CRD) 对象。在 RbacConfig 中,运算符可以指定 mode 值,它可以是:OFF:禁用 Istio 授权。ON:为网格中的所有服务启用了 Istio 授权。ON_WITH_INCLUSION:仅对包含字段中指定的服务和命名空间启用 Istio 授权。ON_WITH_EXCLUSION:除了排除字段中指定的服务和命名空间外,网格中的所有服务都启用 Istio 授权。在以下示例中,为 default 命名空间启用了 Istio 授权:apiVersion: "rbac.Istio.io/v1alpha1" kind: RbacConfig metadata:   name: default     namespace: Istio-system spec:   mode: 'ON_WITH_INCLUSION'     inclusion:       namespaces: ["default"]针对服务和命名空间启用授权后,我们还需要配置具体的授权策略,这通过配置ServiceRole 和 ServiceRoleBinding 实现。与其他 Istio 配置对象一样,它们同样被定义为CRD对象。ServiceRole 定义了一组访问服务的权限。ServiceRoleBinding 向特定对象授予 ServiceRole,例如用户,组或服务。ServiceRole 和 ServiceRoleBinding 组合规定了: 允许谁在哪些条件下做什么,具体而言:谁指的是 ServiceRoleBinding 中的 subject 部分。做什么指的是 ServiceRole 中的 rule 部分。哪些条件指的是我们可以在 ServiceRole 或 ServiceRoleBinding 中使用 Istio Attributes 指定的 condition 部分。让我们再举一个简单的例子,如下图,ServiceRole 和 ServiceRoleBinding 的配置规定:将所有用户(user=“*”)绑定为(products-viewer)角色,这个角色可以对products 这个服务发起 GET 或 HEAD 请求,但是其限制条件是请求头必须包含version,且值为v1或v2。apiVersion: "rbac.Istio.io/v1alpha1" kind: ServiceRole metadata:   name: products-viewer     namespace: default spec:   rules:     - services: ["products"] methods: ["GET", "HEAD"]     constraints:         - key: request.headers[version]       values: ["v1", "v2"] --- apiVersion: "rbac.Istio.io/v1alpha1" kind: ServiceRoleBinding metadata:   name:binding-products-allusers     namespace:default spec:   subjects:     - user: "*"     roleRef:     kind: ServiceRole         name: "products-viewer"至此,我们做个简单的总结:单体应用程序拆分成成千上百个服务后,带来了安全问题,Istio 尝试在由服务组成的服务网格里,加入了一套全栈解决方案。这套方案里,Istio 默默处理了大部分安全基础设施,但也暴露了认证和授权两个功能让用户进行自定义配置。我们通过 Policy、MeshPolicy 以及 RbacConfig、ServiceRole、ServiceRoleBinding 就可以完成对认证和授权环节所有功能的配置,而不需要侵入地改动任何服务的代码。
  • [技术干货] 方案(设备、应用)认证【转】
    (转自https://developer.huawei.com/ict/forum/thread-49421.html)方案(设备、应用)认证FAQ1.   认证条件、认证意义、认证费用? 1.1条件、费用要想知道为啥会有方案认证这个环节就不得不提MAR、SPP流程了,两者都是华为的合作伙伴管理流程,包含了合作伙伴的合作、开发、测试认证、商业激励和营销推广。认真看会发现在MAR流程里完成了方案开发后就是方案的测试认证环节。所以重点来了,要做华为认证的条件很简单,加入华为合作方案完成开发,最主要的是认证流程、测试流程全免费。 1.2意义认证完成后会收到“金灿灿”的设备或者应用的认证证书,而且后续Marketplace 、社区案例中心都得做过认证才可以哦,测试认证不仅仅是产品实力的体现,更是对客户负责的体现。  2.   OceanConnect平台认证的分类2.1认证的分类、选择、关系从合作伙伴的角度来讲分两类:l  设备类认证(Compatible)l  应用系统类认证(Enabled)从华为解决方案分类来讲分四类:l  NB-IoT设备认证(Compatible)l  AgentLite设备认证(Compatible)l  车联网OBD设备认证(Compatible)l  SmartHome终端认证(Compatible)所有认证均可独立认证、按需选择对应测试认证即可:应用认证通用设备认证NB、AgentLite、OBD、SmartHome 3.   认证流程3.1应用认证流程a)下载并参考测试认证中的《华为IoT应用认证指导(Enabled)》,按要求完成测试用例,相关测试截图,完成测试报告模板的修改。b) 将测试用例、截图、报告反馈给开发阶段对接的华为技术支持工程师。c) 通过后等待证书下发,未通过重复ab两步。 3.2 设备认证流程a) NB类型的设备在开发阶段会有接入规范,测试认证前请再次确认设备功能符合华为NB-IoT终端接入规范。b) 下载并参考测试认证中的《华为XXX认证指导(Compatible)》,按要求完成测试用例,相关测试截图,完成测试报告模板的修改。b) 将测试用例、截图、报告反馈给开发阶段对接的华为技术支持工程师。c) 测试报告未通过请重复abc两步,通过后华为开发相关人员会把开发结果填入系统,登录MAR账号确认开发结果,系统流程会自动转至测试认证阶段。e) 根据提示联系测试工程师,预约openlab并到场测试,openlab内借助环境和工具完成端到端测试。   3.3 注意事项       a.在填测试报告时,发现有些补充内容不清楚,举个栗子:在应用认证指导压缩包内,测试报告中有一个实验室组网,不清楚深圳F5Openlab、上海Openlab组网关系,可以忽略,在原图保持未知部分不动,把已知部分文字和图片换掉即可。一句话概括,不清楚的部分,把已知部分替换,未知部分保持不变。认证的华为同事会帮忙检查处理。       b.在填写测试用例时,发现有些测试用例没有条件测试,举个栗子:在应用NB设备认证指导压缩包内,有认证测试用例表格中有张场景用例的sheet,其中编号为NB_认证_终端入网_002的测试用例,测试步骤里提到打开vEPC跟踪某一IMSI信令,这中没有条件登录后台的只需关注测试结果即可。一句话概括:测试用例不具备测试条件的只需关注结果即可,测试用例优先级为option的可测可不测。       c. 有些不能测试的或者未做此功能的,请不要删除用例,在备注中进行相关说明。       d.  测试报告填写易遗漏点:页眉中要填写公司信息,组网图要提供,版本信息要填写所用到的硬件和软件信息       e.  测试结果截图,数据上报中一定要有电量batteryLevel(0~100%)、信号强度RSRP(-140~-44)=AT+NUESTATS命令返回的Signal power/10 、信号覆盖等级ECL(0~2)、信噪比SNR(-20~30)=AT+NUESTATS命令返回的SNR字段/10