教學課程 / Cloud One Workload Security:第 01 課-帳戶與雲端連接器 / AWS CLI 程式碼與 Azure 帳戶概觀
單元 9 / 22

AWS CLI 程式碼與 Azure 帳戶概觀

這是 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": "*"
        }
    ]
}
CAOT-RICKA-M:~ ricka$ aws iam create-policy --policy-name my-policy --policy-document file://cloudonepolicy.json
{
    "Policy": {
        "PolicyName": "my-policy",
        "PolicyId": "ANPA2I6GVCA77L4BYFPPS",
        "Arn": "arn:aws:iam::706401865791: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': 'E45D8A73-ECE8-982B-9711-C123345675'}

步驟 3

{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Action": "sts:AssumeRole",
    "Principal": {"AWS": "147995105371"},
    "Condition": {"StringEquals": {"sts:ExternalId": "your external id"}}
  }
}
CAOT-RICKA-M:~ ricka$ aws iam create-role --role-name myrole --assume-role-policy-document file://cloudonerole.json
{
    "Role": {
        "Path": "/",
        "RoleName": "myrole",
        "RoleId": "AROA2I6GVCA7QPFKEFSW5",
        "Arn": "arn:aws:iam::706401865791:role/myrole",
        "CreateDate": "2020-04-08T19:54:06Z",
        "AssumeRolePolicyDocument": {
            "Version": "2012-10-17",
            "Statement": {
                "Effect": "Allow",
                "Action": "sts:AssumeRole",
                "Principal": {
                    "AWS": "147995105371"
                },
                "Condition": {
                    "StringEquals": {
                        "sts:ExternalId": "your external id"
                    }
                }
            }
        }
    }
}
aws iam attach-role-policy --role-name myrole --policy-arn arn:aws:iam::706401865791:policy/my-policy

新增 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 訂閱。使用 client secret 驗證時,需要 Directory ID、Subscription ID、Application ID,以及舊畫面標示為 Application Password 的 client secret;現行文件也支援選取 Certificate,並上傳憑證與 Private Key。新增帳戶不會自動指派策略或啟用既有 Agent。

使用 UI 建立 Azure 應用程式及新增帳戶

參考文件(Azure)

← 上一單元:使用 AWS CLI 建立 cross… 下一單元:建立 Azure 應用程式 →

Cloud One Workload Security:第 01 課-帳戶與雲端連接器 · 22 單元