使用 CloudFormation 堆栈和 Control Tower 生命周期事件启用账户访问权限
为实现全面的 AWS 基础架构监控,Site24x7 需要自动发现您账户中当前运行的各种受支持服务的所有实例。为此,您需要对 Site24x7 进行身份验证和授权,使其能够访问您的资源。您可以通过手动创建 IAM 用户角色或跨账户 IAM 角色来实现。您也可以使用 AWS CloudFormation 模板自动创建 IAM 角色。
AWS Control Tower 为您的 AWS 账户配置以满足组织的安全和合规要求。Site24x7 使用 AWS Control Tower 生命周期事件,自动发现组织中的所有账户(包括新账户),从而快速便捷地将 AWS 账户与 Site24x7 集成。
只有 Control Tower 已注册账户才能使用 Control Tower 集成方法与 Site24x7 集成。如果您希望将未在 Control Tower 中注册的 AWS 账户与已注册账户一起监控,则必须使用委托管理员方法将这些账户与 Site24x7 集成。
使用场景
- 假设您有多个 AWS 账户,希望将其与 Site24x7 集成。逐个集成每个 AWS 账户既繁琐又耗时。AWS Control Tower 帮助您设置和管理多个 AWS 账户。您可以使用 Control Tower 将 AWS 账户与 Site24x7 集成,从而以安全合规的方式有效监控和管理它们。通过这种方式,您可以同时将多个 AWS 账户与 Site24x7 集成。
- Site24x7-AWS Control Tower 集成有助于节省管理多个账户时的时间,提高效率。例如,如果您使用 Control Tower 在 AWS 中创建新账户,该账户将无需任何手动干预即可自动与 Site24x7 集成。
前提条件
开始之前,请确保您具备以下条件:
- AWS 管理账户。
- 使用 AWS Control Tower 管理的账户。
权限
请确保您具有以下 CloudFormation 堆栈权限,以便创建发现所需的资源。
请将 <account_id> 替换为运行 CloudFormation 模板的 AWS 账户 ID。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"lambda:CreateFunction",
"kms:Decrypt",
"kms:PutKeyPolicy",
"secretsmanager:CreateSecret",
"events:PutRule",
"secretsmanager:DeleteSecret",
"iam:CreateRole",
"iam:AttachRolePolicy",
"iam:PutRolePolicy",
"iam:PassRole",
"kms:TagResource",
"iam:DetachRolePolicy",
"kms:Encrypt",
"kms:ScheduleKeyDeletion",
"iam:DeleteRolePolicy",
"secretsmanager:RotateSecret",
"kms:DescribeKey",
"events:RemoveTargets",
"lambda:DeleteFunction",
"kms:EnableKeyRotation",
"iam:GetRole",
"events:DescribeRule",
"lambda:InvokeFunction",
"lambda:GetFunction",
"lambda:UpdateFunctionConfiguration",
"iam:DeleteRole",
"secretsmanager:CancelRotateSecret",
"kms:UpdateAlias",
"events:DeleteRule",
"events:PutTargets",
"lambda:UpdateFunctionCode",
"lambda:AddPermission",
"iam:CreateServiceLinkedRole",
"kms:GenerateDataKey",
"kms:CreateAlias",
"kms:DeleteAlias",
"lambda:RemovePermission"
],
"Resource": [
"arn:aws:kms:*:<account_id>:key/*",
"arn:aws:kms:*:<account_id>:alias/site24x7/user/S247*",
"arn:aws:secretsmanager:*:<account_id>:secret:/site24x7/api-credentialsS247*",
"arn:aws:events:*:<account_id>:rule/Site24x7AWS*",
"arn:aws:lambda:*:<account_id>:function:Site24x7StackSetHandler*",
"arn:aws:lambda:*:<account_id>:function:Site24x7SecretsHandler*",
"arn:aws:iam::<account_id>:role/Site24x7AWS*"
]
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "kms:CreateKey",
"Resource": "*"
}
]
}
Lambda 权限
Lambda 函数用于与 Site24x7 通信、轮换 Site24x7 密钥以及创建堆栈集实例。删除权限用于 CloudFormation 删除堆栈操作。以下 Lambda 权限用于在 CloudFormation 堆栈中创建和调用 Lambda 监视器:
- lambda:CreateFunction
- lambda:DeleteFunction
- lambda:InvokeFunction
- lambda:GetFunction
- lambda:AddPermission
- lambda:RemovePermission
Secret Manager 权限
Secret Manager 用于在 AWS 账户中存储 Site24x7 密钥。这些密钥用于通过 Lambda 函数与 Site24x7 通信。以下 Secret Manager 权限用于在 CloudFormation 堆栈中创建、轮换和删除密钥:
- secretsmanager:CreateSecret
- secretsmanager:DeleteSecret
- secretsmanager:RotateSecret
- secretsmanager:CancelRotateSecret
IAM 权限
以下 IAM 权限用于为 Site24x7 集成账户创建角色,以及为 Lambda 等服务提供函数执行访问权限:
- iam:CreateRole
- iam:AttachRolePolicy
- iam:PutRolePolicy
- iam:PassRole
- iam:DetachRolePolicy
- iam:DeleteRolePolicy
- iam:GetRole
- iam:DeleteRole
- iam:CreatePolicy
- iam:CreateServiceLinkedRole
KMS 权限
以下权限用于 CloudFormation 服务创建和删除 KMS 密钥。该密钥将由 Secret Manager 用于加密和解密目的。
- kms:Decrypt
- kms:PutKeyPolicy
- kms:TagResource
- kms:Encrypt
- kms:ScheduleKeyDeletion
- kms:DescribeKey
- kms:CreateKey
- kms:EnableKeyRotation
- kms:UpdateAlias
- kms:GenerateDataKey
- kms:CreateAlias
- kms:DeleteAlias
Eventbridge 权限
以下权限用于为 Control Tower 创建账户事件创建规则,以触发 Site24x7 Lambda 函数将相关详情发送给 Site24x7,用于新账户创建。
- events:PutRule
- events:RemoveTargets
- events:DescribeRule
- events:DeleteRule
- events:PutTargets
使用 AWS Control Tower 进行集成的优势
使用 AWS Control Tower 集成 AWS 账户时,您可以充分利用以下优势:
- 为多个账户自动创建 Amazon 资源名称(ARN)角色。
- 轻松将组织中的多个 AWS 账户添加到 Site24x7。
- 从单一位置管理所有已集成的 AWS 账户。
- 自动添加或移除账户。
使用 AWS Control Tower 将 AWS 账户与 Site24x7 集成
要使用 Control Tower 将所有 AWS 账户与 Site24x7 集成,请按照以下步骤操作:
- 登录 Site24x7 Web 控制台。
- 导航至 AWS > 集成 AWS 账户。
- 选择 AWS 账户类型。可用选项包括全球、GovCloud (美国) 和中国。
- 选择多账户作为集成方法。
- 选择使用 Control Tower 注册。

- 选择需要创建 CloudFormation 堆栈的 AWS 区域。
- 选择附加到 IAM 角色的权限。Site24x7 提供两种 IAM 角色权限选项:
- AWS 托管 ReadOnlyAccess 策略:IAM 角色将使用 AWS 为所有服务托管的 ReadOnlyAccess 策略创建。
- Site24x7 自定义策略:IAM 角色将使用包含 Site24x7 支持服务所需只读权限的内联策略创建。
- 单击创建 CloudFormation 模板。您账户中的 CloudFormation 堆栈将自动在您的账户中创建所有必要组件。

- 创建 IAM 角色后,CloudFormation 堆栈和堆栈集通过 Lambda 函数将角色 ARN 发送给 Site24x7。
- 输入显示名称。
- 在账户筛选器字段中输入需要筛选的正则表达式(RegEx),或从选择账户列表中选择要集成的账户。
注意如果您希望在使用 Control Tower 注册后编辑正则表达式,请导航至 Control Tower 的编辑集成 AWS 账户页面并更新正则表达式。
- 获取角色 ARN 详情后,您可以使用高级配置选项配置设置(如每项支持的 AWS 服务的默认阈值配置文件)、静音资源终止告警,以及自定义指导报表。
- 从发现选项部分的要发现的服务列表中选择您希望与 Site24x7 集成的服务。您可以查看与 Site24x7 集成的管理账户内的所有已集成账户。
- 单击发现 AWS 资源以添加账户。
使用 AWS Control Tower 将 AWS 账户与 Site24x7 集成后,您可以在云 > AWS > Control Tower 账户 > Control Tower 账户页面查看所有 Control Tower 账户。单击计划报表,可生成包含 CSV 格式 Control Tower 账户详情的 Control Tower 账户报表。

与 Control Tower 父账户关联的所有账户将列在云 > AWS > Control Tower 账户 > Control Tower 关联账户页面。单击计划报表,可生成包含 CSV 格式 Control Tower 关联账户详情的 Control Tower 关联账户报表。

- 如果您删除 Control Tower 父账户,所有 Control Tower 关联账户也将被删除。
- 如果您修改 AWS Control Tower 父账户的现有配置,Control Tower 关联账户中的现有更改也将被覆盖。
- 如果您修改任何单个 Control Tower 关联账户的配置,更改仅对该关联账户生效,不会影响 Control Tower 父账户或其他关联账户。
- 如果在集成 AWS 账户 > 高级配置部分中启用了"自动移除已关闭账户"选项,所有已关闭的 AWS 账户将从 Site24x7 中永久移除。
Control Tower 清单仪表板和自定义仪表板
Control Tower 清单仪表板提供所有 AWS Control Tower 父账户和关联账户资源的集中视图,提供对已监控资源、按区域划分的资源明细以及关键指标的洞察,帮助您高效管理 AWS 环境。
要查看 Control Tower 父账户详情,请前往清单仪表板,并在右上角切换至父账户选项,查看父账户中发现的资源数据。要访问通过 Control Tower 集成发现的所有资源的合并数据,请将选项切换为关联账户。
自定义仪表板中的地理地图小部件提供 Control Tower 父账户和关联账户资源的区域分布情况。您可以选择查看区域地图或来自某个区域的资源的数字数据。
自定义仪表板中的监视器数量小部件显示所有 Control Tower 账户的监视器总数,展示:
- 父账户和关联账户的已监控资源总数。
- 按区域划分的服务数量明细。
- 以表格格式呈现的按区域划分的服务分布(数字选项)。
- 垂直条形图选项,让您可以直观查看不同 AWS 服务在所选时间范围内的运行情况。
更新 Control Tower 账户的堆栈
要使用为 Control Tower 账户实现的最新功能,您需要更新为 Control Tower 账户配置的现有堆栈。
在 AWS 控制台中更新堆栈的步骤:
- 登录 AWS 控制台。
- 导航至所有服务 > 管理与治理 > CloudFormation。
- 从堆栈列表中选择需要更新的堆栈。
- 单击更新。
- 选择替换当前模板。
- 从 Site24x7 的编辑集成 AWS 账户页面复制模板 URL,并将其粘贴到 Amazon S3 URL 字段中。

- 单击下一步。
- 从 Site24x7 的编辑集成 AWS 账户页面复制密钥轮换密钥,并将其粘贴到 APIRotateKey 字段中。
注意密钥轮换密钥功能仅适用于最新版本(版本 3)。密钥轮换功能支持轮换存储在 AWS Secrets Manager 中的密钥。 - 单击下一步。
- 验证配置堆栈选项页面上的详情,然后单击下一步。
- 查看堆栈详情,并选中功能下方的确认复选框。

- 单击提交。
堆栈更新过程完成后,所选堆栈的更新状态将显示在事件选项卡中。
