接入云产品

您需要将待扫描配置的云产品接入云安全中心后,才可以使用云平台配置检查功能。云平台配置检查支持检测阿里云产品和第三方云产品的安全配置,发现潜在的风险和安全漏洞,并提供修复建议和指导,帮助您提升云产品的安全性和稳定性。

前提条件

已授权云平台配置检查服务,且已开通按量计费或已购买足够的云平台配置检查扫描授权数。具体操作,请参见授权并开通服务

查看支持接入的云产品

目前,云安全中心支持接入阿里云和第三方云平台中的资产进行云产品配置检查,您可以在云安全中心控制台查看支持接入和检查的阿里云产品、第三方云平台及其云产品。

  1. 登录云安全中心控制台。在控制台左上角,选择需防护资产所在的区域:中国全球(不含中国)

  2. 在左侧导航栏,选择风险治理 > 云平台配置检查

  3. 云平台配置检查页面,单击配置检查页签。

  4. 在检查项列表上方,选择云产品,单击阿里云或第三方云平台(例如,腾讯云AWS),可以分别查看云安全中心目前支持接入的云产品列表。

    image

接入阿里云产品

  • 云安全中心会自动同步当前阿里云账号下的云产品,您无需手动接入同账号云产品。

  • 如果您需要检测跨阿里云账号的主账号下云产品配置,您需要先通过多账号安全管理能力,将跨账号资源接入到云安全中心。具体操作,请参见多账号安全管理

您可以手动同步当前阿里云账号、跨账号以及已接入的第三方云账号下的云产品。

  1. 登录云安全中心控制台。在控制台左上角,选择需防护资产所在的区域:中国全球(不含中国)

  2. 在左侧导航栏,选择资产中心 > 云产品

  3. 单击同步最新资产

接入第三方云产品

目前,云平台配置检查支持检测腾讯云、AWS、Azure云平台的资产安全配置。您可以将第三方云产品接入云安全中心,使用云平台配置检查进行配置扫描。

步骤一:配置第三方云平台账号

接入第三方云产品前,您需要登录第三方云平台,创建第三方子账号AK(AccessKey),并为子账号授予云平台配置检查需要的权限。

配置腾讯云账号

创建第三方子账号AK

  1. 创建一个子账号。具体操作,请参见新建子账号

  2. 为创建的子账号授予CloudResourceReadOnlyAccessQcloudCamReadOnlyAccess权限。具体操作,请参见授权管理

    如果需要精细化控制云安全中心访问腾讯云资产的权限,也可以使用自定义策略授权,实现精细化权限管理。

    重要

    如果云安全中心的云产品配置检查功能新增了检查项,必须及时更新对应的自定义策略,否则会无法检测新增的检查项。请谨慎使用自定义策略授权。

    1. 通过策略语法创建一个自定义策略,需要授权的API操作权限如以下策略内容中的action所示。具体操作,请参见通过策略语法创建自定义策略

      策略内容中元素配置的详细说明,请参见元素参考

      策略内容

      {
      	"version": "2.0",
      	"statement": [{
      			"effect": "allow",
      			"action": [
      				"cam:DescribeRoleList",
      				"cam:DescribeSafeAuthFlagColl",
      				"cam:GetPolicy",
      				"cam:GetRole",
      				"cam:GetRolePermissionBoundary",
      				"cam:GetUser",
      				"cam:GetUserPermissionBoundary",
      				"cam:ListAccessKeys",
      				"cam:ListAttachedRolePolicies",
      				"cam:ListAttachedUserAllPolicies",
      				"cam:ListCollaborators",
      				"cam:ListUsers"
      			],
      			"resource": [
      				"*"
      			]
      		},
      		{
      			"effect": "allow",
      			"action": [
      				"cbs:DescribeDiskAssociatedAutoSnapshotPolicy",
      				"cbs:DescribeDisks",
      				"cdb:DescribeAccountPrivileges",
      				"cdb:DescribeAccounts",
      				"cdb:DescribeAuditConfig",
      				"cdb:DescribeBackupConfig",
      				"cdb:DescribeDBFeatures",
      				"cdb:DescribeDBInstances",
      				"cdb:DescribeDBSecurityGroups"
      			],
      			"resource": [
      				"*"
      			]
      		},
      		{
      			"effect": "allow",
      			"action": [
      				"clb:DescribeLoadBalancers",
      				"clb:DescribeTargetHealth",
      				"clb:DescribeTargets"
      			],
      			"resource": [
      				"*"
      			]
      		},
      		{
      			"effect": "allow",
      			"action": [
      				"cvm:DescribeInstances"
      			],
      			"resource": [
      				"*"
      			]
      		},
      		{
      			"effect": "allow",
      			"action": [
      				"cwp:DescribeAssetMachineDetail"
      			],
      			"resource": [
      				"*"
      			]
      		},
      		{
      			"effect": "allow",
      			"action": [
      				"dcdb:DescribeDCDBInstances"
      			],
      			"resource": [
      				"*"
      			]
      		},
      		{
      			"effect": "allow",
      			"action": [
      				"es:DescribeInstances"
      			],
      			"resource": [
      				"*"
      			]
      		},
      		{
      			"effect": "allow",
      			"action": [
      				"mariadb:DescribeAccountPrivileges",
      				"mariadb:DescribeAccounts",
      				"mariadb:DescribeBackupTime",
      				"mariadb:DescribeDBInstanceDetail",
      				"mariadb:DescribeDBInstances",
      				"mariadb:DescribeDBSecurityGroups"
      			],
      			"resource": [
      				"*"
      			]
      		},
      		{
      			"effect": "allow",
      			"action": [
      				"postgres:DescribeBackupPlans",
      				"postgres:DescribeDBInstanceSecurityGroups",
      				"postgres:DescribeDBInstances"
      			],
      			"resource": [
      				"*"
      			]
      		},
      		{
      			"effect": "allow",
      			"action": [
      				"redis:DescribeAutoBackupConfig",
      				"redis:DescribeDBSecurityGroups",
      				"redis:DescribeInstanceMonitorTopNCmd",
      				"redis:DescribeInstances"
      			],
      			"resource": [
      				"*"
      			]
      		},
      		{
      			"effect": "allow",
      			"action": [
      				"region:DescribeRegions"
      			],
      			"resource": [
      				"*"
      			]
      		},
      		{
      			"effect": "allow",
      			"action": [
      				"ssl:DescribeCertificate",
      				"ssl:DescribeCertificates"
      			],
      			"resource": [
      				"*"
      			]
      		},
      		{
      			"effect": "allow",
      			"action": [
      				"tcr:DescribeInstances",
      				"tcr:DescribeRepositories"
      			],
      			"resource": [
      				"*"
      			]
      		},
      		{
      			"effect": "allow",
      			"action": [
      				"vpc:DescribeNetworkAcls",
      				"vpc:DescribeSecurityGroupPolicies",
      				"vpc:DescribeSecurityGroups",
      				"vpc:DescribeSubnets"
      			],
      			"resource": [
      				"*"
      			]
      		},
      		{
      			"effect": "allow",
      			"action": [
      				"mysql:DescribeDBInstances"
      			],
      			"resource": [
      				"*"
      			]
      		}
      	]
      }
    2. 为子账号关联刚创建的自定义策略,使云安全中心可以访问该账号下的腾讯云资产。具体操作,请参见授权管理

  3. 为子账号创建访问密钥。具体操作,请参见子账号访问密钥管理

配置审计日志

如果您需要在云安全中心接入第三方云产品的系统活动或操作的日志,您需要在第三方云平台配置日志服务,并授予云安全中心读取权限。

重要

审计日志配置的Kafka和日志集合相关数据将用于云平台配置检查中身份权限管理(CIEM)的检测,如果不配置审计日志,云安全中心会无法检测CIEM相关检查项。

  1. 进入腾讯云日志服务控制台,创建一个日志主题。具体操作,请参见日志主题

    重要

    日志服务地域建议选择与云产品相同的地域。

  2. 进入腾讯云审计控制台,使用跟踪集投递日志。具体操作,请参见使用跟踪集投递日志

    创建跟踪集时的关键配置项如下:

    • 管理事件类型:选择全部。

    • 资源类型:选择全部资源类型。

    • 投递位置:选择将事件投递到日志服务CLS,将投递的日志主题配置为上述步骤中创建的日志主题,并选中补齐近三个月(90天)事件

  3. 自定义一个权限策略,并为需要接入云安全中心的子账号授权该自定义权限。具体操作,请参见通过策略语法创建自定义策略

    自定义权限策略的内容如下:

    {
        "statement": [
            {
                "action": [
                    "cls:OpenKafkaConsumer"
                ],
                "effect": "allow",
                "resource": [
                    "qcs::cls:${CLS 所在RegionID}:uin/${主账号ID}:topic/${CLS TopicID}",
                    "qcs::cls:${CLS 所在RegionID}:uin/${主账号ID}:logset/${CLS 日志集ID}"
                ]
            }
        ],
        "version": "2.0"
    }

    您需要进入日志主题的基本信息页面,获取日志主题的详细信息,替换上述策略中的信息。

    • ${CLS TopicID}:填写为日志主题ID的取值。

    • ${CLS 日志集ID}:填写为所属日志集ID的取值。

    • ${CLS 所在RegionID}:填写为地域取值对应的地域ID。

    • ${主账号ID}:在控制台右上角单击头像,获取主账号ID。

    image.png

  4. 获取日志主题的Kafka主题名称、Kafka外网服务接入地址信息和所属日志集ID,用于接入云安全中心。

    • 进入日志主题的基本信息页面,获取所属日志集ID

    • 进入Kafka协议消费页面,获取Kafka主题名称和Kafka外网服务接入地址。具体操作,请参见Kafka 协议消费

      image.png

配置AWS账号

创建第三方子账号AK

  1. 进入IAM身份管理控制台,创建一个IAM用户。具体操作,请参见添加用户

  2. 为新创建的IAM用户添加ReadOnlyAccess权限。具体操作,请参见添加权限

配置审计日志

如果您需要在云安全中心接入第三方云产品的系统活动或操作的日志,您需要在第三方云平台配置日志服务,并授予云安全中心读取权限。

重要

审计日志配置的SQS队列相关数据将用于云平台配置检查中身份权限管理(CIEM)的检测,如果不配置审计日志,云安全中心会无法检测CIEM相关检查项。

  1. 进入SQS控制台,选取或创建一个SQS队列。具体操作,请参见创建 Amazon SQS 标准队列并发送消息创建 Amazon SQS FIFO 队列并发送消息

  2. 进入S3控制台,选择或创建一个S3存储桶。具体操作,请参见创建 S3 存储桶

    重要

    请确保S3和SQS属于同一个地域。

  3. 为S3存储桶和对象启用CloudTrail事件日志记录。具体操作,请参见为 S3 桶和对象启用 CloudTrail 事件日志记录

    重要

    创建CloudTrail跟踪时,请勿启用日志文件SSE-KMS加密功能。

  4. 进入S3控制台,为创建好的S3存储桶创建事件通知。具体操作,请参见启用和配置事件通知

    • 事件类型:选择发送

    • 目标:选择SQS队列,并输入SQS的ARN。

  5. 创建一个授予SQS的存储桶读写权限的自定义策略。具体操作,请参见创建 IAM policy

    自定义权限策略的内容如下:

    {
      "Version": "2012-10-17",
      "Id": "__default_policy_ID",
      "Statement": [
        {
          "Sid": "__owner_statement",
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::${账号ID}:root"
          },
          "Action": "SQS:*",
          "Resource": "${系统自动给出的SQS ARN}"
        },
        {
                "Sid": "example-statement-ID",
                "Effect": "Allow",
                "Principal": {
                    "Service": "s3.amazonaws.com"
                },
                "Action": [
                    "SQS:SendMessage"
                ],
                "Resource": "${系统自动给出 SQS ARN}",
                "Condition": {
                    "ArnLike": {
                        "aws:SourceArn": "arn:aws:s3:*:*:${S3 存储桶的名称}"
                    }
                }
            }
      ]
    }
    • 您可以进入创建SQS的默认策略中,获取账号ID和SQS ARN,替换上述策略中的${账号ID}${系统自动给出 SQS ARN}

      image.png

    • 您可以进入S3的详情页面,获取S3的bucket name,替换上述策略中的${S3 存储桶的名称}

      image.png

  6. 为IAM用户添加自定义权限策略。具体操作,请参见添加权限

  7. 进入SQS队列详情页面,获取SQS队列名称和所在的地域ID,用于接入云安全中心。

    image.png

配置Azure账号

  1. 在您当前的操作系统中安装Azure CLI。具体操作,请参见How to install the Azure CLI

    例如,在Linux-Ubuntu操作系统中更新存储库信息并安装azure-cli包。

    sudo apt-get update
    sudo apt-get install azure-cli
  2. 使用CLI登录Azure:执行以下命令,根据页面提示输入Azure账号信息完成登录。

    • 世纪互联运营用户

      设置当前环境为中国的Azure云,并设置cloud的区域为AzureChinaCloud

      az cloud set -n AzureChinaCloud
      az login
    • 非世纪互联运营用户

      az login
  3. 执行以下命令,获取AK认证信息。

    [your-account-ID]需替换为您要创建的AK账号名称。[ID1, ID2, ID3]为待接入云安全中心的Azure云资产所属的订阅ID列表,ID1ID2ID3需替换为真实的订阅ID。

    az ad sp create-for-rbac \
    --name [your-account-ID] \
    --role Reader \
    --scopes /subscriptions/[ID1, ID2, ID3]

    返回如下AK认证信息:

    image

步骤二:将第三方云账号AK接入云安全中心

  1. 登录云安全中心控制台。在控制台左上角,选择需防护资产所在的区域:中国全球(不含中国)

  2. 在左侧导航栏,选择系统配置 > 功能设置

  3. 多云配置管理 > 多云资产页签,单击新增授权,在下拉列表中,选择需要接入的多云厂商(腾讯云、AWS或Azure)。

  4. 编辑多云配置面板,选择手动配置方案,然后在权限说明区域选择云平台配置检查(表示授权云安全中心第三方云账号下所有云产品的读权限),单击下一步

  5. 提交AK向导页面,输入第三方子账号AK信息,选择接入地域,然后单击下一步

  6. 对于腾讯云和AWS云资产,可以设置接入审计日志。

    如果需要接入审计日志,请在审计日志配置向导页面,配置审计日志信息,然后单击下一步。如果不需要接入审计日志,请单击跳过

    • 接入腾讯云账号时,依次输入获取到腾讯云CLS日志服务的Kafka主题名称、Kafka外网服务接入地址信息和所属日志集ID

    • 接入AWS账号时,依次输入获取到的AWS SQS所在的地域ID和SQS队列名称。

  7. 策略配置向导页面,配置接入第三方资产的地域、数据同步频率等,单击确定

    配置项

    说明

    选择地域

    选择接入云安全中心的资产所属的地域。

    新增地域接入管理

    选中复选框,表示后续新增地域的资产默认会接入云安全中心。

    云产品同步频率

    选择云安全中心自动同步第三方云产品的时间间隔。选择关闭,表示不同步。

    AK服务状态检查

    选择云安全中心自动检测第三方账号AK有效性的时间间隔。选择关闭,表示不检测。

  8. 单击同步最新资产,将第三方子账号下的资产同步到云安全中心。

相关文档