欢迎访问深圳敏捷云计算科技有限公司!

甲骨文云服务的安全与成长:IAM精简版指南

2024-01-15 原创文章

在这个数字时代,云服务已成为许多企业的首选。选择云服务的一个核心优势是其可扩展性,它使得企业可以从小规模开始,逐渐发展壮大。与传统基础设施相比,云服务通过自动化部署,能够在几分钟内实现资源配置,这原本需要数天时间。这种快速创新的能力,对于正在成长中的个人用户、小团队和创业公司尤为重要,因为它们通常面临有限的业务预算和变化多端的市场环境。


然而,重要的是要认识到,如果没有适当的控制,云环境可能会变得过于复杂,难以管理。这不仅涉及安全问题,还可能导致成本失控,从而使您的组织面临风险。为了规避这些风险,我们强烈建议,在Oracle Cloud Infrastructure (OCI)中创建多个云资源之前,首先建立一个身份和访问管理(IAM)安全模型。一个初始版本的安全模型可以帮助您的组织通过分离职责和资源来减轻管理风险,指导未来的成功发展。

在OCI中,资源隔离从以下资源开始内置:

  • 租户
  • 身份域
  • 隔间结构
  • IAM策略


当你注册OCI(Oracle Cloud Infrastructure)时,Oracle会为你创建一个租户。这个租户包含了你的IAM(身份及访问管理)实体,比如用户、群组、分区以及一些策略和其他OCI资源。你也可以将策略和资源放入租户内的分区。更多信息,请参阅组织管理和资源访问管理。


将租户视为最高级别的安全边界:

  • 租户是托管你OCI资源的最高容器,也被称为根分区。
  • 所有OCI资源的访问控制都受IAM策略的支配,其中租户是IAM策略可以分配的最高级别。OCI组织管理治理规则可以控制允许的区域、服务配额和子租户的标签,但对IAM策略没有控制权。通过创建跨租户IAM策略,可以跨租户授予访问权限。在这种情况下,授予权限和接受权限的租户管理员必须创建特殊的策略声明,明确说明可以访问和共享的资源。



扩展您的业务至无限可能:

  • 每个OCI租户在创建时都有一组由Oracle配置的服务限制。虽然用户可以请求增加服务限制,但他们无法直接控制这些限制。
  • 为避免服务中断,用户可以根据需要通过为分区分配服务配额来控制使用分布。
  • 用户可以通过利用新的租户来超越硬性服务限制,因为新租户在创建时有自己的一套限制。
  • 您可以使用组织管理将租户添加到您的组织中,并让这些租户从您的主要资助订阅中消费信用额度。然后,您可以创建一个独立的租户来构建工作负载,而无需订购新订单。


租户类型包括:

  • 父租户:与主要资助订阅相关联,可以分析并报告每个租户的情况。每个组织只能有一个父租户。通常情况下,父租户用于管理目的,开发人员、财务和IT运维可能需要访问它。在这种情况下,我们建议您不要在此租户内托管任何应用程序或服务。
  • 子租户:从非自身订阅中消费的租户。子租户可以作为全新的租户创建,或者邀请现有租户加入父租户,成为同一组织的一部分。 注意:我们建议您不要在父租户中托管任何应用程序或服务,尤其是当它用于管理目的时。更多信息,请参阅OCI博客-使用组织来集中管理成本。


租户结构的考虑因素:

考虑您的租户时,请考虑以下信息:

  • 计费和成本管理:共享单一承诺有助于减少成本超支,并实现合并计费。
  • 环境隔离:当您需要高度的操作自主性和严格的资源隔离时,可以使用租户作为最高级别的边界来隔离您的环境。由于每个租户都有一套独特的IAM资源和规则,安全和治理设置是分别管理的。分别管理支持最高程度的操作自主性。
  • 管理开销:多个租户允许具有强大隔离级别的操作自主性,但会带来管理开销成本。如果您不需要高度隔离,比如出于法规遵从性考虑,可以考虑使用身份域和分区。
  • IAM资源驻留:每个租户都有自己的主要区域,其中包含您的Oracle Cloud账户信息和默认IAM身份域中的身份资源。默认域始终复制到租户订阅的所有区域。当管理员订阅另一个区域时,只有默认域复制到那个区域。默认域的主要区域是租户的主要区域,这是无法更改的。次要(非默认)身份域可以有自己的主要区域,但只能在租户订阅的区域集内。次要身份域也可以复制到租户订阅的区域集内的区域。


租户的局限性:

在考虑租户时,请注意以下局限性:

  • 主要区域包含您的账户信息和身份资源,一旦租户配置完成,便无法更改。更多信息,请参阅主要区域。
  • 当创建子租户时,该租户不会自动联合到Oracle Identity Cloud Service/OCI身份域。更多信息,请参阅创建新的子租户。
  • 使用按量付费或免费层订阅的租户无法添加新的子租户。更多信息,请参阅创建新的子租户。
  • 父子租户是单层结构,不支持多级层次结构。


租户的示例用例:

考虑以下拥有单独租户的示例用例:

  • SaaS服务提供商托管专用租户以满足受监管客户的需求。
  • 由隐私和数据安全法律规定的IAM资源驻留要求。
  • 对于并购(M&A)的公司,需要保持操作自主性,拥有独立的身份管理和招聘流程。
  • 对于黑客松和概念验证(PoC),有能力在免费层和基于项目的租户中启动创新项目,然后向更广泛的组织申请谈判定价表和更好的成本可见性。
  • 诸如生产和非生产环境分离的监管要求。


租户的关键设计决策:

基于以下信息做出关键设计决策:

  • 接受的用例,以扩展OCI的应用,并使用独立的租户和组织
  • 租户运营模型,例如请求新租户的流程、租户所有权、成本和预算管理 更多信息,请参阅组织管理和租户管理。


防止他人使用您的公共域名创建Oracle Cloud账户:

为了加强治理,一些企业可能需要集中控制业务群组内新云账户的创建。

您可以通过域名管理在OCI中注册您的公共域名,这样可以阻止他人将来使用该域名创建新的云账户。您可以重定向使用该已验证域名的企业电子邮件地址的新用户注册尝试。


例如,如果有人尝试使用OCI创建带有"companyA.com"电子邮件域的租户,该尝试将被阻止,他们将被引导至OCI。

因此,通过域名管理,大型企业可以更容易地控制他们的环境,了解谁在创建租户,并将企业政策应用于这些租户。您可以安全地验证您的域名所有权,并更容易控制资源的开支和管理。

通常,这是父租户作为集中管理能力的一部分所涵盖的内容。您需要公共域名管理员的帮助,添加OCI提供的TXT记录,以验证您对域名的所有权。这一域名验证过程可能需要长达72小时才能完成。


注意:通过域名管理,您可以防止他人使用您已验证的域名创建Oracle Cloud账户。如果有人尝试使用您的域名创建账户,我们会通过Oracle通知向您发送通知。

注意:如果您共享一个域名,启用此功能可能会阻止其他业务线创建自己的账户。我们建议您通过您的中央管理团队启用此功能,并与相关利益相关者(如受影响的业务线)进行适当沟通。


Key Design Decisions for Tenancies Structure

身份域

身份域是一个容器,用于管理用户和角色、联合和配置用户、通过单点登录(SSO)配置确保应用集成安全,以及基于 SAML/OAuth 的身份提供商管理。域代表 OCI 中的用户群及其相关配置和安全设置,例如多因素身份验证(MFA)。

您可以创建和管理多个身份域(例如,一个域用于开发,一个域用于生产)。每个域可以有不同的身份和安全要求,以保护您的应用程序和 OCI 服务。

按照简洁、直接的风格,并融入情感化元素,改写第五部分的内容如下:


IAM身份域:

身份域是一个用于管理用户和角色、联合和配置用户、通过单点登录(SSO)配置保护应用程序集成以及SAML/OAuth基础身份提供者管理的容器。该域代表OCI中的一个用户群体及其相关配置和安全设置,例如多因素认证(MFA)。


您可以创建和管理多个身份域(例如,一个用于开发,另一个用于生产)。每个域可以有不同的身份和安全要求,以保护您的应用程序和OCI服务。

多身份域的使用带来了几个好处。通过拥有不同的身份域,一个身份域中的用户不会影响另一个身份域中用户的工作。

使用多个身份域可以帮助您维护对每个身份域的管理控制隔离。例如,当您的安全标准不允许开发环境中的用户ID存在于生产环境时,就需要多个身份域。当您需要不同的管理员控制不同的环境时,也会使用多个域。


身份域的设计考虑因素:

在设计IAM结构时,请考虑以下信息:

  • 需要在不同环境和工作负载中分离用户ID和管理员的需求。例如:生产环境与开发环境的对比面向员工的工作负载与面向客户的工作负载的对比员工与合同工的对比
  • 管理员可以根据服务限制创建尽可能多的次要身份域。
  • 您可以将默认或次要身份域升级为不同的域类型。每种身份域类型都与不同的功能和对象限制相关联。


以下信息总结了默认身份域和次要身份域之间的关键差异。

身份域的示例用例:

考虑以下拥有独立身份域的示例用例:

  • 使用环境隔离,因为某些安全标准和行业法规要求您在生产和开发环境之间分隔用户,防止从开发环境访问生产环境。
  • 将外部用户(如客户和承包商)与员工身份分开。


身份域的建议:

设置域时,请遵循以下建议:

  • 为每个用户群体使用不同的身份域。
  • 使用默认身份域进行租户级别的管理。使用次要身份域进行特定环境的管理和平台即服务(PaaS)服务,以更好地控制域行为,如生命周期、主要区域和复制。
  • 针对仅云场景从免费/Oracle应用程序身份域开始,升级到高级/Oracle应用程序高级版,以获得更高限制或支持高级用例。例如:

对本地或云托管的Oracle应用程序进行认证。

使用与Active Directory或其他IAM系统的双向同步。

使用现代认证/授权功能,如无密码认证、FIDO2硬件令牌和自适应安全解决方案。


为面向消费者和非员工的用例创建次要外部身份域,需要以下资源:

社交登录、用户自助密码、个人资料管理和使用条款同意。

功能完备的身份即服务(IDaaS),可扩展至数百万用户。

没有访问OCI权益管理的权限。例如,管理对OCI资源的访问权限,和面向员工的IAM功能,用于向使用应用程序目录和Active Directory同步的第三方应用程序进行配置。


身份域的关键设计决策:

  • 批准在IAM隔离中拥有额外次要身份域的可接受用例。
  • 决定IAM域的主要区域,创建后无法更改。
  • 决定是否需要任何高级IAM功能,如通过桥接与LDAP/AD的双向同步、EBS Asserter和RADIUS代理。
  • 决定外部用户IAM域的所有权和管理,如果需要诸如社交登录、用户自助密码和个人资料管理等功能。

细粒度IAM策略的分区和标签结构

使用分区和标签组织和隔离资源,以实现访问控制。


IAM策略的基础知识:

  • IAM策略是一个声明,指定谁可以访问您公司拥有的哪些OCI资源,以及如何访问。
  • 由于OCI默认不授予访问权限,您的组织至少需要一个策略来开始控制资源。每个策略由一个或多个遵循以下基本语法的策略声明组成:
  • 允许 <主体> 对 <位置> 中的 <资源类型> 执行 <动作>,其中 <条件>
  • 以下信息描述了IAM策略的三个主要组别。



OCI服务和动态组访问权限的变更可能会导致服务中断,如果处理不当,我们建议您通过金丝雀租户/环境发布这类变更,以避免在生产环境中引入破坏性更改。您可以通过使用分区和标签来细化访问控制。

分区和标签的设计考虑:

在设置分区和标签时,请考虑以下信息:

  • 分区:

分区是租户范围内的,跨越各个区域。创建分区后,分区在您的租户订阅的每个区域中都可用。

您可以在其他分区内创建子分区,创建最多六级深的层次结构。子分区继承其上层分区的访问权限。

分区是授予访问控制的必要单元之一。您可以通过条件子句进一步细化分区。

  • 标签:您可以使用基于标签的访问控制来定义跨分区、组和资源的访问策略。使用基于标签的访问控制可以帮助您避免重复IAM策略,确保一致性,并最小化管理开销。 注意:定义的标签键不区分大小写,而定义的标签值区分大小写。例如,“Env”和“ENV”是相同的标签键。“Dev”和“DEV”是不同的标签值。


条件IAM策略:

  • 条件匹配不区分大小写,标签值区分大小写,某些资源类型允许区分大小写的命名。例如,考虑以下声明:
  • A组中的用户可以访问带有标签Operations.Project='sample'的分区中的资源。用户还可以访问带有标签Operations.Project='Sample'的分区中的资源。
  • 如果采用基于标签的访问控制,请考虑在定义的标签中使用预定义值。参见使用预定义值。
  • 所有OCI服务都支持request.principal.compartment, request.principal.group, and target.resource.compartment.tag策略变量。但并非所有服务都支持target.resource.tag 策略变量。参见支持服务。
  • 有关高级条件IAM策略功能,请参见基于标签的访问控制和基于时间的访问控制。

分区和标签的建议:

设置分区和标签时,请使用以下建议:

  • 为特定类别的资源创建并指定分区。编写IAM策略以仅允许需要访问的用户组访问这些资源。
  • 将生产工作负载和非生产工作负载划分到不同的分区。
  • 创建并使用子分区以实现更多组织层次的资源隔离。为每个分区层级编写单独的策略。
  • 仅允许授权用户将分区移至不同的父分区,以及将资源从一个分区移动到另一个分区。编写适当的策略来执行此限制。
  • 通过设置分区级配额来限制每种类型的资源在分区中可以创建的数量。
  • 通过在IAM策略中指定一个分区来限制实例主体可以管理的资源。
  • 根据您的业务需求,为资源分配标签以组织和识别它们。

使用分区和标签简化访问管理。将OCI分区设计与您的部门或项目结构对齐。更多信息,请参见管理分区。

如果采用基于标签的访问控制,请确保您已经建立适当的控制措施来管理谁可以应用标签。

在策略到位后,记住将标签应用于组、用户或资源可能会授予对资源的访问权限。

  • 尽量保持尽可能少的分区。这样可以使OCI控制台的浏览变得不那么复杂。
  • 不要与网络安全结合使用。分区对实际工作负载的影响有限。


多环境隔离策略:

以下信息提供了用于设计环境结构的样本环境隔离策略。您的组织可能需要这些策略的组合。

注意:这里提供的不是参考架构,而是用于设计考虑的样本用例。


  • 类型0:这种环境隔离不涉及资源共享。它通常是我们的租户结构,用于实现最大程度的资源隔离。除了之前提到的战略业务原因外,您可能还需要这种类型的环境来支持变更管理流程。例如,您可能需要一个测试或金丝雀环境,以便您的云平台团队推出租户级变更,避免一次性对您的应用团队造成大规模干扰。
  • 类型1:这种环境隔离在根分区共享最少的资源,如OCI服务启用策略和紧急管理员。通过专用分区和额外的身份域,您可以在单个租户内拥有多个高度隔离的环境,每个环境都有自己的身份提供者、访问策略和云资源。
  • 类型2:这种环境隔离共享一些选择性的关键服务,如身份域和快速连接,以提高成本和管理效率。它通常用于非生产环境,如跨UAT、SIT和DEV。一些组织也接受将这些做法应用于生产和预生产环境。
  • 类型3:这种环境隔离共享所有核心平台服务,如安全和网络服务。它通常用于管理具有共同控制策略的类似性质的工作负载。
  • 类型4:这种环境隔离跨多个应用实例共享工作负载基础设施,如中间件、OKE和数据库。


IAM最佳实践:

有关IAM最佳实践的最新信息,请参阅身份和访问管理的最佳实践。要点包括:

  • 不要使用默认域管理员组和身份域管理员角色的用户进行日常活动。相反,为管理OCI中特定资源创建单独的管理员。
  • 定期检查谁是默认域管理员组的成员以及谁在默认域中拥有身份域管理员角色。属于这两个组的用户是超级管理员,可以管理OCI中的所有资源。
  • 将默认域作为起始域。不仅默认域中的用户可以访问或管理OCI中的资源,次要域中的用户也可以访问和管理所有OCI资源。
  • 为各种用例创建其他次要域,如身份分段(消费者与员工)、环境隔离(开发、测试、生产)和数据居住要求(在特定地理区域创建域)。
  • 我们建议使用次要域来满足强数据居住要求。有了次要域,您可以选择希望复制域的地理区域。


开启您的Oracle云之旅:Agilewing - 您的智能云服务伙伴

作为Oracle的高级合作伙伴,Agilewing正重新定义企业体验Oracle云服务的方式。借助于其简化的开户流程和一流的技术支持,Agilewing将复杂的开户和操作流程转化为一种轻松、直观的体验。通过我们的一站式服务,您可以迅速开启并享受Oracle云的全方位服务,从而无缝融入云端世界。

Agilewing的AgileCDN服务,结合了OCI的云基础服务,提供了一流的全球内容加速解决方案。超过2800个全球POP节点和7000个直连点的强大网络,确保了无论您的业务扩展到全球哪个角落,都能保持高效稳定的运行。

利用Oracle云的先进技术,Agilewing致力于简化云服务搭建、云迁移和业务出海的过程。我们的合作模式为客户带来经济高效的解决方案,使他们能够更加专注于核心业务,同时享受Oracle云的高性能和安全保障。

Oracle云服务,作为一个充满潜力的领域,以其高性能、安全性和全球统一的服务标准,为各类企业开启了新的机遇之门。通过Agilewing的专业服务,无论是个人用户还是企业,都能轻松步入这个充满技术革新和高效能的新时代。现在,就让Agilewing引领您开始探索Oracle云服务,打开一个全新的世界大门。

如您想咨询 Oracle 的相关业务,可联系搜索微信号:lhh1843812463woshiwhw123

或者可以进入以下群组进行咨询:

微信公众号

微信技术交流社群: