全部产品
  • 首页 > 
  • 大型企业IT治理样板间

大型企业IT治理样板间

概述

大型企业IT治理样板间,主要为大型跨国企业在阿里云上搭建跨账号的复杂企业IT治理体系的基本骨架,可以满足符合如下特征的企业客户需求:

  • 全球化、集团化公司,总部拥有集中的基础设施运维团队,各业务线(Line of Business, LoB)拥有各自的App Ops团队。

  • 公司有强烈的IT治理需求、明确的内外部合规规范和丰富的云采用经验(包括AWS Landing Zone、Azure CAF等)。

在本样板间中,我们将逐步完成一个复杂企业的多账号IT治理体系的搭建,其主要步骤大致包括:

  • 完成企业管理账号的注册、企业实名认证、安全加固等先决操作。

  • 完成资源目录RD的开通。

  • 完成资源结构设计和核心账号创建。

  • 完成RD核心账号的身份集成配置。

  • 完成RD级别合规审计配置、基础的网络、安全和监控配置。

  • 完成创建新应用账号的配置基线(当用户需要创建新的业务账号时,可以自动初始化新账号)。

  • 完成两个应用账号的配置,并作为基线示例。

从产品角度,大型企业IT治理样板间包含如下图所示的产品配置。

产品配置

大型企业IT治理样板间的架构如下图所示。

image.png

1. 企业云上资源结构

企业在阿里云上的资源,需要进行结构化的组织,才能在此基础上进行有效的权限管控、合规审计、网络规划、财资托管等,我们使用资源目录RD作为多账号管理的基础。根据本样板间的定义,阿里云上的一个多账号管理体系应当具有如下模块:

  • 企业管理账号:作为多账号体系的根账号存在,负责对整体组织进行管理。承担以下职责:

    • 管理所有资源的账单和支付相关的财务信息。

    • 管理和部署合规策略。

    • 聚合所有成员账号的日志。

    • 集中完成云安全中心、配置审计等产品配置。

  • 共享服务账号:企业共享服务将部署在这个账号内,例如:共享安全服务、每个应用都需要的公共服务等。

  • 应用账号:为每个应用创建的账号,遵循企业统一的管控规定,但由各个LoB维护和使用。

1.1 创建和初始化企业管理账号(需客户手动操作)

  1. 注册阿里云账号。具体操作,请参见注册云账号

  2. 完成企业实名认证并设置支付相关信息。具体操作,请参见企业实名认证

1.2 对企业管理账号进行安全加固(需客户手动操作)

企业管理账号拥有企业整体账号结构中的最高管理权限,因此需要进行非常严格的安全管控。

  1. 修改云账号密码并开启多因素认证(MFA)。具体操作,请参见云账号安全设置

  2. 创建一个RAM用户admin,授予AdministratorAccess权限,然后开启MFA并重置密码。具体操作,请参见创建admin用户并加固安全设置

  3. (可选)为admin用户创建一个访问密钥(AK),以备后续执行API。具体操作,请参见为RAM用户创建访问密钥

1.3 搭建资源结构

  1. 通过admin用户登录,开通资源目录RD。具体操作,请参见开通资源目录

  2. 创建一个资源账号,命名为SharedServices,结算账号选择资源目录主账号。具体操作,请参见创建成员

  3. 创建资源夹Applications,作为以后放置业务相关账号的资源夹。具体操作,请参见创建资源夹

  4. 在资源夹Applications中创建应用账号App1和App2,作为应用示例,结算账号选择资源目录主账号。具体操作,请参见创建成员

2. 身份集成

企业往往在本地拥有身份系统(Identity Provider,IdP),也希望在云上可以复用这些身份,以满足企业的如下诉求:

  • 对同一个用户,使用同样的用户名和密码登录阿里云。

  • 根据用户在IdP中的指定属性,例如:根据其所属的组,来对应在阿里云上不同账号、不同资源的操作权限。

  • 当员工转岗、离职时,只需要在本地IdP中进行转移组、删除等操作,即可解除其在阿里云上的权限,不会造成信息泄露风险。

为满足这些诉求,我们使用阿里云的角色SSO(Role-Based SSO)功能来完成身份集成,并以IdP侧的用户组来映射阿里云上的不同角色。如果客户使用的是Azure AD作为IdP,可以直接参照本文档的步骤进行配置。如果使用AD FS或Okta,请参见使用AD FS进行角色SSO的示例使用Okta进行角色SSO的示例

2.1 创建RAM角色并授权

在RAM中创建一个RAM角色(LandingZoneAccountSetup),用来完成所有配置工作。

操作步骤:

  1. 创建可信实体为阿里云账号的RAM角色。

    1. 登录RAM控制台

    2. 在左侧导航栏,单击RAM角色管理

    3. 单击创建RAM角色

    4. 选择可信实体类型为阿里云账号,单击下一步

    5. 输入角色名称LandingZoneAccountSetup)和备注

    6. 选择云账号为当前云账号,单击完成

2. 为RAM角色授权。

    1. RAM角色名称列下,找到RAM角色(LandingZoneAccountSetup)。

    2. 单击添加权限,被授权主体会自动填入。

    3. 在左侧权限策略名称列表下,单击需要授予RAM角色的权限策略(AdministratorAccess)。

    4. 单击确定

    5. 单击完成

3. 修改信任策略。

    1. RAM角色名称列下,单击RAM角色(LandingZoneAccountSetup)。

    2. 信任策略管理页签下,单击修改信任策略

    3. 修改信任策略内容,然后单击确定

需要用企业管理账号ID替换$master_account_id。

{
    "Statement": [
        {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
                "RAM": [
                    "acs:ram::$master_account_id:user/admin"
                ]
            }
        }
    ],
    "Version": "1"
}

2.2 企业管理账号的身份集成

配置其他用户对企业管理账号的访问,即通过角色SSO,从客户侧IdP对阿里云做单点登录,并将客户侧用户组映射到阿里云账号中的角色。在本样板间中,假设用户使用Azure AD。

通过admin用户扮演RAM角色(LandingZoneAccountSetup)来执行如下配置操作:

  1. 在Azure AD中添加应用程序。

    1. 登录Azure门户

    2. 在主页上,单击主页的主页图标图标。

    3. 在左侧导航栏,选择Azure Active Directory > 企业应用程序 > 所有应用程序

    4. 单击新建应用程序

    5. 添加应用程序页面的从库中添加区域,搜索Alibaba Cloud Service (Role-based SSO)并单击选择

    6. 单击添加

    7. Alibaba Cloud Service (Role-based SSO)页面,单击左侧导航栏的属性,复制并保存对象ID

  2. 在Azure AD中配置角色SSO。

    1. Alibaba Cloud Service (Role-based SSO)页面,单击左侧导航栏的单一登录

    2. 选择单一登录方法页面,单击SAML

    3. 设置SAML单一登录页面进行配置。

      1. 在页面左上角,单击上传元数据文件,选择文件后,单击添加

        说明

        您可以通过https://signin.aliyun.com/saml-role/sp-metadata.xml获取元数据文件。

      2. 基本SAML配置页面,配置以下信息,然后单击保存

        • 标识符(实体 ID):从上一步的元数据文件中自动读取entityID的值。

        • 回复 URL(断言使用者服务 URL):从上一步的元数据文件中自动读取Location的值。

        • 中继状态:用来配置角色SSO登录成功后跳转到的阿里云页面。

        说明

        出于安全原因,您只能填写阿里巴巴旗下的域名URL作为中继状态的值,例如:*.aliyun.com、*.hichina.com、*.yunos.com、*.taobao.com、*.tmall.com、*.alibabacloud.com、*.alipay.com,否则配置无效。若不配置,默认跳转到阿里云控制台首页。

      3. 用户属性和声明区域,单击铅笔图标图标。

      4. 单击添加新的声明,完成以下配置后,单击保存

      5. 重复上述步骤,添加一个新的声明。

        • 名称区域,输入RoleSessionName

        • 命名空间区域,输入https://www.aliyun.com/SAML-Role/Attributes

        • 区域,选择属性

        • 源属性区域,从下拉列表中选择user.userprincipalname

      6. SAML签名证书区域的联合元数据XML,单击下载

  3. 在阿里云配置角色SSO。

    1. 登录RAM控制台

    2. 在左侧导航栏,单击SSO管理

    3. 角色SSO页签下,单击创建身份提供商

    4. 输入提供商名称EnterpriseIdP-AzureAD备注

    5. 元数据文档区域,单击上传文件

      说明

      上传从上述步骤2获取的联合元数据XML

    6. 单击确定

  4. 在阿里云创建RAM角色并授权,其信任对象均为身份提供商EnterpriseIdP-AzureAD。

    1. 创建RAM角色(EnterpriseIdP-CloudAdmin),并授予AdministratorAccess权限。

      1. 在左侧导航栏,单击RAM角色管理

      2. 单击创建RAM角色

      3. 选择可信实体类型为身份提供商,单击下一步

      4. 输入角色名称EnterpriseIdP-CloudAdmin)和备注

      5. 在下拉列表中选择身份提供商EnterpriseIdP-AzureAD,单击完成

      6. 在RAM角色列表中,找到EnterpriseIdP-CloudAdmin,单击操作列的添加权限。选择权限策略AdministratorAccess。

      7. 单击确定

    2. 按照上述方法再创建RAM角色(EnterpriseIdP-BillingAdmin),并授予AliyunBSSFullAccessAliyunFinanceConsoleFullAccess权限。

  5. 在Azure AD中创建用户组,并将企业人员加入到用户组中。

    1. 创建用户组Ali-CloudAdmin-Master

      1. 登录Azure门户

      2. 在左侧导航栏,选择Azure Active Directory >

      3. 单击新建组

      4. 输入用户组名称(Ali-CloudAdmin-Master)。

      5. 单击创建

    2. 按照上述方法再创建用户组Ali-BillingAdmin-Master。

    3. 将人员加入到对应的用户组中。

  6. 在Azure AD Graph浏览器中配置SAML SSO。

    1. 登录Azure AD Graph浏览器

    2. 单击账号右侧齿轮图标图标。

    3. 单击选择权限

    4. 权限页面,选择以下权限并单击同意

      • Directory.AccessAsUser.All

      • Directory.Read.All

      • Directory.ReadWrite.All

        说明

        修改权限后,系统会重定向到Graph浏览器。

    5. Graph浏览器页面,第一个下拉列表中选择GET,第二个下拉列表中选择beta。在搜索框中输入https://graph.microsoft.com/beta/servicePrincipals/<objectID>,其中objectID是您在AAD属性页面保存的对象ID,然后单击运行查询

      说明

      如果您有多个目录,您可以在查询区域输入https://graph.microsoft.com/beta/contoso.com/servicePrincipals

    6. 响应预览页签下,提取出appRoles属性并保存。

      "appRoles": [
                      {
                          "allowedMemberTypes": [
                              "User"
                          ],
                          "description": "msiam_access",
                          "displayName": "msiam_access",
                          "id": "7dfd756e-8c27-4472-b2b7-38c17fc5****",
                          "isEnabled": true,
                          "origin": "Application",
                          "value": null
                      }
                  ],
    7. 返回Graph浏览器,将第一个下拉列表改为PATCH,第二个下拉列表中选择beta。在搜索框中输入https://graph.microsoft.com/beta/servicePrincipals/<objectID>,其中objectID是您在AAD属性页面保存的对象ID,将以下内容复制到请求正文中并选择运行查询

      { 
        "appRoles": [
          { 
            "allowedMemberTypes":[
              "User"
            ],
            "description": "msiam_access",
            "displayName": "msiam_access",
            "id": "7dfd756e-8c27-4472-b2b7-38c17fc5****",
            "isEnabled": true,
            "origin": "Application",
            "value": null
          },
          { "allowedMemberTypes": [
              "User"
          ],
          "description": "Ali-CloudAdmin-Master",
          "displayName": "Ali-CloudAdmin-Master",
          "id": "68adae10-8b6b-47e6-9142-6476078c****", //自定义ID
          "isEnabled": true,
          "origin": "ServicePrincipal",
          "value": "acs:ram::<master_account_id>:role/enterpriseidp-cloudadmin,acs:ram::<master_account_id>:saml-provider/EnterpriseIdP-AzureAD" //身份提供商和RAM角色的ARN
          },
          { "allowedMemberTypes": [
              "User"
          ],
          "description": "Ali-BillingAdmin-Master",
          "displayName": "Ali-BillingAdmin-Master",
          "id": "38adae10-8b6b-47e6-9142-6476078c****", //自定义ID
          "isEnabled": true,
          "origin": "ServicePrincipal",
          "value": "acs:ram::<master_account_id>:role/enterpriseidp-billingadmin,acs:ram::<master_account_id>:saml-provider/EnterpriseIdP-AzureAD" //身份提供商和RAM角色的ARN
          }
        ]
      }

      说明

      • <master_account_id>请替换为企业管理账号ID。

      • 您可以根据需要创建多个RAM角色,AAD将在SAML中将这些角色作为声明值进行传送,但是您只能在msiam_access后添加新的角色。

  7. 在Azure AD中为应用Alibaba Cloud Service (Role-based SSO)添加用户组并分配角色。

    1. 添加用户组Ali-CloudAdmin-Master,分配角色为Ali-CloudAdmin-Master

      1. 登录Azure门户

      2. 在左侧导航栏,选择Azure Active Directory > 企业应用程序 > 所有应用程序

      3. 名称列表下,单击Alibaba Cloud Service (Role-based SSO)

      4. 在左侧导航栏,单击用户和组

      5. 单击左上角的添加用户

      6. 选择用户组Ali-CloudAdmin-Master

      7. 选择角色Ali-CloudAdmin-Master

      8. 单击分配

    2. 按照上述方法添加用户组Ali-BillingAdmin-Master,分配角色为Ali-BillingAdmin-Master

  8. Azure AD用户组(Ali-CloudAdmin-Master、Ali-BillingAdmin-Master)中的用户,可以通过角色访问阿里云企业管理账号。如果同时属于两个组,登录时将需要您选择。

2.3 共享服务账号的身份集成

与2.2节类似,通过角色SSO配置共享服务账号的身份集成。其中,Azure AD侧的应用、阿里云侧的身份提供商与2.2节中的相同,其他元素请按下表配置。

Azure AD用户组

阿里云角色和权限

Azure AD appRoles

Ali-CloudAdmin-SharedServices

角色名:EnterpriseIdP-CloudAdmin

权限:系统策略AdministratorAccess

displayName:Ali-CloudAdmin-SharedServices

value:acs:ram::<sharedservices_account_id>:role/enterpriseidp-cloudadmin,acs:ram::<sharedservices_account_id>:saml-provider/EnterpriseIdP-AzureAD

Ali-NetworkAdmin-SharedServices

角色名:EnterpriseIdP-NetworkAdmin

权限:系统策略

AliyunVPCFullAccess

AliyunNATGatewayFullAccess

AliyunEIPFullAccess

AliyunCENFullAccess

AliyunVPNGatewayFullAccess

AliyunSLBFullAccess

AliyunExpressConnectFullAccess

AliyunCommonBandwidthPackageFullAccess

AliyunSmartAccessGatewayFullAccess

AliyunGlobalAccelerationFullAccess

AliyunECSNetworkInterfaceManagementAccess

AliyunDNSFullAccess

AliyunCDNFullAccess

AliyunYundunNewBGPAntiDDoSServicePROFullAccess

displayName:Ali-NetworkAdmin-SharedServices

value:acs:ram::<sharedservices_account_id>:role/enterpriseidp-networkadmin,acs:ram::<sharedservices_account_id>:saml-provider/EnterpriseIdP-AzureAD

Ali-DBAdmin-SharedServices

角色名:EnterpriseIdP-DBAdmin

权限:系统策略

AliyunRDSFullAccess

AliyunDRDSFullAccess

AliyunKvstoreFullAccess

AliyunOCSFullAccess

AliyunPolardbFullAccess

AliyunADBFullAccess

AliyunDTSFullAccess

AliyunMongoDBFullAccess

AliyunPetaDataFullAccess

AliyunGPDBFullAccess

AliyunHBaseFullAccess

AliyunYundunDbAuditFullAccess

AliyunHiTSDBFullAccess

AliyunDBSFullAccess

AliyunHDMFullAccess

AliyunGDBFullAccess

AliyunOceanBaseFullAccess

AliyunCassandraFullAccess

AliyunClickHouseFullAccess

AliyunDLAFullAccess

displayName:Ali-DBAdmin-SharedServices

value:acs:ram::<sharedservices_account_id>:role/enterpriseidp-dbadmin,acs:ram::<sharedservices_account_id>:saml-provider/EnterpriseIdP-AzureAD

Ali-MonitorAdmin-SharedServices

角色名:EnterpriseIdP-MonitorAdmin

权限:系统策略AliyunCloudMonitorFullAccess

displayName:Ali-MonitorAdmin-SharedServices

value:acs:ram::<sharedservices_account_id>:role/enterpriseidp-monitoradmin,acs:ram::<sharedservices_account_id>:saml-provider/EnterpriseIdP-AzureAD

Ali-SecurityAdmin-SharedServices

角色名:EnterpriseIdP-SecurityAdmin

权限:系统策略AliyunYundunFullAccess

displayName:Ali-SecurityAdmin-SharedServices

value:acs:ram::<sharedservices_account_id>:role/enterpriseidp-securityadmin,acs:ram::<sharedservices_account_id>:saml-provider/EnterpriseIdP-AzureAD

Ali-SecurityAuditor-SharedServices

角色名:EnterpriseIdP-SecurityAuditor

权限:系统策略

AliyunYundunHighReadOnlyAccess

AliyunYundunAegisReadOnlyAccess


AliyunYundunSASReadOnlyAccess

AliyunYundunBastionHostReadOnlyAccess

AliyunYundunCertReadOnlyAccess

AliyunYundunDDosReadOnlyAccess

AliyunYundunWAFReadOnlyAccess

AliyunYundunDbAuditReadOnlyAccess

AliyunYundunCloudFirewallReadOnlyAccess

AliyunYundunIdaasReadOnlyAccess

displayName:Ali-SecurityAuditor-SharedServices

value:acs:ram::<sharedservices_account_id>:role/enterpriseidp-securityauditor,acs:ram::<sharedservices_account_id>:saml-provider/EnterpriseIdP-AzureAD

Ali-LogAdmin-SharedServices

角色名:EnterpriseIdP-LogAdmin

权限:系统策略AliyunLogFullAccess

displayName:Ali-LogAdmin-SharedServices

value:acs:ram::<sharedservices_account_id>:role/enterpriseidp-logadmin,acs:ram::<sharedservices_account_id>:saml-provider/EnterpriseIdP-AzureAD

Ali-LogViewer-SharedServices

角色名:EnterpriseIdP-LogViewer

权限:系统策略AliyunLogReadOnlyAccess

displayName:Ali-LogViewer-SharedServices

value:acs:ram::<sharedservices_account_id>:role/enterpriseidp-logviewer,acs:ram::<sharedservices_account_id>:saml-provider/EnterpriseIdP-AzureAD

Ali-CommonUser-SharedServices

角色名:EnterpriseIdP-CommonUser

权限:无(支持自定义)

displayName:Ali-CommonUser-SharedServices

value:acs:ram::<sharedservices_account_id>:role/enterpriseidp-commonuser,acs:ram::<sharedservices_account_id>:saml-provider/EnterpriseIdP-AzureAD

说明

上表中的<sharedservices_account_id>请替换为共享服务账号的ID。

3. IT合规与审计

企业在云上的IT治理核心诉求之一是符合企业的合规与审计需求。具体需求如下:

  • 预防性(preventive)管控:为符合企业合规准则,禁止执行某些管理操作,如禁止外网连接、禁止创建未加密的磁盘等。

  • 发现性(detective)管控:设置合规规则并对企业资源进行持续监控,发现不合规资源时,进行记录、报警乃至自动修复。

  • 操作日志的审计:对云上操作、资源变更、网络流量等日志进行持久化保存,以备审计之需。

阿里云使用管控策略概述(邀测中)、操作审计、配置审计等产品可以实现企业对IT合规与审计的主要诉求。

3.1 配置预防性管控规则

通过admin用户登录企业管理账号,在资源目录服务中创建下列RD管控策略并绑定到RD根节点或Applications资源夹。具体操作,请参见创建自定义管控策略绑定自定义管控策略

3.1.1 禁止修改样板间配置使用的角色

  • 名称:DenyLandingZoneManagementRoleModification。

  • 描述:禁止修改LandingZoneAccountSetupRole和样板间身份集成使用的角色。

  • 绑定节点:RD根节点。

  • 策略内容:

{
   "Version": "1",
   "Statement": [
     {
       "Effect": "Deny",
       "Action": [
         "ram:UpdateRole",
         "ram:DeleteRole",
         "ram:AttachPolicyToRole"
         "ram:DetachPolicyFromRole"
       ],
       "Resource": [
         "acs:ram:*:*:role/landingzoneaccountsetup",
         "acs:ram:*:*:role/enterpriseidp-*"
       ],
       "Condition": {
         "StringNotLike": {
           "acs:PrincipalARN":"acs:ram:*:*:role/landingzoneaccountsetup"
         }
       }
     }
   ]
}

3.1.2 禁止修改样板间配置使用的身份提供商

  • 名称:DenyLandingZoneManagementSAMLProviderModification。

  • 描述:禁止修改样板间配置使用的身份提供商,并禁止配置新的身份提供商。

  • 绑定节点:RD根节点。

  • 策略内容:

{
   "Version": "1",
   "Statement": [
     {
       "Effect": "Deny",
       "Action": [
         "ram:UpdateSAMLProvider",
         "ram:DeleteSAMLProvider"
       ],
       "Resource": "acs:ram:*:*:saml-provider/EnterpriseIdP-AzureAD",
       "Condition": {
         "StringNotLike": {
           "acs:PrincipalARN":"acs:ram:*:*:role/landingzoneaccountsetup"
         }
       }
     },
     {
       "Effect": "Deny",
       "Action": [
         "ram:CreateSAMLProvider"
       ],
       "Resource": "*",
       "Condition": {
         "StringNotLike": {
           "acs:PrincipalARN":"acs:ram:*:*:role/landingzoneaccountsetup"
         }
       }
     }
   ]
}

3.1.3 禁止创建具有公网访问能力的网络资源,包括EIP、NAT网关

  • 名称:DenyPublicNetworkProductsInApplicationAccount。

  • 描述:禁止创建具有公网访问能力的资源,包括EIP实例、NAT网关实例。

  • 绑定节点:Applications资源夹。

  • 策略内容:

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "vpc:AllocateEipAddress",
                "vpc:AllocateEipAddressPro",
                "vpc:AllocateEipSegmentAddress",
                "vpc:CreateNatGateway"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Deny",
            "Condition": {
                "StringNotLike": {
                    "acs:PrincipalARN": "acs:ram:*:*:role/landingzoneaccountsetup"
                }
            }
        }
    ]
}

3.1.4 禁止访问连接线下资源的网络产品

  • 名称:DenyConnectivityNetworkProductsInApplicationAccount。

  • 描述:禁止访问连接线下资源的网络产品,包括:高速通道的物理专线和边界路由、云企业网、VPN网关、智能接入网关。

  • 绑定节点:Applications资源夹。

  • 策略内容:

{
    "Statement": [
       {
            "Action": [
                "vpc:*PhysicalConnection*",
                "vpc:*VirtualBorderRouter*",
                "cen:*",
                "vpc:*VpnGateway*",
                "vpc:*VpnConnection*",
                "vpc:*CustomerGateway*",
                "vpc:*SslVpnServer*",
                "vpc:*SslVpnClientCert*",
                "vpc:*VpnRoute*",
                "vpc:*VpnPbrRoute*",
                "smartag:*"
            ],
            "Resource": "*",
            "Effect": "Deny",
            "Condition": {
                "StringNotLike": {
                    "acs:PrincipalARN": "acs:ram:*:*:role/landingzoneaccountsetup"
                }
            }
        }
    ],
    "Version": "1"
}

3.2 配置发现性管控规则

通过admin用户扮演LandingZoneAccountSetup角色,执行如下操作:

  1. 开通OSS服务。具体操作,请参见开通OSS服务

  2. 开通KMS服务。具体操作,请参见开通密钥管理服务

  3. 开通消息服务MNS。具体操作,请参见开通MNS服务

  4. 在消息服务MNS控制台,新建主题。主题名称为:notice-rd-compliance,其他参数保持默认值。具体操作,请参见创建主

  5. 在配置审计控制台的概览页面,单击升级企业版,等待升级完成后您可以执行如下操作。

    1. 投递资源的配置变更快照到对象存储OSS。

      1. 在左侧导航栏,选择投递服务 > 投递到对象存储OSS

      2. 投递到对象存储OSS页面,打开设置对象存储OSS开关。

      3. 选择本账号中新建存储桶。

      4. 地域选择华东2(上海)(请根据实际情况选择),存储桶输入enterprise-resources-configuration日志文件加密选择KMS

      5. 单击确定

    2. 创建合规托管规则:ram-user-mfa-check

      1. 在左侧导航栏,选择管理合规规则

      2. 管理合规规则页面,单击新建规则

      3. 基本设置页面,选择规则配置方式使用托管规则托管规则选择ram-user-mfa-check将规则应用到所有成员账号选择风险等级选择,单击下一步

      4. 参数设置页面,规则触发机制和关联资源均保持默认值,无需设置参数,单击提交

      5. 该规则将同时在所有成员账号中生效,请确认创建对话框中,单击确定

    3. 创建合规托管规则:ecs-instances-in-vpc。

      1. 在左侧导航栏,选择管理合规规则

      2. 管理合规规则页面,单击新建规则

      3. 基本设置页面,选择规则配置方式使用托管规则托管规则选择ecs-instances-in-vpc将规则应用到所有成员账号选择风险等级选择,单击下一步

      4. 参数设置页面,规则触发机制和关联资源均保持默认值,vpcIds的阈值必须包含VPC ID,单击提交

      5. 该规则将同时在所有成员账号中生效,请确认创建对话框中,单击确定

    4. 创建合规托管规则:sg-public-access-check

      1. 在左侧导航栏,选择管理合规规则

      2. 管理合规规则页面,单击新建规则

      3. 基本设置页面,选择规则配置方式使用托管规则托管规则选择sg-public-access-check将规则应用到所有成员账号选择风险等级选择,单击下一步

      4. 参数设置页面,规则触发机制和关联资源均保持默认值,无需设置参数,单击提交

      5. 该规则将同时在所有成员账号中生效,请确认创建对话框中,单击确定

    5. 创建合规托管规则:sg-risky-ports-check

      1. 在左侧导航栏,选择管理合规规则

      2. 管理合规规则页面,单击新建规则

      3. 基本设置页面,选择规则配置方式使用托管规则托管规则选择sg-risky-ports-check将规则应用到所有成员账号选择风险等级选择,单击下一步

      4. 参数设置页面,规则触发机制和关联资源均保持默认值,ports的阈值设置为22,3389,80,单击提交

      5. 该规则将同时在所有成员账号中生效,请确认创建对话框中,单击确定

  6. 在配置审计控制台,设置MNS事件通知,将资源变更事件、不合规告警事件、OSS投递发生事件推送到指定的MNS Topic。

    1. 在左侧导航栏,选择投递服务 > 事件通知消息服务MNS

    2. 事件通知消息服务MNS页面,打开设置消息服务MNS开关。

    3. 选择选择本账号中已有的主题

    4. 设置目标账号中主题的ARN。格式为acs:mns:{regionId}:{Aliuid}:/topics/{topicName},各参数含义如下:

      • regionId:主题地域,例如:cn-shanghai。

      • Aliuid:成员账号ID,例如:178589740730****。

      • topicName:主题名称,例如:notice-rd-compliance。

    5. 设置目标账号中需扮演角色的ARN。格式为acs:ram::{Aliuid}:role/aliyunserviceroleforconfig,参数含义如下:

      • Aliuid:成员账号ID,例如:178589740730****。

      • aliyunserviceroleforconfig:目标成员账号中配置审计的关联角色。

    6. 单击确定

3.3 审计日志归档

3.3.1 操作日志归档

在企业管理账号中执行如下操作:

  1. 开通OSS服务。具体操作,请参见开通OSS服务

  2. 开通日志服务SLS。首次登录日志服务控制台时,根据页面提示开通日志服务。

  3. 使用操作审计创建跟踪,将跟踪投递到日志服务SLS和对象存储OSS。

    1. 登录操作审计控制台

    2. 在顶部导航栏选择您想创建跟踪的地域。

    3. 在左侧导航栏,选择操作审计 > 创建跟踪

    4. 跟踪基本属性页面,设置如下参数,单击下一步

      • 跟踪名称:输入enterprise-audit-logs

      • 跟踪的地域:选择全部地域

      • 事件类型:选择所有事件

      • 将跟踪应用到所有成员账号:选择

    5. 审计事件投递页面,选择投递方式,单击下一步

      • 选择将事件投递到日志服务SLS,设置如下参数:

        • 选择创建新的日志项目

        • 日志库所属地域:根据需求选择。

        • 日志项目名称:输入enterprise-audit-logs

      • 选择将事件投递到对象存储OSS,设置如下参数:

        • 选择创建新的存储桶

        • 存储桶名称:输入enterprise-audit-logs

        • 日志文件前缀:根据需求设置。

        • 开启服务端加密:选择KMS

    6. 预览并创建页面,确认跟踪信息,单击提交

3.3.2 资源配置历史归档

在企业管理账号中执行如下操作:

  1. 投递资源的配置变更日志到日志服务SLS。

    1. 登录日志服务SLS控制台,新建日志项目和日志库。日志项目为configuration-change-history,日志库为rd-resources-configuration-change-history,数据保存时间为2500天,其他参数保持默认值。具体操作,请参见快速入门

    2. 登录配置审计控制台。在左侧导航栏,选择投递服务 > 投递到日志服务SLS

    3. 投递到日志服务SLS页面,打开设置日志服务SLS开关。

    4. 选择选择本账号中已有的日志项目

    5. 设置如下参数:

      • 日志项目地域,本示例选择华东2(上海)

      • 日志项目名称,本示例选择configuration-change-history

      • 日志库名,本示例选择rd-resources-configuration-change-history

    6. 单击确定

  1. 投递资源的配置变更快照到对象存储OSS。

    1. 在对象存储OSS控制台,新建存储桶。存储桶为rd-resources-configuration服务端加密为OSS完全托管,其他参数保持默认值,操作方法请参见创建存储空间

    2. 在左侧导航栏,选择投递服务 > 投递到对象存储OSS

    3. 投递到对象存储OSS页面,打开设置对象存储OSS开关。

    4. 选择选择本账号中已有的存储桶

    5. 设置如下参数:

      • 地域,本示例选择华东2(上海)

      • 存储桶,本示例选择rd-resources-configuration

    6. 单击确定

4. 企业网络规划

4.1 网络组网

4.1.1 概述

阿里云支持共享VPC功能,利用资源目录RD的资源共享RS(Resource Sharing)能力,帮助您使用多个账号在一个集中管理、共享的VPC内创建云资源,实现企业的统一网络规划和管理。VPC的所有者账号(资源所有者)可以将VPC内的非默认交换机共享给其他账号(资源使用者)使用,资源所有者与资源使用者必须属于同一个资源目录。

使用共享VPC,基础运维团队的账号可以根据规划为各个业务账号创建和分配VPC以及VPC中的vSwitch。业务账号可以将自己创建的ECS、RDS、K8s等资源部署在为其分配的VPC或vSwitch中,但无权修改VPC或vSwitch的路由、网络ACL(Network Access Control List)等配置。这样,包括VPC或vSwitch在内的所有基础网络资源都由基础运维团队统一进行管理维护,并且可以利用云防火墙、CEN路由策略、网络ACL能力部署统一的基础安全策略,而业务团队则可以使用安全组能力部署业务相关的安全策略。

网络组网的总体步骤如下:

  1. 在样板间,共享VPC会横跨3个账号: 应用账号A(App1)、应用账号B(App2)和共享服务账号(SharedServices) 。

  2. 创建4个VPC:DMZ VPC、共享服务VPC生产环境共享VPC和非生产环境共享VPC。

  3. 在共享服务账号下统一进行VPC配置,例如:IP地址规划、网络ACL和CEN。

  4. 应用账号通过共享VPC功能使用生产环境共享VPC和非生产环境共享VPC。生产环境共享VPC和非生产环境共享VPC不互相打通。

  5. 应用账号中product domain分成应用和数据库两个子网。子网之间访问通过网络ACL来控制。

  6. 生产环境共享VPC和非生产环境共享VPC同时通过CEN与DMZ VPC和共享服务VPC打通。

  7. VPC之间东西和南北访问控制通过云防火墙来控制。

  8. NAT Gateway部署在DMZ VPC中,提供SNAT和DNAT的功能。

完成网络搭建后,我们在应用账号里部署K8s集群作为负载示例。整体网络架构如下图所示。

image.png

4.1.2 网络组网步骤

  1. 规划IP地址。示例如下:

    • 共享服务VPC:10.36.10.0/24

    • DMZ VPC:10.36.11.0/24

    • 生产环境共享VPC:10.34.64.0/20

    • 非生产环境共享VPC:10.34.96.0/22

      具体见下表。

      vSwitch名称

      是否面向公网使用

      IPv4 CIDR Block示例

      功能

      Shared_Service_vSwitch_a

      10.36.10.0/25

      部署bastion Host; VPN Gateway in vSwitch in AZ a

      DMZ_vSwitch_a

      10.36.11.0/24

      部署NAT Gateway in AZ a

      App_1_vSwitch_a

      10.34.64.0/24

      Application Account A production application for pod in shared vSwitch

      App_2_vSwitch_a

      10.34.65.0/24

      Application Account B application server shared vSwitch

      App_1_vSwitch_b

      10.34.66.0/24

      Application Account A production application for pod in shared vSwitch

      App_2_vSwitch_b

      10.34.67.0/24

      Application Account 1 production application shared vSwitch

      App_1_vSwitch_c

      10.34.68.0/24

      Application Account A production application for pod in shared vSwitch

      App_2_vSwitch_c

      10.34.69.0/24

      Application Account A production application shared vSwitch

      App_1_db_vSwitch_a

      10.34.70.0/24

      Application production A database application shared vSwitch

      App_1_db_vSwitch_b

      10.34.71.0/24

      Application production A database application shared vSwitch

      App_2_db_vSwitch_a

      10.34.72.0/24

      Application production B database application shared vSwitch

      App_2_db_vSwitch_b

      10.34.73.0/24

      Application production B database application shared vSwitch

      App_1_vSwitch_k8s_a

      10.34.74.0/24

      Application Account A production application for vSwitch

      App_1_vSwitch_k8s_b

      10.34.75.0/24

      Application Account A production application for vSwitch

      App_1_vSwitch_k8s_c

      10.34.76.0/24

      Application Account A production application for vSwitch

      App _1_UAT_vSwitch_a

      10.34.96.0/24

      Application A UAT/DEV application server shared vSwitch in AZ a

      App _2_UAT_vSwitch_b

      10.34.97.0/24

      Application B UAT/DEV application server shared vSwitch in AZ b

      App _1_UAT_vSwitch_a

      10.34.98.0/24

      Application UAT/DEV database shared vSwitch in AZ a

      App _2_UAT_vSwitch_b

      10.34.99.0/24

      Application UAT/DEV database shared vSwitch in AZ b

  2. 登录企业管理账号,然后切换角色跳转登录到共享服务账号、App1和App2上,分别创建RAM角色LandingZoneAccountSetup@sharedservice、LandingZoneAccountSetup@app1和LandingZoneAccountSetup@app2,并授予AdministratorAccess权限。

    说明

    在实际部署中,您可以根据网络团队和业务团队所需的权限进行配置。

  3. 在共享服务账号上创建并共享VPC。

    1. 通过RAM角色LandingZoneAccountSetup@sharedservice登录共享服务账号,在专有网络控制台创建一个VPC。

    2. 登录资源管理控制台,在左侧导航栏选择资源共享 > 我的共享,单击创建共享单元

    3. 创建共享单元页面,输入共享单元名称地域选择华东2(上海),选中刚才创建的VPC并添加到共享的资源中。

    4. 将App1和App2的UID分别复制到选择资源使用者文本框中,然后单击确定

4.1.3 配置CEN

  1. 使用共享服务账号登录云企业网控制台

  2. 创建CEN实例。

    a. 在左侧导航栏,单击云企业网实例,然后单击创建云企业网实例

    b. 根据以下信息完成配置。

    配置

    说明

    名称

    实例名称。名称长度为2~128个字符,以英文字母或中文开头,可包含数字、下划线(_)和短划线(-)。

    本示例设置为cen-enterprise-backbone

    描述

    (可选)实例描述信息。

  3. 加载同一账号下的VPC实例。

    a. 在同账号页签,根据以下信息完成配置。

    b. 单击确定

    配置

    说明

    实例类型

    要加载的网络实例。

    本示例选择专有网络(VPC)

    地域

    所选实例类型的所属地域。

    本示例选择华东2(上海)

    网络实例

    如下

    将以下4个VPC实例加载到上述CEN实例下:

    • 共享服务VPC:10.36.10.0/24

    • DMZ VPC:10.36.11.0/24

    • 生产环境共享VPC:10.34.64.0/20

    • 非生产环境共享VPC:10.34.96.0/22

  1. 实例加载完成后,您可以在网络实例管理页签查看实例信息。

image.png

说明

  • 生产环境共享VPC跟非生产环境共享VPC之间默认不通。生产环境共享VPC和非生产环境共享VPC默认不通的策略可以在防火墙ACL中配置。

  • 生产环境共享VPC、非生产环境共享VPC跟DMZ VPC、共享服务VPC之间通过CEN默认互通。

4.2 配置网络ACL

网络ACL(Network Access Control List)是专有网络VPC中的网络访问控制功能。您可以自定义设置网络ACL规则,并将网络ACL与交换机绑定,实现对交换机中ECS的流量的访问控制。

4.2.1 功能特性

网络ACL具有以下特性:

  • 网络ACL规则仅过滤绑定的交换机中的ECS流量(包括SLB转发给ECS的流量)。

  • 网络ACL的规则是无状态的,设置入方向规则的允许请求后,需要同时设置相应的出方向规则,否则可能会导致请求无法响应。

  • 网络ACL无任何规则时,会拒绝所有出入方向的访问。

  • 网络ACL与交换机绑定,不过滤同一交换机内的ECS间的流量。

4.2.2 准备工作

  • 请确保网络ACL功能白名单已开通。如果尚未开通,请联系阿里云技术支持。

  • 请确保已经创建了专有网络VPC。

4.2.3 操作步骤

步骤一:创建网络ACL

网络ACL是专有网络VPC中的网络访问控制功能。您可以在专有网络VPC中创建网络ACL。

  1. 登录专有网络管理控制台

  2. 在左侧导航栏,单击网络ACL

  3. 在顶部状态栏处,选择网络ACL的地域。

    本示例选择华东2(上海)
说明

目前仅华北1(青岛)、华北2(北京)、华北5(呼和浩特)、西南1(成都)、华东1(杭州)、华东2(上海)、华南1(深圳)、华南2(河源)、中国香港、英国(伦敦)、美国(硅谷)、新加坡、德国(法兰克福)、印度(孟买)地域支持网络ACL功能。

  1. 网络ACL页面,单击创建网络ACL

  2. 创建网络ACL对话框中,根据以下信息配置网络ACL,然后单击确定。

配置

说明

专有网络

网络ACL所属的专有网络。

本示例选择共享服务VPC。

名称

网络ACL的名称。

描述

网络ACL的描述。

步骤二:绑定交换机

  1. 登录专有网络管理控制台

  2. 在左侧导航栏,单击网络ACL

  3. 在顶部状态栏处,选择网络ACL的地域。本示例选择华东2(上海)

  4. 网络ACL页面,找到目标网络ACL,单击操作列下的关联交换机

  5. 已绑定资源页签下,单击关联交换机

  6. 关联交换机对话框,选择需要绑定的交换机,然后单击确定关联

image.png

步骤三:添加入方向规则

  1. 登录专有网络管理控制台

  2. 在左侧导航栏,单击网络ACL

  3. 在顶部状态栏处,选择网络ACL的地域。

  4. 网络ACL页面,找到目标网络ACL,单击操作列下的设置入方向规则

  5. 入方向规则页签下,单击管理入方向规则

  6. 单击添加一条,根据以下信息配置入方向规则,然后单击确定

配置

说明

规则名称

入方向规则的名称。

本示例填写应用与数据库访问控制

策略

入方向规则的授权策略。

取值:

  • 允许

  • 拒绝

本示例选择拒绝

协议类型

传输层协议。

取值:

  • ALL

  • ICMP

  • GRE

  • TCP

  • UDP

本示例选择ALL

源地址

数据流的源地址网段。

默认为0.0.0.0/32。

本示例选择应用vSwitch/数据库vSwitch所在网段。

步骤四:添加出方向规则

  1. 登录专有网络管理控制台

  2. 在左侧导航栏,单击网络ACL

  3. 在顶部状态栏处,选择网络ACL的地域。

  4. 网络ACL页面,找到目标网络ACL,单击操作列下的设置出方向规则

  5. 出方向规则页签下,单击管理出方向规则

  6. 单击添加一条,根据以下信息配置出方向规则,然后单击确定

配置

说明

规则名称

出方向规则的名称。

本示例填写应用与数据库访问控制

策略

出方向规则的授权策略。

取值:

  • 允许

  • 拒绝

本示例选择拒绝

协议类型

传输层协议。

取值:

  • ALL

  • ICMP

  • GRE

  • TCP

  • UDP

本示例选择ALL

目标地址

数据流的目标地址网段。

默认为0.0.0.0/32。

规则如下(以App1为例):

  • App1允许App1内所有vSwitch。

  • App1 vSwitch in AZ (a)允许DMZ + Shared service。

  • 其他vSwitch为拒绝。

App1配置示例如下图所示。

image.png

入方向规则配置示例如下图所示。

image.png

出方向规则配置示例如下图所示。

image.png

4.2.4 在DMZ VPC中创建NAT网关

  1. 登录NAT网关管理控制台

  2. NAT网关页面,单击创建NAT网关

  3. 创建NAT网关页面,根据以下信息配置NAT网关,然后单击立即购买并完成支付。

配置

说明

付费模式

选择NAT网关实例的付费模式:

  • 包年包月:包年包月是一种先付费后使用的付费模式。

  • 按量付费:按量付费是一种先使用后付费的付费模式。

地域和可用区

选择需要创建NAT网关的地域。

本示例选择华东2(上海)

VPC ID

选择NAT网关所属的VPC。

本示例选择DMZ VPC

交换机ID

选择NAT网关实例所属的交换机。

说明

在DMZ VPC中只需要1个交换机,选中下拉菜单中的唯一选项即可。

网关类型

选择要创建的NAT网关类型:

  • 普通型

  • 增强型

本示例选择增强型

名称

设置NAT网关实例的名称。名称长度为2~128个字符,以英文字母或中文开头,可包含数字、下划线(_)和短横线(-)。

本示例设置为DMZ_NAT_Service

规格

选择NAT网关的规格:

  • 小型

  • 中型

  • 大型

  • 超大型-1

NAT网关的规格会影响SNAT功能的最大连接数和每秒新建连接数,但不会影响DNAT性能。

说明
  • SNAT最大连接数规格:小型=1万,中型=5万,大型=20万,超大型=100万

  • SNAT每秒新建连接数规格:小型=1千,中型=5千,大型=1万,超大型=5万

购买数量

设置要购买NAT网关实例的数量。

本示例设置为1,且SNAT和DNAT均需设置。

说明

仅付费模式选择包年包月时,才会出现此选项。

计费类型

选择NAT网关实例的计费类型:

  • 按使用量计费:按NAT网关实际处理量进行收费,每个计费周期的费用不固定。

  • 按固定规格计费:每个计费周期的费用固定,不会因NAT网关的处理量发生变化。

说明

  • 目前,仅以下地域的增强型NAT网关支持按使用量计费:华东2(上海)、华北2(北京)、华北3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华南2(河源)、西南1(成都)、新加坡、马来西亚(吉隆坡)、印度(孟买)、印度尼西亚(雅加达)、德国(法兰克福)和英国(伦敦)地域。

  • 仅付费模式选择按量付费时,才会出现此选项。

计费周期

选择NAT网关实例的计费周期。

说明

仅付费模式选择包年包月时,才会出现此选项。

说明

  • 企业网络由一个共享VPC和多个业务VPC组成。各个VPC之间通过云企业网连接。

  • 共享VPC中部署NAT网关,并绑定EIP。各个业务VPC访问公网的请求,都通过云企业网转发到共享VPC,并通过共享VPC中的NAT网关访问公网。

  • 各个VPC之间的互访流量,都可以通过云防火墙进行安全控制。

4.2.6 创建Backbone CEN,并把VPC加载到CEN中

根据以下信息完成配置。

说明

由于是相同地域,无需配置带宽包。

配置项

说明

名称

CEN

重叠路由功能

开启

根据实际地址规划情况选择是否开启。

网络实例

DMZ_VPC

Non_production_VPC

Production_VPC

shared_service_VPC

带宽包管理

相同地域无需购买带宽包。

跨地域互通带宽管理

PrivateZone

路由策略

4.3 购买EIP

根据以下信息完成配置。

配置项

说明

包年包月/按量付费

按量付费

目前混合云类型EIP只支持按量付费。

地域

<根据实际需要选择>

线路类型

BGP(多线)

网络类型

混合云

注意:必须选择混合云类型。

带宽峰值

<根据实际需要选择>

名称

Egress-EIP-1

购买成功后,将购买的EIP绑定到NAT网关上。

4.4 配置SNAT条目

由于目前控制台尚不支持配置以非NAT网关所在VPC的网段作为源地址段的SNAT条目,需要通过调用OpenAPI配置。您可以通过阿里云OpenAPI开发者门户或者Aliyun CLI进行配置。

4.4.1 通过阿里云OpenAPI开发者门户配置

  1. 访问CreateSnatEntry

  2. 填写如下调用参数,然后单击发起调用

参数名称

说明

RegionId

<根据实际需要选择>

本示例选择华东2(上海)

SnatTableId

<根据实际需要选择>

SNAT表ID,请在NAT网关的控制台中查询。

SnatIp

<Egress-EIP-1 IP Address>

SourceCIDR

<production-VPC IP-Range>/<non-production-VPC IP-Range>

Production VPC和Non-production VPC的Subnet CIDR。

10.34.64.0/20

10.34.96.0/22

SnatEntryName

snat entry for app1/app2

4.4.2 通过Aliyun CLI配置

  1. 在阿里云控制台上打开Aliyun CLIcli

  2. 在命令行中执行如下代码:

    aliyun vpc CreateSnatEntry --RegionId cn-shanghai --SnatTableId --SnatIp --SourceCIDR <Production-VPC-Subnet-CIDR|Non-production-VPC-Subnet-CIDR>

  3. 完成NAT网关配置,使Production VPC 10.34.64.0/20通过DNAT / SNAT统一公网出入口。

    nat网关
  4. 完成DNAT配置。

说明

您可以根据不同App公网入口逐个在NAT网关上配置DNAT。例如,App1 Production EIP: 106.14.21.102对应内网10.34.75.154;App1 Test EIP: 106.14.21.103对应内网10.34.96.1。

image.png

image.png

5. 企业基础安全防护

5.1 配置云安全中心

  1. 开通云安全中心(企业版)。具体操作,请参见购买云安全中心

    注意

    企业管理账号、共享服务账号及各应用账号均需单独配置云安全中心。

  2. 设置基线检查策略(推荐等保2.0 – 三级合规检查)。具体操作,请参见设置基线检查策略

    image.png
  3. 开启资源目录RD后,企业管理账号可以查询到所有关联账号的云安全中心信息。

5.2 配置云防火墙

在VPC间开启防火墙。具体操作,请参见开启或关闭VPC边界防火墙

配置示例如下图所示。

image.png

image.png

image.png

5.3 配置安全组

配置安全组。具体操作,请参见主机边界防火墙(ECS实例间)

说明

默认不开放0.0.0.0/0规则。

配置示例如下图所示。

image.png

image.png

6. 负载监控与报警

  1. 登录云监控控制台

    注意

    企业管理账号、共享服务账号及各应用账号均需单独配置负载监控与报警。

  2. 新建报警规则。

    1. 在左侧导航栏,选择报警服务 > 报警规则

    2. 阈值报警页面,单击创建报警规则

    3. 创建报警规则页面,设置报警规则相关信息。

      1. 设置通知方式为短信+邮件+钉钉机器人

        通知方式
      2. 设置报警回调(当有第三方运维体系和报警体系时,需要设置报警回调)。

        报警回调
      3. 设置日志服务。

        注意

        请确保每个账号均已启用日志服务,且已创建Project和Logstore。

        日志服务
    4. 单击确认

  1. 新建报警模板并应用到应用分组。

    1. 在左侧导航栏,选择报警服务 > 报警模板

    2. 报警模板页面,单击创建报警模板

    3. 创建/修改报警模板页面,输入模板名称,设置云产品及其报警规则。每个账号下配置推荐的监控信息。

    4. 单击确定

    5. 创建/修改报警模板完成对话框中,单击确定

    6. 应用模板到分组页面,选择应用分组、通道沉默周期、生效时间、报警回调和模板应用方式。

    7. 单击确认

    8. 应用模板到分组对话框中,单击确认

7. 成本管理

7.1 合并付费

在本样板间中,已创建企业管理账号MA,并基于此账号创建了共享服务账号SharedServices和两个应用账号App1、App2,目录结构如下图所示。

企业管理账号MA统一为共享服务账号(SharedServices)、App1和App2付款,并享受同等的合同优惠。在上述合并付费的基础上,企业管理账号MA可以查看所有成员账号的账单。

7.2 成本分析

7.2.1 基于资源目录的账单汇聚

企业根据业务需求构建了基于组织的账号结构,每个账号的开支都有对应账单,那么企业即可统计不同账号的支出和汇聚,并分析各级目录的总体支出,如下图所示。

企业可基于以下API获取资源目录和账单信息,并自行进行账单的存档、统计和分析。操作步骤如下:

  1. 获取账号树形结构。 通过以下API可以获取企业的账号结构,先通过GetResourceDirectory获得Root Folder ID,再逐层往下,即可获得所有账号结构。

    • GetResourceDirectory调用GetResourceDirectory获取资源目录信息。阿里云账号调用时,返回阿里云账号开通的资源目录详情。

    • ListFoldersForParent调用ListFoldersForParent查看指定资源夹的子资源夹信息。

    • ListAccountsForParent调用ListAccountsForParent查看资源夹下的成员列表。

关于出参和入参详情,请参见GetResourceDirectory

  1. 获取各成员账号的按月账单。通过以下API可以获取企业管理账号MA的按月账单,记录各个成员账号的信息。

QueryAccountBill调用QueryAccountBill查询用户某个账期内的消费,并以资源所有者的维度进行汇总。

关于出参和入参详情,请参见账号账单查询服务

7.2.2 基于标签分析成本

在基于资源目录的账单汇聚之外,企业还需要基于业务视角将云上的开支按成本中心(或者部门、项目等)维度进行成本的拆分和分析,也就是说,需要将账号级别的账单进一步拆分。推荐企业基于阿里云的标签,将不同的资源实例打上标识,在账单中产生对应的实例账单将附带此标签,即可基于此标签进行更细粒度的成本分析,如下图所示。

企业基于标签分析成本的实施流程如下:

  1. 建立标签元数据。 建立分账的标签规范,标签的Key是CostCenter,Value是Dept1、Dept2(根据实际需要)。

  2. 将云资源或实例打上标签。 在创建云资源时,根据业务划分需要,将实例打上对应的CostCenter标签。

  3. 按标签分析实例账单。完成打标签工作后,即可以在阿里云的费用管理进行分析。

image.png

同时,企业可以根据自身业务需要,通过调用API QueryInstanceBill拉取实例账单,保存到本地进行统计和分析。

关于出参和入参详情,请参见实例账单查询服

8. 应用账号基线

对日后企业即将建立的业务账号,应该设置一系列基线,以确保新账号基础的可访问性、安全性、合规性、网络连通性。这些步骤必须使用自动化的方式完成,否则将无法确保基线的严格执行。

创建新账号的自动化执行步骤如下:

  1. 在资源目录的Applications资源夹下创建合适的资源层级,并创建新的账号(此处假设为NewAccount)。

  2. 配置新账号的身份集成,步骤与共享服务账号的身份集成类似。即,首先创建RAM角色(LandingZoneAccountSetup),然后通过admin用户扮演该角色进行身份集成配置(用户组、角色命名以及阿里云账号UID不同,如下表所示)。

    Azure AD用户组

    阿里云角色和权限

    Ali-CloudAdmin-NewAccount

    角色名:EnterpriseIdP-CloudAdmin

    权限:系统策略AdministratorAccess

    Ali-NetworkAdmin-NewAccount

    角色名:EnterpriseIdP-NetworkAdmin

    权限:系统策略

    AliyunVPCFullAccess

    AliyunNATGatewayFullAccess

    AliyunEIPFullAccess

    AliyunCENFullAccess

    AliyunVPNGatewayFullAccess

    AliyunSLBFullAccess

    AliyunExpressConnectFullAccess

    AliyunCommonBandwidthPackageFullAccess

    AliyunSmartAccessGatewayFullAccess

    AliyunGlobalAccelerationFullAccess

    AliyunECSNetworkInterfaceManagementAccess

    AliyunDNSFullAccess

    AliyunCDNFullAccess

    AliyunYundunNewBGPAntiDDoSServicePROFullAccess

    Ali-DBAdmin-NewAccount

    角色名:EnterpriseIdP-DBAdmin

    权限:系统策略

    AliyunRDSFullAccess

    AliyunDRDSFullAccess

    AliyunKvstoreFullAccess

    AliyunOCSFullAccess

    AliyunPolardbFullAccess

    AliyunADBFullAccess

    AliyunDTSFullAccess

    AliyunMongoDBFullAccess

    AliyunPetaDataFullAccess

    AliyunGPDBFullAccess

    AliyunHBaseFullAccess

    AliyunYundunDbAuditFullAccess

    AliyunHiTSDBFullAccess

    AliyunDBSFullAccess

    AliyunHDMFullAccess

    AliyunGDBFullAccess

    AliyunOceanBaseFullAccess

    AliyunCassandraFullAccess

    AliyunClickHouseFullAccess

    AliyunDLAFullAccess

    Ali-MonitorAdmin-NewAccount

    角色名:EnterpriseIdP-MonitorAdmin

    权限:系统策略AliyunCloudMonitorFullAccess

    Ali-SecurityAdmin-NewAccount

    角色名:EnterpriseIdP-SecurityAdmin

    权限:系统策略AliyunYundunFullAccess

    Ali-SecurityAuditor-NewAccount

    角色名:EnterpriseIdP-SecurityAuditor

    权限:系统策略

    AliyunYundunHighReadOnlyAccess

    AliyunYundunAegisReadOnlyAccess


    AliyunYundunSASReadOnlyAccess

    AliyunYundunBastionHostReadOnlyAccess

    AliyunYundunCertReadOnlyAccess

    AliyunYundunDDosReadOnlyAccess

    AliyunYundunWAFReadOnlyAccess

    AliyunYundunDbAuditReadOnlyAccess

    AliyunYundunCloudFirewallReadOnlyAccess

    AliyunYundunIdaasReadOnlyAccess

    Ali-LogAdmin-NewAccount

    角色名:EnterpriseIdP-LogAdmin

    权限:系统策略AliyunLogFullAccess

    Ali-LogViewer-NewAccount

    角色名:EnterpriseIdP-LogViewer

    权限:系统策略AliyunLogReadOnlyAccess

    Ali-CommonUser-NewAccount

    角色名:EnterpriseIdP-CommonUser

    权限:无(支持自定义)

  3. 合规审计已经在企业管理账号中一次性统一完成,无需额外配置。

  4. 配置基础网络。

    1. 在Production VPC和Non-Production VPC中创建新的vSwitch。

    2. 为新的vSwitch配置网络ACL。

    3. 将新的vSwitch共享给新账号。

  1. 配置基础安全。

    配置云安全中心和云防火墙。

  2. 配置监控报警。

    配置监控通知和报警规则。

  3. 成本管理已经在企业管理账号进行配置,无需额外配置。

9. (可选)企业日志管理

阿里云提供集中式日志采集服务,如下图所示。

image.png

  • 从各个阿里云账号的各个地域采集到的日志,会存储到中心阿里云账号下的一个中心化Project中,从不同应用账号的采集日志可以汇聚给中央账号共享服务账号做日志分析和进一步的导出。

  • 共享服务账号下对应的中心化Project只有一个,名为slsaudit-center-{shared service ID}-{配置的区域},例如:slsaudit-center-1234567890-cn-beijing。无法通过控制台删除中心化Project,只能通过命令行或API删除。

  • 对于SLB、OSS和DRDS,可以有多个区域化Project,名为slsaudit-region-{ shared service ID}-{各个采集区域},例如:slsaudit-region-1234567890-cn-beijing。无法通过控制台删除区域化Project,只能通过命令行、API删除。

  • 配置云产品日志采集后,日志审计服务会创建专属Logstore,具备日志服务Logstore所有的功能,除以下操作限制。 开启同步到中心功能的区域化Logstore会变成同步专属的Logstore,您无法进行任何操作,如果需要查询等操作时,可以直接在中心化Logstore中操作。

从安全和合规角度,从应用账号采集的日志,在样板间推荐采集以下类型的日志:

    • ActionTrail Log (user operation log)

    • Security Centre + cloud firewall Log (Security related Log)

    • SLB Log (Network Log)

    • Bastion Host Operation Log

      image.png

根据合规要求,所有日志都必须保留180天,超出时间部分可以导出到OSS做长期保存。

说明

有关Application应用日志,样板间不考虑。

10. 应用部署

在shared VPC中部署Kubernetes集群。

  1. 以App1账号登录容器服务Kubernetes控制台

  2. 在左侧导航栏,选择集群

  3. 单击创建集群

  4. ACK托管版页签,设置集群相关参数。其中,设置集群名称MVP-k8s,网络插件选择Terway,分别选择虚拟交换机和Pod交换机,其他参数保持默认值。

    说明:在Terway场景下,不需要为专有网络配置SNAT。参数设置,请参见创建Kubernetes Pro版集群。image.png

  5. 单击下一步:Worker配置,完成Worker节点配置。

  6. 单击下一步:组件配置,完成组件配置。

  7. 阅读并同意服务协议,然后单击创建集群

  8. 其他配置可以保持默认值。