將 Amazon EC2 與 Google SecOps 整合

本文說明如何將 AWS Elastic Compute Cloud (Amazon EC2) 與 Google Security Operations 整合。

用途

  1. 保護 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體

    1. 建立安全性群組,限制 Amazon EC2 的傳入和傳出網際網路存取權。
    2. 分配新的 Elastic IP 位址
    3. 建立新的 Elastic IP 位址關聯
  2. 資源管理:使用執行個體自訂標記,追蹤及識別 AWS 資源。

事前準備

在 Google SecOps 中設定 AWS Elastic Compute Cloud (EC2) 整合之前,請確認網路環境和 AWS 憑證符合所有作業必要條件。

如要準備整合環境,請務必完成下列步驟:

  1. 確認 Google SecOps 與 AWS EC2 區域服務端點之間的網路連線。

  2. 取得 AWS 程式輔助 API 憑證 (存取金鑰 ID 和私密存取金鑰),並具備適當的 IAM 權限。

  3. 在 Google SecOps 中設定及測試整合執行個體。

網路需求

Google SecOps 會使用 HTTPS REST API 和 AWS Python SDK (boto3),直接與 AWS EC2 服務通訊。

請確認網路環境符合下列連線規則:

  • 傳出 HTTPS 存取權:啟用從 Google SecOps 執行個體或遠端代理程式,透過通訊埠 443/TCP 傳出至 AWS EC2 區域端點 (ec2.<region>.amazonaws.com) 的 HTTPS 通訊。

    詳情請參閱 AWS 說明文件中的「AWS 服務端點」。

  • Proxy 設定:如果貴組織透過 HTTP/HTTPS Proxy 轉送傳出流量,請在 Google SecOps 伺服器或遠端代理主機上,設定標準環境 Proxy 變數 (HTTP_PROXY、HTTPS_PROXY、NO_PROXY)。

驗證和憑證

AWS EC2 整合需要程式輔助 API 憑證,才能使用 AWS 簽章第 4 版驗證要求。

請確認 AWS 環境符合下列驗證規定:

  • 程式輔助憑證:取得與 AWS IAM 使用者或角色相關聯的有效 AWS 存取金鑰 ID 和 AWS 密鑰。

    如要瞭解如何建立 IAM 身分及產生憑證,請參閱 AWS 說明文件中的「管理 IAM 使用者的存取金鑰」和「IAM 身分」。

  • 最小權限:僅授予自動化工作流程所需的動作和運算資源權限,並定期輪替憑證。

    如要進一步瞭解安全性建議,請參閱 AWS 說明文件中的「IAM 安全性最佳做法」。

設定動作權限

授予驗證 AWS IAM 身分特定權限,以便執行 Google SecOps 應對手冊動作。

請參閱下表,瞭解 AWS Elastic Compute Cloud (EC2) 動作的最低權限:

動作名稱 必要的 AWS IAM 權限 (ActionName:Permission) 必要權限 說明/資源範圍
授權安全性群組輸出 ec2:AuthorizeSecurityGroupEgress ec2:DescribeRegions 將傳出規則新增至 EC2 安全性群組。資源:目標安全性群組 ARN。
授權安全性群組輸入 ec2:AuthorizeSecurityGroupIngress ec2:DescribeRegions 將傳入規則新增至 EC2 安全性群組。資源:目標安全性群組 ARN。
建立標記 ec2:CreateTags ec2:DescribeRegions 新增或覆寫 EC2 資源的標記。資源:目標 EC2 資源 ARN。
列出執行個體 ec2:DescribeInstances ec2:DescribeRegions 擷取 EC2 執行個體的狀態和中繼資料。資源:*。
列出安全性群組 ec2:DescribeSecurityGroups — 擷取安全性群組設定和規則。資源:*。
Ping ec2:DescribeRegions — 驗證整合連線能力。資源:*。
撤銷安全性群組輸出 ec2:RevokeSecurityGroupEgress ec2:DescribeRegions 從 EC2 安全性群組中移除傳出規則。資源:目標安全性群組 ARN。
撤銷安全性群組輸入 ec2:RevokeSecurityGroupIngress ec2:DescribeRegions 從 EC2 安全性群組中移除傳入規則。資源:目標安全性群組 ARN。
啟動執行個體 ec2:StartInstances — 啟動已停止的 EC2 執行個體。資源:目標 EC2 執行個體 ARN。
停止執行個體 ec2:StopInstances — 停止執行 EC2 執行個體。資源:目標 EC2 執行個體 ARN。
建立快照 ec2:CreateSnapshots ec2:DescribeRegions 為執行個體磁碟區建立時間點 EBS 快照。資源:執行個體和磁碟區 ARN。
終止執行個體 ec2:TerminateInstances — 關閉並終止 EC2 執行個體。資源:目標 EC2 執行個體 ARN。

快速參考 (ActionName:Permission)

請參閱下列快速參考資料,瞭解各項操作所需的權限:

Ping: ec2:DescribeRegions
Authorize Security Group Egress: ec2:AuthorizeSecurityGroupEgress, ec2:DescribeRegions
Authorize Security Group Ingress: ec2:AuthorizeSecurityGroupIngress, ec2:DescribeRegions
Create Tags: ec2:CreateTags, ec2:DescribeRegions
List Instances: ec2:DescribeInstances, ec2:DescribeRegions
List Security Groups: ec2:DescribeSecurityGroups
Revoke Security Group Egress: ec2:RevokeSecurityGroupEgress, ec2:DescribeRegions
Revoke Security Group Ingress: ec2:RevokeSecurityGroupIngress, ec2:DescribeRegions
Start Instance: ec2:StartInstances
Stop Instance: ec2:StopInstances
Take Snapshot: ec2:CreateSnapshots, ec2:DescribeRegions
Terminate Instance: ec2:TerminateInstances

IAM 政策範例 (最小權限)

以下範例政策說明在 Google SecOps 中執行所有 AWS EC2 動作所需的權限。

如需建立及附加 IAM 政策的操作說明,請參閱 AWS 說明文件中的「建立 IAM 政策」。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "SecOpsEC2Discovery",
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeRegions",
        "ec2:DescribeInstances",
        "ec2:DescribeSecurityGroups"
      ],
      "Resource": "*"
    },
    {
      "Sid": "SecOpsEC2InstanceRemediation",
      "Effect": "Allow",
      "Action": [
        "ec2:StartInstances",
        "ec2:StopInstances",
        "ec2:TerminateInstances",
        "ec2:CreateTags",
        "ec2:CreateSnapshots"
      ],
      "Resource": "*"
    },
    {
      "Sid": "SecOpsEC2SecurityGroupManagement",
      "Effect": "Allow",
      "Action": [
        "ec2:AuthorizeSecurityGroupIngress",
        "ec2:RevokeSecurityGroupIngress",
        "ec2:AuthorizeSecurityGroupEgress",
        "ec2:RevokeSecurityGroupEgress"
      ],
      "Resource": "arn:aws:ec2:*:*:security-group/*"
    }
  ]
}

整合參數

請使用下列參數設定整合:

參數顯示名稱 類型 預設值 為必填 說明
AWS 存取金鑰 ID 字串 不適用 是 要在整合中使用的 AWS 存取金鑰 ID。
AWS Secret Key 密碼 不適用 是 要在整合中使用的 AWS Secret。
AWS 預設區域 字串 不適用 是 整合時使用的 AWS 預設區域,例如 us-west-2。

如要瞭解如何在 Google SecOps 中設定整合功能,請參閱「設定整合功能」。

如有需要,您可以在後續階段進行變更。設定整合執行個體後,即可在應對手冊中使用。如要進一步瞭解如何設定及支援多個執行個體,請參閱「支援多個執行個體」。

動作

如要進一步瞭解動作,請參閱「 在工作區回應待處理動作」和「在案件中執行手動動作」。

授權安全性群組輸出

將指定的輸出規則新增至安全性群組,以便與虛擬私有雲搭配使用。傳出規則允許執行個體將流量傳送至指定的 IPv4 或 IPv6 CIDR 位址範圍。規則變更會盡快套用至受影響的執行個體。不過,可能會有短暫延遲。

如要進一步瞭解 VPC 安全性群組限制,請參閱「Amazon VPC 限制」。

參數

參數顯示名稱 類型 預設值 為必填 說明
安全性群組 ID 字串 不適用 是

一或多個安全性群組 ID,以半形逗號分隔。

開發人員注意事項:每個 ID 都要在個別要求中

IP 通訊協定 DDL 全部 否

IP 通訊協定名稱。如要指定所有通訊協定,請使用「all」。如果指定「all」,則無論您指定任何通訊埠範圍,系統都會允許所有通訊埠的流量。

可能的值:tcp、udp、icmp、all

Note for dev: 'all' equals -1 from code

起始通訊埠 整數 否 TCP 和 UDP 通訊協定的通訊埠範圍起點,或 ICMP 類型編號。
結束通訊埠 整數 否 TCP 和 UDP 通訊協定的通訊埠範圍結尾,允許所有通訊埠的流量,無論您指定的通訊埠範圍為何。
IP 範圍 - CidrIP 字串 不適用 否 IPv4 CIDR 範圍。如要指定單一 IPv4 位址,請使用 /32 前置字元長度。
IPv6 範圍 - CidrIP 字串 不適用 否 IPv6 CIDR 範圍。如要指定單一 IPv6 位址,請使用 /128 前置字元長度。

執行日期

這項動作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success:False
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

如果成功將指定的輸出規則新增至至少一個 (或所有) 安全性群組:(is_success = true):「已成功將指定的輸出規則新增至下列安全性群組:{group_ids}」

如果因權限規則錯誤 (無效通訊埠等) 而無法新增指定的輸出規則 (is_success = false):「無法將指定的輸出規則新增至下列安全性群組:{group_ids}。原因:IP 權限設定無效。詳情請查看記錄。」

如果因安全性群組 ID 無效而無法新增指定的輸出規則 (is_success = false):「無法將指定的輸出規則新增至下列安全性群組:{group_ids}。原因:提供的安全性群組 ID 無效。詳情請查看記錄。``

如果無法將指定的輸出規則新增至所有群組:is_success=false

動作應失敗並停止執行應對手冊:

if fatal error, SDK error, like wrong credentials, no connection to server, other: "Error executing action "Authorize Security Group Egress". 原因:{0}''.format(error.Stacktrace)

一般

授權安全性群組輸入

將指定的輸入規則新增至安全性群組。傳入規則允許執行個體接收來自指定 IPv4 或 IPv6 CIDR 位址範圍的流量。規則變更會盡快套用至受影響的執行個體。不過,可能會有短暫延遲。

如要進一步瞭解 VPC 安全性群組限制,請參閱「Amazon VPC 限制」。

參數

參數顯示名稱 類型 預設值 為必填 說明
安全性群組 ID 字串 不適用 是

一或多個安全性群組 ID,以半形逗號分隔。

開發人員注意事項:每個 ID 都要在個別要求中

IP 通訊協定 DDL 全部 否

IP 通訊協定名稱。如要指定所有通訊協定,請使用「all」。如果指定「all」,則無論您指定任何通訊埠範圍,系統都會允許所有通訊埠的流量。

可能的值:tcp、udp、icmp、all

Note for dev: 'all' equals -1 from code

起始通訊埠 整數 否 TCP 和 UDP 通訊協定的通訊埠範圍起點,或 ICMP 類型編號。
結束通訊埠 整數 否 TCP 和 UDP 通訊協定的通訊埠範圍結尾,允許所有通訊埠的流量,無論您指定的通訊埠範圍為何。
IP 範圍 - CidrIP 字串 不適用 否 CIDR 格式的 IPv4 位址。如要指定單一 IPv4 位址,請使用 /32 前置字元長度。
IPv6 範圍 - CidrIP 字串 不適用 否 IPv6 CIDR 範圍。如要指定單一 IPv6 位址,請使用 /128 前置字元長度。

執行日期

這項動作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success:False
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

如果成功將指定的輸入規則新增至至少一個安全性群組 (如果全部成功更新,is_success = true):「已成功將指定的輸入規則新增至下列安全性群組:{group_ids}」

如果因權限規則錯誤 (無效通訊埠等) 而無法新增指定的輸入規則 (is_success =false):「無法將指定的輸入規則新增至下列安全性群組:{group_ids}。原因:IP 權限設定無效。詳情請查看記錄。」

if failed to add the specified ingress rules because of invalid security group id: (is_success =false): "Failed to add the specified ingress rule to the following security groups: {group_ids}. 原因:提供的安全性群組 ID 無效。詳情請查看記錄。``

動作應失敗並停止執行應對手冊:

if fatal error, SDK error, like wrong credentials, no connection to server, other: "Error executing action "Authorize Security Group Ingress". 原因:{0}''.format(error.Stacktrace)

一般

建立標記

標記是您指派給 AWS 資源的標籤。每個標記都包含一個鍵和一個選用值。您可以使用標記搜尋及篩選資源,或追蹤 AWS 費用。僅為指定 Amazon EC2 資源新增或覆寫指定標記。如果指定現有的標記鍵,系統會以新值覆寫。每項資源最多可有 50 個標記。每項資源的標記鍵不得重複。

如要進一步瞭解標記,請參閱 Amazon Elastic Compute Cloud 使用手冊中的「標記資源」。

參數

參數顯示名稱 類型 預設值 為必填 說明
資源 ID 字串 不適用 是 一或多個資源 ID。以半形逗號分隔。
標記 字串 不適用 是

要指派給資源的標記鍵/值組合。舉例來說,如要為所有指定資源新增鍵為 Owner、值為 TeamA 的標記,請指定 Owner:TeamA。如要指定多個鍵/值組合,請以半形逗號分隔。

您可以新增或覆寫指定標記。每項資源的標記鍵不得重複。

執行日期

這項動作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success:False
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

如果成功:「已成功將 {tags_list} 標記新增至下列資源:resource_ids」

資源 ID 無效 (is_success = false):「無法將 {tag_list} 標記新增至下列資源:{resource_ids}。原因:資源 ID 無效

如果資源有超過 50 個標記 (is_success = false):「無法將 {tag_list} 標記新增至下列資源:{resource_ids}。原因:資源最多只能有 50 個標記。

如果標記鍵不重複 (is_success = false):「無法將 {tag_list} 標記新增至下列資源:{resource_ids}。原因:每項資源的標記鍵不得重複。

如果指定標記的格式無效 (也就是只有鍵或只有值,不符合「鍵:值」的完整結構) (is_success = false):「無法將 {invalid_tags} 標記新增至下列資源:{ids}。原因:格式無效。標記應包含鍵和值。

動作應失敗並停止執行應對手冊:

如果發生嚴重錯誤、SDK 錯誤 (例如憑證錯誤、無法連線至伺服器) 或其他錯誤:「執行『建立代碼』動作時發生錯誤。原因:{0}''.format(error.Stacktrace)

一般

可列出執行個體

描述指定或所有執行個體。

參數

參數顯示名稱 類型 預設值 為必填 說明
執行個體 ID 字串 不適用 否 一或多個執行個體 ID。指定執行個體 ID 後,輸出內容只會包含指定執行個體的資訊。這項參數無法與「Max Results」參數搭配使用。「執行個體 ID」的優先順序高於「結果數量上限」參數。
標記篩選器 字串 不適用 否 指派給資源的標記鍵/值組合。舉例來說,如要找出所有標記鍵為 Owner、值為 TeamA 的資源,請指定 Owner:TeamA。以半形逗號分隔的標記篩選器。例如:Name:Name1,Owner:TeamA。傳回的執行個體會符合所有篩選條件。
結果筆數上限 整數 50 否 指定要傳回的執行個體數量。預設值為 50。上限為 1000。參數「Instance IDs」無法與參數「Max Results」搭配使用。「執行個體 ID」的優先順序高於「結果數量上限」參數。

執行日期

這項動作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success:False
JSON 結果
"EC2_Instances": [
    {
   "AmiLaunchIndex":0,
   "ImageId":"ami-047a51fa27710816e",
   "InstanceId":"i-044c08c5bfe1a7f98",
   "InstanceType":"t2.micro",
   "KeyName":"\"Key\": \"Test\", \"Value\":\"Test\"",
   "LaunchTime":"2021-1-30",
   "Monitoring":{
      "State":"disabled"
   },
   "Placement":{
      "AvailabilityZone":"us-east-1d",
      "GroupName":"",
      "Tenancy":"default"
   },
   "PrivateDnsName":"ip-192-0-2-220.ec2.internal",
   "PrivateIpAddress":"192.0.2.220",
   "ProductCodes":[

   ],
   "PublicDnsName":"ec2-192-0-2-218.compute-1.amazonaws.com",
   "PublicIpAddress":"192.0.2.218",
   "State":{
      "Code":16,
      "Name":"running"
   },
   "StateTransitionReason":"",
   "SubnetId":"subnet-1b1fda3a",
   "VpcId":"vpc-ID",
   "Architecture":"x86_64",
   "BlockDeviceMappings":[
      {
         "DeviceName":"/dev/xvda",
         "Ebs":{
            "AttachTime":"2021-1-30",
            "DeleteOnTermination":true,
            "Status":"attached",
            "VolumeId":"vol-00f70681a43e5d86e"
         }
      }
   ],
   "ClientToken":"",
   "EbsOptimized":false,
   "EnaSupport":true,
   "Hypervisor":"xen",
   "NetworkInterfaces":[
      {
         "Association":{
            "IpOwnerId":"amazon",
            "PublicDnsName":"ec2-192-0-2-218.compute-1.amazonaws.com",
            "PublicIp":"192.0.2.218"
         },
         "Attachment":{
            "AttachTime":"",
            "AttachmentId":"eni-attach-06bc5e5901ce99ef2",
            "DeleteOnTermination":true,
            "DeviceIndex":0,
            "Status":"attached",
            "NetworkCardIndex":0
         },
         "Description":"",
         "Groups":[
            {
               "GroupName":"launch-wizard-2",
               "GroupId":"sg-001700ccddac4189a"
            }
         ],
         "Ipv6Addresses":[

         ],
         "MacAddress":"12:34:56:ab:cd:ef",
         "NetworkInterfaceId":"eni-020fa83efd417e32d",
         "OwnerId":"ID",
         "PrivateDnsName":"ip-192-0-2-220.ec2.internal",
         "PrivateIpAddress":"192.0.2.220",
         "PrivateIpAddresses":[
            {
               "Association":{
                  "IpOwnerId":"amazon",
                  "PublicDnsName":"ec2-192-0-2-218.compute-1.amazonaws.com",
                  "PublicIp":"192.0.2.218"
               },
               "Primary":true,
               "PrivateDnsName":"ip-192-0-2-220.ec2.internal",
               "PrivateIpAddress":"192.0.2.220"
            }
         ],
         "SourceDestCheck":true,
         "Status":"in-use",
         "SubnetId":"subnet-1b1fda3a",
         "VpcId":"vpc-ID",
         "InterfaceType":"interface"
      }
   ],
   "RootDeviceName":"/dev/xvda",
   "RootDeviceType":"ebs",
   "SecurityGroups":[
      {
         "GroupName":"launch-wizard-2",
         "GroupId":"sg-001700ccddac4189a"
      }
   ],
   "SourceDestCheck":true,
   "Tags":[
      {
         "Key":"Owner",
         "Value":"Example"
      },
      {
         "Key":"Name",
         "Value":"Example test"
      }
   ],
   "VirtualizationType":"hvm",
   "CpuOptions":{
      "CoreCount":1,
      "ThreadsPerCore":1
   },
   "CapacityReservationSpecification":{
      "CapacityReservationPreference":"open"
   },
   "HibernationOptions":{
      "Configured":false
   },
   "MetadataOptions":{
      "State":"applied",
      "HttpTokens":"optional",
      "HttpPutResponseHopLimit":1,
      "HttpEndpoint":"enabled"
   },
   "EnclaveOptions":{
      "Enabled":false
   }
}
 ]
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

  • 如果成功列出執行個體(is_success = true):「Successfully described Amazon EC2 instances.」
  • 如果沒有可用值(is_success = false):「在 Amazon EC2 中找不到任何執行個體」

動作應失敗並停止執行應對手冊:

如果發生致命錯誤、執行個體 ID 無效、SDK 錯誤 (例如憑證錯誤、無法連線至伺服器) 或其他錯誤:「執行『列出執行個體』動作時發生錯誤。原因:{0}''.format(error.Stacktrace)

一般
案件總覽表格

資料表名稱:Amazon EC2 執行個體

表格欄:

ID

狀態

類型

可用區域

公開 IPv4 DNS

公開 IPv4 位址

監控

安全性群組名稱

金鑰名稱

啟動時間

列出安全性群組

描述指定的安全性群組或所有安全性群組。安全性群組適用於 EC2-Classic 平台或特定虛擬私有雲中的執行個體。

詳情請參閱「Amazon EC2 安全性群組」。

參數

參數顯示名稱 類型 預設值 為必填 說明
安全性群組名稱 字串 不適用 否 一或多個安全性群組名稱 [僅限 EC2-Classic 和預設虛擬私有雲]。以半形逗號分隔。如果指定安全性群組名稱,輸出內容只會包含指定名稱的資訊。
安全性群組 ID 字串 不適用 否 一或多個安全性群組 ID,以半形逗號分隔。如果指定安全性群組 ID,輸出內容只會包含指定 ID 的資訊。非預設虛擬私有雲中的安全性群組必須提供這項資訊。
標記篩選器 字串 不適用 否

指派給安全性群組的標記鍵/值組合。舉例來說,如要找出所有標記包含鍵 Owner 和值 TeamA 的群組,請輸入 Owner:TeamA。您可以使用以半形逗號分隔的標記篩選器,例如 Name:Name1,Owner:TeamA。傳回的群組必須符合所有篩選條件。

結果筆數上限 整數 50 否 要傳回的安全性群組數量。預設值為 50。最大值為 1000。注意:「Security Group IDs」和「Security Group Names」參數無法與「Max Results」參數搭配使用。

執行日期

這項動作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success:False
JSON 結果
"EC2_Security_Groups": [
{
   "Description":"launch-wizard-2 created 2021-01-30T19:37:11.523+02:00",
   "GroupName":"launch-wizard-2",
   "IpPermissions":[
      {
         "FromPort":22,
         "IpProtocol":"tcp",
         "IpRanges":[
            {
               "CidrIp":"192.0.2.0/0"
            }
         ],
         "Ipv6Ranges":[

         ],
         "PrefixListIds":[

         ],
         "ToPort":22,
         "UserIdGroupPairs":[

         ]
      }
   ],
   "OwnerId":"582302349248",
   "GroupId":"sg-001700ccddac4189a",
   "IpPermissionsEgress":[
      {
         "IpProtocol":"-1",
         "IpRanges":[
            {
               "CidrIp":"192.0.2.0/0"
            }
         ],
         "Ipv6Ranges":[

         ],
         "PrefixListIds":[

         ],
         "UserIdGroupPairs":[

         ]
      }
   ],
   "Tags":[
      {
         "Key":"Team",
         "Value":"A-Team"
      },
      {
         "Key":"Owner",
         "Value":"Example"
      }
   ],
   "VpcId":"vpc-ID"
}
]
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

  • 如果成功列出群組(is_success = true):「已成功說明 Amazon EC2 安全群組。」
  • 如果沒有可用值(is_success = false):「在 Amazon EC2 中找不到任何安全性群組」

動作應失敗並停止執行應對手冊:

if fatal error, invalid group ID/Name, SDK error, like wrong credentials, no connection to server, other: "Error executing action "List Security Groups". 原因:{0}''.format(error.Stacktrace)

一般
案件總覽表格

資料表名稱:Amazon EC2 執行個體

表格欄:

安全性群組 ID

安全性群組名稱

虛擬私有雲 ID

說明

擁有者 ID

乒乓

測試與 AWS EC2 的連線。

參數

不適用

執行日期

這項動作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success:False
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

如果成功:「已成功使用提供的連線參數連線至 Amazon EC2!」

動作應失敗並停止執行應對手冊:

如果未成功:「無法連線至 Amazon EC2 伺服器!錯誤為 {0}".format(exception.stacktrace)

一般

撤銷安全性群組輸出

從 EC2-VPC 的安全性群組中,移除指定的輸出規則 (傳出規則)。這項動作不適用於 EC2-Classic 中使用的安全性群組。如要移除規則,您指定的值 (例如通訊埠) 必須與現有規則的值完全相符。規則變更會盡快套用至安全性群組中的執行個體。不過,可能會有短暫延遲。

參數

參數顯示名稱 類型 預設值 為必填 說明
安全性群組 ID 字串 不適用 是

一或多個安全性群組 ID,以半形逗號分隔。

開發人員注意事項:每個 ID 都要在個別要求中

IP 通訊協定 DDL 全部 否

IP 通訊協定名稱。如要指定所有通訊協定,請使用「all」。如果指定「all」,則無論您指定任何通訊埠範圍,系統都會允許所有通訊埠的流量。

可能的值:tcp、udp、icmp、all

Note for dev: 'all' equals -1 from code

起始通訊埠 整數 否 TCP 和 UDP 通訊協定的通訊埠範圍起點,或 ICMP 類型編號。
結束通訊埠 整數 否 TCP 和 UDP 通訊協定的通訊埠範圍結尾,允許所有通訊埠的流量,無論您指定的通訊埠範圍為何。
IP 範圍 - CidrIP 字串 不適用 否 CIDR 格式的 IPv4 位址。如要指定單一 IPv4 位址,請使用 /32 前置字元長度。
IPv6 範圍 - CidrIP 字串 不適用 否 IPv6 CIDR 範圍。如要指定單一 IPv6 位址,請使用 /128 前置字元長度。

執行日期

這項動作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success:False
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

如果成功從至少一個 (或所有) 安全性群組撤銷指定的輸出規則:(is_success = true):「已成功從下列安全性群組撤銷指定的輸出規則:{group_ids}」

if failed to revoke the specified egress rules because of permissions rule error (invalid port as 205,etc): (is_success =false): "Failed to revoke the specified egress rule from the following security groups: {group_ids}. 原因:IP 權限設定無效。詳情請查看記錄。」

如果因安全性群組 ID 無效而無法撤銷指定的輸出規則 (is_success =false):「無法從下列安全性群組撤銷指定的輸出規則:{group_ids}。原因:提供的安全性群組 ID 無效。詳情請查看記錄。``

動作應失敗並停止執行應對手冊:

如果發生致命錯誤、SDK 錯誤 (例如憑證錯誤、無法連線至伺服器等),請顯示:「執行『撤銷安全性群組輸出』動作時發生錯誤。原因:{0}''.format(error.Stacktrace)

Gener

撤銷安全性群組輸入

從安全性群組中移除指定的輸入規則 (傳入規則)。如要移除規則,您指定的值 (例如通訊埠) 必須與現有規則的值完全相符。規則變更會盡快套用至安全性群組中的執行個體。不過,可能會有短暫延遲。

參數

參數顯示名稱 類型 預設值 為必填 說明
安全性群組 ID 字串 不適用 是

一或多個安全性群組 ID,以半形逗號分隔。

開發人員注意事項:每個 ID 都要在個別要求中

IP 通訊協定 DDL 全部 否

IP 通訊協定名稱。如要指定所有通訊協定,請使用「all」。如果指定「all」,則無論您指定任何通訊埠範圍,系統都會允許所有通訊埠的流量。

可能的值:tcp、udp、icmp、all

Note for dev: 'all' equals -1 from code

起始通訊埠 整數 否 TCP 和 UDP 通訊協定的通訊埠範圍起點,或 ICMP 類型編號。
結束通訊埠 整數 否 TCP 和 UDP 通訊協定的通訊埠範圍結尾,允許所有通訊埠的流量,無論您指定的通訊埠範圍為何。
IP 範圍 - CidrIP 字串 不適用 否 CIDR 格式的 IPv4 位址。如要指定單一 IPv4 位址,請使用 /32 前置字元長度。
IPv6 範圍 - CidrIP 字串 不適用 否 IPv6 CIDR 範圍。如要指定單一 IPv6 位址,請使用 /128 前置字元長度。

執行日期

這項動作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success:False
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

如果成功撤銷至少一個 (或所有) 安全性群組的指定輸入規則:(is_success = true):「已成功撤銷下列安全性群組的指定輸入規則:{group_ids}」

if failed to revoke the specified ingress rules because of permissions rule error (invalid port as 205,etc): (is_success =false): "Failed to revoke the specified ingress rule from the following security groups: {group_ids}. 原因:IP 權限設定無效。詳情請查看記錄。」

if failed to revoke the specified ingress rules because of invalid security group id: (is_success =false): "Failed to revoke the specified ingress rule from the following security groups: {group_ids}. 原因:提供的安全性群組 ID 無效。詳情請查看記錄。``

動作應失敗並停止執行應對手冊:

if fatal error, SDK error, like wrong credentials, no connection to server, other: "Error executing action "Revoke Security Group Ingress". 原因:{0}''.format(error.Stacktrace)

一般

啟動執行個體

啟動先前停止的 Amazon Elastic Block Store (Amazon EBS) 支援執行個體。執行個體可能需要幾分鐘才會進入執行狀態。請注意,您無法啟動執行個體儲存區支援的執行個體。如要進一步瞭解執行個體儲存區支援的執行個體,請參閱「根裝置的儲存空間」。

參數

參數顯示名稱 類型 預設值 為必填 說明
執行個體 ID 字串 不適用 是 一或多個執行個體 ID。以半形逗號分隔

執行日期

這項動作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success:False
JSON 結果
[
  {
      "CurrentState": "pending",
        "InstanceId": "string",
        "PreviousState":"stopped"
    }
]
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

  • If current state of all/few instances is different from: pending, running: ( Is_success = false): Can not start the following instances from their current state: <failed_instance ids>
  • 如果目前狀態為待處理 → 動作仍在進行中:繼續…要求執行的執行個體仍處於待處理狀態
  • 如果目前狀態為執行中:(is_success=true:列印:下列執行個體已成功啟動:<running_instance ids>
  • 如果其中一個執行個體無效 (is_success =false):下列執行個體無效:<無效 ID>。請再試一次。

動作應失敗並停止執行應對手冊:

如果發生致命錯誤、SDK 錯誤 (例如憑證錯誤、無法連線至伺服器等):「執行『啟動執行個體』動作時發生錯誤。原因:{0}''.format(error.Stacktrace)

一般

停止執行個體

停止 Amazon EBS 支援的執行個體。停止執行個體時,系統會在短暫延遲後嘗試強制關閉。執行個體可能需要幾分鐘才會停止。您隨時可以重新啟動執行個體。您無法停止執行個體儲存體支援的執行個體,必須將其終止。如要進一步瞭解執行個體儲存區支援的執行個體,請參閱 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device

參數

參數顯示名稱 類型 預設值 為必填 說明
執行個體 ID 字串 不適用 是 以半形逗號分隔的執行個體 ID 清單。
力導向 布林值 不適用 否 如果選取,這項動作會執行非正常 (硬) 關機,立即停止執行個體,不讓執行個體清除檔案系統快取或中繼資料。這項程序需要強制執行檔案系統檢查和修復程序,才能恢復執行個體作業。不建議用於 Windows 執行個體。

預設為停用。

執行日期

這項動作不會對實體執行。

拍攝快照

建立執行個體的快照。

參數

參數顯示名稱 類型 預設值 為必填 說明
執行個體 ID 字串 不適用 是 指定執行個體 ID。
說明 字串 不適用 否 指定快照說明。

執行日期

這項動作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success:False
JSON 結果
{
  "EC2_Snapshot": [
    {
      "Description": "",
      "Tags": [],
      "Encrypted": false,
      "VolumeId": "vol-ID",
      "State": "pending",
      "VolumeSize": 8,
      "StartTime": "2022-11-13 15:45:44.795000+00:00",
      "Progress": "",
      "OwnerId": "OWNER_ID",
      "SnapshotId": "snap-ID"
    }
  ]
}

終止執行個體

終止執行個體。

終止的執行個體無法重新啟動。只有執行個體存放區支援的執行個體可以終止。如要進一步瞭解執行個體儲存區支援的執行個體,請參閱「根裝置的儲存空間」。

如果多次終止執行個體,每次呼叫都會成功。如果您指定多個執行個體,但要求失敗 (例如因為單一執行個體 ID 不正確),則不會終止任何執行個體。

終止的執行個體在終止後仍會顯示 (約一小時)。根據預設,Amazon EC2 會刪除執行個體啟動時附加的所有 EBS 磁碟區。執行個體啟動後附加的磁碟區會繼續運作。詳情請參閱 Amazon 使用手冊。

參數

參數顯示名稱 類型 預設值 為必填 說明
執行個體 ID 字串 不適用 是 一或多個執行個體 ID。以半形逗號分隔。

執行日期

這項動作不會對實體執行。

動作執行結果

指令碼執行結果
指令碼結果名稱 值選項 範例
is_success True/False is_success:False
JSON 結果
"StoppingInstances": [
      {
      "CurrentState": "shutting-down",
        "InstanceId": "string",
        "PreviousState":"running"
      }
   ]
案件總覽
結果類型 值/說明 類型
輸出訊息*

動作不應失敗,也不應停止執行應對手冊:

  • If current state of all/few instances is different from: shutting-down, terminated: ( Is_success = false): Cannot terminate the following instances from their current state: <failed_instance ids>
  • 如果目前狀態為關閉中:(is_success=true) → 動作仍在進行中:繼續…要求的執行個體仍在關閉中
  • 如果目前狀態為終止 (is_success=true):下列執行個體已成功終止:<stopped_instance ids>
  • 如果其中一個執行個體無效 (is_success =false):下列執行個體無效:<無效 ID>。請再試一次。

動作應失敗並停止執行應對手冊:

if fatal error, SDK error, like wrong credentials, no connection to server, other:「執行『終止執行個體』動作時發生錯誤。原因:{0}''.format(error.Stacktrace)

一般

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求解答。