這是 Cross Account Role 影片中 UI 操作的替代方式。若不使用 AWS UI,可透過 AWS CLI 完成設定。命令與 IAM 權限可能隨 AWS 及 Workload Security 更新而變更,執行前請先與現行 Cross Account Role 文件比對。
AWS CLI 程式碼
步驟 1
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "cloudconnector",
"Action": [
"ec2:DescribeImages",
"ec2:DescribeInstances",
"ec2:DescribeRegions",
"ec2:DescribeSubnets",
"ec2:DescribeTags",
"ec2:DescribeVpcs",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeSecurityGroups",
"workspaces:DescribeWorkspaces",
"workspaces:DescribeWorkspaceDirectories",
"workspaces:DescribeWorkspaceBundles",
"workspaces:DescribeTags",
"iam:ListAccountAliases",
"iam:GetRole",
"iam:GetRolePolicy"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
$ aws iam create-policy --policy-name my-policy --policy-document file://cloudonepolicy.json
{
"Policy": {
"PolicyName": "my-policy",
"PolicyId": "<POLICY_ID>",
"Arn": "arn:aws:iam::<AWS_ACCOUNT_ID>:policy/my-policy",
"Path": "/",
"DefaultVersionId": "v1",
"AttachmentCount": 0,
"PermissionsBoundaryUsageCount": 0,
"IsAttachable": true,
"CreateDate": "2020-04-08T19:18:33Z",
"UpdateDate": "2020-04-08T19:18:33Z"
}
}
步驟 2
from __future__ import print_function
import sys, warnings
import deepsecurity
from deepsecurity.rest import ApiException
from pprint import pprint
# Setup
if not sys.warnoptions:
warnings.simplefilter("ignore")
configuration = deepsecurity.Configuration()
configuration.host = 'https://cloudone.trendmicro.com:443/api/'
# Authentication
configuration.api_key['api-secret-key'] = 'Your API Key'
# Initialization
# Set Any Required Values
api_instance = deepsecurity.AWSConnectorSettingsApi(deepsecurity.ApiClient(configuration))
api_version = 'v1'
try:
api_response = api_instance.list_aws_connector_settings(api_version)
pprint(api_response)
except ApiException as e:
print("An exception occurred when calling AWSConnectorSettingsApi.list_aws_connector_settings: %s\n" % e)
{'external_id': '<WORKLOAD_SECURITY_EXTERNAL_ID>'}
步驟 3
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Principal": {"AWS": "<WORKLOAD_SECURITY_AWS_ACCOUNT_ID>"},
"Condition": {"StringEquals": {"sts:ExternalId": "<WORKLOAD_SECURITY_EXTERNAL_ID>"}}
}
}
$ aws iam create-role --role-name myrole --assume-role-policy-document file://cloudonerole.json
{
"Role": {
"Path": "/",
"RoleName": "myrole",
"RoleId": "<ROLE_ID>",
"Arn": "arn:aws:iam::<AWS_ACCOUNT_ID>:role/myrole",
"CreateDate": "2020-04-08T19:54:06Z",
"AssumeRolePolicyDocument": {
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Principal": {
"AWS": "<WORKLOAD_SECURITY_AWS_ACCOUNT_ID>"
},
"Condition": {
"StringEquals": {
"sts:ExternalId": "<WORKLOAD_SECURITY_EXTERNAL_ID>"
}
}
}
}
}
}
aws iam attach-role-policy --role-name myrole --policy-arn arn:aws:iam::<AWS_ACCOUNT_ID>:policy/my-policy
使用 API/CLI 整合 Azure 帳戶
新增及保護 Azure 雲端工作負載
新增 Microsoft Azure 帳戶中的電腦
概觀
Workload Security 可連接並管理 Microsoft Azure 雲端服務所提供的電腦。新增 Azure 帳戶後,該帳戶中的 Azure 虛擬機器會匯入 Computers 清單。
在 Workload Security 主控台中,依序選取 Computers > Add > Add Azure Account。

優點
相較於透過 Computers > Add Computer 個別新增 Azure 虛擬機器,使用 Computers > Add Azure Account 新增 Azure 帳戶有以下優點:
- Azure 虛擬機器清單的變更會自動反映在 Workload Security 主控台。例如,在 Azure 刪除執行個體後,對應項目也會自動從主控台消失。若使用 Computers > Add Computer,則必須手動刪除主控台中的舊項目。
- 主控台會將 Azure 虛擬機器整理在各自的帳戶分支下,方便查看哪些項目已受保護。若未新增 Azure 帳戶,所有虛擬機器都會顯示在 Computers 的相同根層級。
詳細資訊
若先前已個別新增此 Azure 帳戶中的虛擬機器,新增帳戶後,這些虛擬機器會移到 Computers 樹狀結構中的帳戶節點下。
現行流程會使用具唯讀權限的 Microsoft Entra 應用程式連接 Azure 訂閱。無論採用哪一種認證方式,都必須提供:
Directory ID
Subscription ID
Application ID
接著選擇認證方式:
Password:在 Application Password 中輸入 client secret。
Certificate:上傳憑證與 Private Key;若私密金鑰受密碼保護,另提供 Private Key Password。
新增 Azure 帳戶不會自動指派策略或啟用既有 Agent。

參考文件(Azure)