基线治理生命周期

技术团队最初在云中定义和执行的一组基准安全策略和原则。

组织资源

无论您是预配单个应用还是多个应用,都应确保组织资源来实现增长、灵活性以及维护租户控制所需的责任。

根据以下各项组织资源:

  • 区间:具有组织特定配方的区间
  • 资源位置:基于目标受众所在的区域
  • 资源隔离:适当的网络控制,例如虚拟云网络 (VCN) 和子网

区间设计

下图显示了如何在区间中组织资源以实现特定结果的示例。

下面是 oci-governance-compartment-design.png 的说明
插图 oci-governance-compartment-design.png 的说明

每个组织都可以使用特定于所需结果的区间结构配方。您可以使用可用的预定义模板作为构建组织结构的基础。OCI CIS 登录区域提供了广泛的区间结构模板,涵盖网络、安全性、应用程序和数据库资源。您可以扩展区间结构,将单独的子区间添加到各种应用或不同生命周期环境(Dev、Test、Prod)。在此处获取 CIS 登陆区域模板映像。

分层区间模型

定义必须从根级别开始在区间层次结构的不同级别定义哪些策略。

根级别

定义 IAM 策略

级别 1

定义网络、共享安全、app-dev 和数据库策略

级别 2

定义产品、非产品、原型策略:

  • Network(网络):网络系列
    • 生产和非:产品 VCN 和产品子网
  • 共享安全:KMS、日志记录、通知、保管库
  • 应用开发:OS 存储桶、引导卷和块存储卷、FSS
    • 产品:产品 OAC、OIC、一汽
    • 原型:所有原型服务
  • 数据库:生产 AWD,非生产 ADW

在构建治理模型时,开发有效的区间设计至关重要。可以随时更改区间设计,以便在组织中发生业务或流程更改时进行协调。此外,可以在 OCI 中预配的资源可以从一个区间转移到另一个区间。

资源地理位置

您必须在地理区域中创建资源,并根据目标受众所在的区域选择该区域。适合欧洲客户的申请必须位于欧洲区域的数据中心。在一个区域中,应用资源应当分布在可用性域和容错域之间,以实现卓越的可用性。对于每个资源或工作量,必须根据多个标准选择适当的区域。

资源网络隔离

无法使用区间来隔离资源。您可以使用网络控件隔离资源。您必须在不同的 VCN 和子网中组织资源以隔离资源。包括属于同一 VCN 中同一应用的资源,以及来自不同 VCN 中不同应用的资源。如果两个应用需要相互通信,您可以共享一个 VCN 或者与两个 VCN 对应。

监管资源标识

建立员工的身份对于有效管理资源至关重要。

后面是 oci-identity-governance.png 的说明
插图 oci-identity-governance.png 的说明

身份治理方案

当新员工加入组织时,人力资源系统会创建用户身份,并设置一组基于策略的集中身份及其权利。新用户可以默认访问某些资源和应用程序,这些资源和应用程序称为生育权利权利设置。然后,根据用户的组织、组和角色,向用户授予对其他应用程序和权利的访问权限。

用户可以请求通过审批流程获得自己分配给这些权利的其他权利。当用户停用或离开组织时,将取消配置身份。如果在组织中重新雇用了同一用户,则用户通常可以申请相同的身份,但可以具有不同的权利,具体取决于他们所聘用的组或角色。

云端身份

后面是 oci-identity-cloud.png 的说明
插图 oci-identity-cloud.png 的说明

Oracle 使用 Oracle Cloud Infrastructure Identity and Access Management (IAM) 提供 IaaS、PaaS 和 SaaS 的统一身份。通过统一身份连接所有 OCI IaaS 和 PaaS 服务,可与 OCI IAM 进行原生集成。他们使用 OCI IAM 作为用户存储和登录服务。但是,OCI 上的 SaaS 服务(包括 Fusion SaaS 服务)使用 SCIM 2.0 和 SAML 标准与 OCI IAM 集成。客户还可以使用 IAM OAuth 将 PaaS 服务与 SaaS 集成。他们可以使用 SCIM 2.0、SAML 和 OIDC 等开放标准将 Oracle Cloud 与内部部署或第三方云集成。

统一的身份服务简化了用户入职和离职流程。在 HR 系统中创建或删除用户账户时,OCI IAM 会从所有 Oracle 服务创建或删除用户账户。OCI IAM 服务还可以促进用户账户创建并从第三方云服务中删除。

OCI IAM 为 Oracle Cloud 中的身份提供单一事实来源。客户可以利用 IAM 审计日志来查看谁可以访问云系统或资源。他们还可以运行安全威胁建模来检测未经授权的访问并采取纠正措施。

监管资源访问

OCI 的默认安全状态为拒绝。预配租户时,除租户管理员用户以外的任何用户都无法访问 OCI 中的任何资源。

租户管理员可以创建策略来向用户组授予对区间或租户内资源的权限。以下是一些示例 IAM 策略,可用作“区间”部分中建议的区间结构的起点。

  1. 创建策略以允许区间管理员管理各自区间中的所有资源。
    • Allow group security_admin to manage all resources in compartment Shared_Security:Prod
      Allow group security_admin to manage all resources in compartment Shared_Security:NonProd
      Allow group network_admin to manage network-family-resources in compartment Network
      Allow group database_admin to manage database-family-resources in compartment Database
      Allow group appdev_admin to manage instance-family-resources in compartment App-Dev
  2. 为区间管理员创建策略,以使用来自其他区间的共享资源。
    • Allow group appdev_admin to use network-family-resources in compartment Network
      Allow group appdev_admin to use database-family-resources in compartment Database
      Allow group database_admin to use network-family-resources in compartment Network
      Allow group database_admin to use vaults in compartment Shared_Security
  3. 为审计员和其他只读用户组创建策略以读取租户中的所有资源。
    • Allow group auditors to read all resources in tenancy
      Allow helpdesk-users to inspect all resources in tenancy
      Allow group announcement_readers_group to read announcements in tenancy

您还可以使用标记定义 IAM 策略。您可以根据使用条件和一组标记变量应用于资源的标记编写范围访问权限策略。您可以基于请求资源(组、动态组或区间)或请求目标(资源或区间)上存在的标记来控制访问权限。前三个示例访问策略使用请求资源标记,最后两个示例访问策略使用目标资源标记。

Allow any-user to manage instances in compartment HR where request.principal.group.tag.Operations.Project= 'Prod'
Allow dynamic-group InstancesA to manage instances in compartment HR where request.principal.group.tag.Operations.Project= 'Prod'
Allow dynamic-group InstancesA to manage instances in tenancy where request.principal.compartment.tag.Operations.Project= 'Prod'
Allow group GroupA to manage all-resources in compartment HR where target.resource.tag.Operations.Project= 'Prod'
Allow group GroupA to manage all-resources in tenancy where target.resource.compartment.tag.Operations.Project= 'Prod'

首先为板载的每个工作负载提供三个高级角色。

  1. 服务管理员
  2. 服务开发者
  3. 服务查看器

为每个角色创建基线策略,以管理、使用、读取和检查服务实例的权限。您可以创建策略以向服务管理员授予用户对共享资源的权限。例如,对于分析服务,您可以创建以下策略:

  1. 服务管理员角色
    • Allow group Analytics-admin to manage analytics-instances in compartment App-Dev
      Allow group Analytics-admin to manage analytics-instance-work-requests in compartment App-Dev
      Allow group Analytics-admin to use network-family-resources in compartment Network
      Allow group Analytics-admin to use autonomous-databases in compartment Database
  2. 服务开发者角色
    • Allow group Analytics-developer to use analytics-instances in compartment App-Dev
      Allow group Analytics-developer to use analytics-instance-work-requests in compartment App-Dev
  3. 服务查看者角色
    • Allow group Analytics-viewer to read analytics-instances in compartment App-Dev
      Allow group Analytics-viewer to read analytics-instance-work-requests in compartment App-Dev

您可以开始使用这些或类似的策略,并将策略模型扩展为您引入的每个新服务。

监管资源成本

在从实施项目时会固定许多成本的 CapEx 模型转换为 OpEx 模型时,您通常需要使用系统来扩展和收缩成本,以了解、控制和传达组织内的这些云成本。

Oracle 提供了多种工具,使您能够控制组织的支出并优化支出。

  • 预测:设置和管理云预算
  • 控制:防止超支
  • 可见性:确保跨部门和项目进行准确的成本跟踪,并分析随时间推移哪些部门、服务和项目对云的使用做出了贡献
  • 优化:获取发票对账的细粒度使用详细信息并确定优化成本的区域
  • 扩展:确定在必要时扩展使用的区域

成本管理

您可以使用这两种方法之一来控制成本。

  • 为每个资源团队 / 组创建财务预算,并根据这些预算处理使用情况,并在使用量超出预算或即将超出预算时提醒团队管理员。
  • 为每个服务实例创建限制或限额。如果团队尝试创建的实例数超过了分配的限额,则请求将失败。

第二种方法是限制性的,可防止成本超支,而如果使用量超出分配的预算,则第一种方法需要人工干预。区间树汇总预算和配额,因此子区间共享父区间上设置的合计预算或配额。

例如,如果区间数据科学的预算为 $2000,则 DEV 和 TST 的子区间共享该全局预算,如果其中一个区间超过该限制,则会受到限制。

成本跟踪

您可以通过设置成本跟踪标记或按区间(包括根区间)来使用预算对 OCI 支出设置软限制。您可以跟踪该成本跟踪标记中的所有支出,或者跟踪该区间及其子项的所有支出。您还可以对预算设置预警,以便在管理人员超出预算时通知他们。您可以在 OCI 控制台上查看所有预算和支出限制。

系统在大多数地区每小时评估所有预算预警,在阿什本 (IAD) 每四小时评估一次。要查看上次评估预算的时间,请复核预算的详细信息。您将看到显示当前支出、预测和“期间支出”字段的字段,其中显示评估预算的期间。触发预算预警时,预算预警中配置的接收人将收到电子邮件。

您可以从浏览更多部分中链接的 Oracle Cloud Marketplace 安装和使用 OCI 成本监管和绩效洞察解决方案应用程序。

成本控制

您可以通过限制使用服务限制和区间限额创建的服务实例数来控制 OCI 中的成本。

服务限制有助于管理可在租户、区域、可用性域和区间中预配的资源数上限。这些软限制限制会限制可能超出定义的限制的预配资源。只有授权用户可以请求提高或减少这些服务限制。通过服务限制,您可以限制特定服务在区域、可用性域和区间中的服务实例数上限。

区间限额是策略,通过它,管理员可以更好地控制 OCI 中资源的使用方式,以高级别的灵活性分配资源。区间限额与服务限制类似,但服务限制由 Oracle 设置。管理员使用策略设置区间限额,以允许他们高度灵活地分配资源。

观察和监视资源

您必须观察和监视您的资源,以确保治理模型正在努力实现组织目标。

云安全态势管理

Cloud Guard 是一种 OCI 服务,可帮助您监视和维护 Oracle Cloud 上的强大安全状况。Cloud Guard 有三个基本要素。

  • 目标是要监视的资源
  • 检测器配方是用于检测问题的方法
  • 检测到问题后,响应器配方将响应这些问题。响应可以是通知或更正操作。

Cloud Guard 检测 OCI 资源的安全配置问题。根据问题的可能影响,它为问题分配风险评分。您可以从 Cloud Guard 仪表盘监视租户的聚合风险评分。以下是有关使用 Cloud Guard 的建议:

  • Cloud Guard 是一项免费服务,最佳做法是为所有区间激活 Cloud Guard。
  • 定制 Cloud Guard 配方以针对检测到的问题定义定制风险评分和响应操作。
  • 选择排除某些区间以使某些其他区间中的资源可用。例如,如果排除开发区间,您可以灵活地创建生产区间中不允许的资源。

Cloud Guard 支持允许列表,这是 Cloud Guard 策略的例外列表。例如,如果将 Cloud Guard 策略设置为拒绝任何公共对象存储存储桶。如果您需要为合法用例创建公用存储桶,则可以将公用存储桶的 OCID 显式添加到允许列表中。

安全日志记录

集中记录所有云资源操作并在云生态系统中审计这些操作的功能可确保云实施成功。您还可以使用网络流日志和一些应用程序日志来检测异常行为。安全性和合规性团队可以为任何意外事件自动执行通知或纠正措施。通过快速行动,可以减少任何数据外泄和威胁。

基于监视、审计和日志记录的仪表盘和报告可以随时更新团队并重点解决问题,避免问题发生灾难。您可以通过设置安全日志记录执行以下操作:

  • 日志组中默认启用 OCI 中的聚合审计日志,以使用日志分析监视它们。
  • 启用网络流日志以检测可疑网络活动。
  • 为支持服务日志的所有服务启用服务日志。确保在启用服务日志时选择适当的日志组。
  • 使用日志分析中的交互式可视化来分析数据。使用群集功能将数百万个日志条目减少到一组有趣的日志签名,可以轻松查看日志。
  • 使用日志分析的链接功能分析事务处理中的日志,以使用分组视图标识异常模式。

如果您使用第三方 SIEM 解决方案,则可以使用 OCI 流处理服务和服务连接器将其与 OCI 集成。

实施基线监管

Oracle 建议使用安全登录区域来实施资源组织(区间结构)和资源访问监管。

除了创建租户结构和访问策略,基线监管还要求您启用其他安全功能,例如 Cloud Guard、审计和日志记录。

您还应按照以下部分中的建议创建标记结构和成本监管结构。

标记

下表中的标记名称空间为 Cost-Management

标记键 示例键值 说明
名称 - -
CostCenterID ERP-U、ERP-Uk 项目代码名称

下表中的标记名称空间为 Operations

标记键 示例键值 说明
环境 正式版,非正式版 生命周期环境
AppName 财务、人力资源 业务单位
AppCI - -
OProjectName 财务 -EBS、财务 -ERP -
业务所有者 ABC.someone@example.com -
SystemCustodian ABC.someone@example.com -
它为 SupportGrp ABC.someone@example.com -
操作系统 Lin、Win -
维护 Group1、Group2、Group3 -
影响 低、中、高 涵盖整个组织的范围

下表中的标记名称空间为 Govn-Security

标记键 示例键值 说明
InfoClass 公共、内部、敏感 -
NetTrustLevel 公司 (3)/ 供应商 DMZ (2)/ 互联网 DMZ (1)/ 防火墙 -
重要性 T1、T2、T3、T4
  • 第 1 层:最关键
  • 第 2 层:重要
  • 第 3 层:非关键业务工作负载
  • 第 4 层:非关键 IT 工作负载

成本监管

在 OCI 控制台中,使用“监管”下的标记名称空间 UI 并执行以下操作:

  1. 定义名为 CostManagement.CostCenterID 的标记键并启用它以进行成本跟踪。
  2. 为财务成本中心 CostManagement.CostCenterID = "Finance" 为特定资源分配关键标记值“财务”。
  3. 将 IT 成本中心 "IT" (CostManagement.CostCenterID = "IT") 的关键标记值分配给其他资源。

使用租户下的创建预算 UI 创建预算

  1. 为标记为 CostManagement.CostCenterID = Finance 的资源创建预算。
  2. 为标记为 CostManagement.CostCenterID = IT 的资源创建另一个预算。
  3. 配置预警,以便在成本超过预定义预算或预测超过设置的阈值时使用电子邮件通知收件人。

您可以为特定于标记值的区间创建预算。例如,每月预算 $500 分配给项目中的所有资源,标记键值在 Cost-Management/Finance 标记名称空间和 CostCenterID 标记键中为 IT。您还可以将预算配置为在每月的特定日期开始,以符合业务需求。然后,您可以将其配置为在实际支出金额达到 500 美元预算的 80% 时向 ABC.someone@company.com 发送预警。

每个 OCI 服务都强制实施默认服务限制。您可以根据负载使用限制、限额和使用情况 UI 更新默认服务限制。可以设置这些限制以根据这些组所需的需要与批准的边界或预算保持一致。

控制成本

为 OCI 中的每个区间创建区间限额。以下示例说明如何创建区间限额。

  1. 以下示例将美国西部(菲尼克斯)区域的区间 App-Dev 上的每个 AD 中 VM.Standard2 and BM.Standard2 计算系列的配额设置为 240 个 OCPU(核心):
    set compute-core quota standard2-core-count to 240 in compartment App-Dev where request.region = us-phoenix-1
  2. 下一个示例显示如何创建允许列表并将系列中的每个限额设置为零,然后显式分配资源:
    zero compute-core quotas in tenancy set compute-core quota standard2-core-count to 240 in tenancy
  3. 此示例说明如何将创建密集 I/O 计算资源限制到一个区域:
    zero compute-core quotas /*dense-io*/ in tenancy set compute-core quota /*dense-io*/ to 48 in tenancy where request.region = us-phoenix-1
  4. 可以使用取消设置语句清除配额,该语句将删除资源的配额。现在,将使用服务限制集强制实施对此资源的任何限制:
    zero compute-core quotas in tenancy unset compute-core quota standard2-core-count in tenancy

成本分析和报告

成本分析和报告是两种可用的服务,用于监视成本并验证成本控制措施是否正常工作。

通过成本分析工具,您可以分析 Oracle Cloud 储值的使用方式以及消费与承诺金额的比较情况。您可以使用仪表盘按服务或部门查看支出(使用区间或成本跟踪标记和趋势线)。这有助于您了解支出模式的变化,并有助于您专注于降低成本。您可以对与预算类似的给定标记键执行成本分析。

您可以选择要针对特定期间和因素运行的特定报告类型。此外,通过基于区间、标记或其他组值对这些报告进行分组,可以对反馈或分析生成细粒度报告。

使用和成本报表

使用情况报告,您可以深入了解计费或创建自定义开单应用程序。报表每个资源包含一条记录。例如,具有元数据和标记的每小时实例、数据库系统或对象存储桶。

成本报表是与用途报表类似的逗号分隔值 (CSV) 文件,它包括成本列。此报表可用于获取资源层粒度的发票行项目的细分。因此,您可以优化 OCI 支出,并做出更明智的云支出决策。

使用情况报表指明消耗的数量。成本报表指明资源消耗成本。与费率卡结合使用时,使用情况报告会驱动如下方案:

  • 发票对账
  • 自定义报告
  • 交叉计费
  • 成本优化
  • 资源库存

除了启用新的开单方案之外,使用情况报表还提供了有关开单系统工作方式的透明性。使用情况报表可以指明在用量报表中如何进行舍入,以及如何对不足 1 小时的资源开单。

部署

GitHub 中提供了此解决方案的 Terraform 代码。只需单击一下即可将代码提取到 Oracle Cloud Infrastructure Resource Manager 中,然后创建堆栈并部署堆栈。或者,也可以通过 Terraform CLI 将代码从 GitHub 下载到您的计算机,定制代码并部署体系结构。

  • 使用 Oracle Cloud Infrastructure Resource Manager 进行部署:
    1. 单击 部署到 Oracle Cloud

      如果您尚未登录,请输入租户和用户凭据。

    2. 查看并接受条款和条件。
    3. 选择要部署堆栈的区域。
    4. 按照屏幕上的提示和说明创建堆栈。
    5. 创建堆栈后,单击 Terraform 操作,然后选择计划
    6. 等待任务完成,然后复核计划。

      要进行任何更改,请返回到 "Stack Details"(堆栈详细信息)页面,单击 Edit Stack(编辑堆栈),然后进行所需的更改。然后,再次运行计划操作。

    7. 如果不需要进一步更改,请返回“堆栈详细信息”页,单击 Terraform 操作,然后选择应用
  • 使用 Terraform CLI 进行部署:
    1. 转至 GitHub
    2. 将代码下载或克隆到本地计算机。
    3. 按照自述文件中的说明进行操作。