設定資源的安全群組

您可以設定安全群組,以定義允許該資源接收的傳入與傳出流量。 例如,在您根據公司的安全原則配置子網路的 ACL 規則之後,即可進一步限制特定實例的資料流量(視其工作負載而定)。

在主控台中為您的資源設定安全群組

若要使用使用者介面來配置安全群組,請遵循下列步驟:

  1. 從瀏覽器中,開啟 IBM Cloud 主控台

  2. 選取導覽功能表 導覽功能表圖示,然後按一下基礎結構 VPC 圖示 > 網路 > 安全群組

  3. 在安全群組清單表格上按一下 建立

  4. 在「地點」部分,請提供以下資訊:

    • 地理位置-指出您想要建立安全群組的一般區域。
    • 區域-指出您要建立安全群組的區域。
  5. 請在「詳細資訊」區段中提供以下資訊:

    • 名稱-輸入安全群組的唯一 ID,例如 my-security-group
    • 資源群組 — 為此安全性群組選取一個資源群組。

    配置完成後,您將無法變更資源群組。

    • 標籤-新增使用者標籤。 使用者標籤在整個帳戶中都是可看見的。 如需相關資訊,請參閱使用標籤

    使用者標籤在整個帳戶中都是可看見的。 請避免在標籤名稱中包括機密資料。

    • 選用: 存取管理標籤-新增存取管理標籤來協助組織存取控制關係。 如需相關資訊,請參閱 使用標籤控制對資源的存取權
    • 可選: 虛擬私有雲 — 請選擇您的 VPC。
  6. 在「規則」下,按一下「建立」以設定進站與出站規則,用以定義允許哪些類型的流量進出該執行個體。 針對每個規則,指定下列資訊:

    • 選取要套用規則的通訊協定及埠。
    • 為允許的資料流量指定 CIDR 區塊或 IP 位址。 或者,您可以在相同的 VPC 中指定安全群組,以容許進入或離開連接至所選取安全群組的所有實例的資料流量。

    提示:

    • 無論所有規則的新增次序為何,都會對它們進行評估。
    • 規則是有狀態的,表示會自動允許回應所容許資料流量的傳回資料流量。 例如,您已建立在埠 80 上允許入埠 TCP 資料流量的規則。 該規則還會容許將埠 80 上的出埠 TCP 資料流量傳回給原始主機,而無需其他規則。
    • 對於 Windows 映像檔,請確保與該執行個體關聯的安全群組允許遠端桌面協定( TCP 3389 埠)的進出流量。
  7. 選用項目: 如果可以連接這些目標,則在其餘區段中連接介面、裸機介面、負載平衡器、虛擬專用端點閘道及 VPN 伺服器。

從 CLI 設定資源的安全群組

在此範例中,您將透過命令列介面 (CLI) 建立一個已啟用安全群組的虛擬伺服器執行個體。 圖 1 展示了此情境的樣貌。

顯示啟用安全性群組的虛擬伺服器執行個體的圖
啟用安全性群組的實例

請注意圖 1 中,名為 SG4 除了其內部 VPC 位址 10.10.10.5 之外,還被指派了浮動 IP 169.60.208.144 ;因此,SG4 該實例能夠連通公共網際網路。 指派給該實例的安全群組 SG4 的名稱為 demosg

實例 SG8 僅供 VPC 內部使用,並帶有專用 IP 位址。 指派給該實例的安全群組 SG8 的名稱為 my_vpc_sg。 這兩台實例均位於名為「sgvpc」的 VPC 內,且位於同一個子網「10.10.10.0/24」中,因此能夠相互通訊。

建立已附加安全群組的資源

my_vpc_sg 的安全群組規則包含 SSH、PING 以及外連 TCP 等基本功能。

請注意,您必須先使用 ibmcloud is sgc 指令建立安全群組,然後再建立使用此安全群組的資源。

您必須輸入 ibmcloud plugin install vpc-infrastructure 才能取得 ibmcloud is 的存取權。 如需建立 VPC 及子網路的詳細資訊,請參閱 使用 CLI 建立 VPC 資源

您可以複製並貼上此範例 CLI 程式碼中的指令,開始建立一個已附加安全群組的執行個體。 此範例程式碼未完整顯示系統回應。 您必須將指令中的 VPC、子網、映像檔、金鑰的資源 ID,以及安全群組的 ID 號碼,更新為正確的值。

  1. 建立一個名為「my_vpc_sg」的安全群組:

    ibmcloud is security-group-create my_vpc_sg $vpc
    

    將 ID 儲存到變數中,以便日後使用;例如,儲存到名為 sg 的變數中:

    sg=0738-2d364f0a-a870-42c3-a554-000000632953
    
  2. 新增規則以允許 SSH、PING 以及外連至 TCP:

    ibmcloud is security-group-rule-add $sg inbound tcp --port-min 22 --port-max 22
    ibmcloud is security-group-rule-add $sg inbound icmp --icmp-type 8 --icmp-code 0
    ibmcloud is security-group-rule-add $sg outbound tcp
    
  3. 最後,使用該安全群組建立一個實例:

    ibmcloud is instance-create test-instance $vpc us-south-2 b-4x16 $subnet 1000 \
    --image $image --keys $key --sgs $sg
    

指令清單提要

若要查看可用於安全群組的 VPC CLI 指令完整清單,請輸入:

ibmcloud is help | grep sg

若要查看您的安全群組及其元資料(包括規則),您可以輸入(以先前範例為例):

ibmcloud is sg $sg

若要新增安全群組規則,以下的範例指令會將 PING 入埠規則新增至安全群組:

ibmcloud is security-group-rule-add $sg inbound icmp --icmp-type 8 --icmp-code 0

如需使用 CLI 來設定安全群組的相關資訊,請參閱 設定 API 和 CLI 環境

使用 API 來設定資源的安全群組

下列範例示範如何使用 IBM Cloud VPC API 來建立和管理安全群組。

若要使用安全群組,必須先有一個執行中的 IBM Cloud VPC。

如需建立 VPC 和子網路的指示,請參閱建立 VPC

步驟 1:建立安全群組

在 IBM Cloud VPC 中建立名為 my-security-group 的安全群組。

curl -X POST "$vpc_api_endpoint/v1/security_groups?version=$api_version&generation=2" \
  -H "Authorization: Bearer $iam_token" \
  -d '{
        "name": "my-security-group",
        "vpc": { "id": "'$vpc'" }
      }'

將 ID 儲存到變數中,以便日後使用;例如,變數 sg

sg=0738-2d364f0a-a870-42c3-a554-000000632953

步驟 2:新增規則以容許 SSH 連線

在安全群組中建立規則以容許埠 22 上的入埠連線。

curl -X POST "$vpc_api_endpoint/v1/security_groups/$sg/rules?version=$api_version&generation=2" \
  -H "Authorization: Bearer $iam_token" \
  -d '{
        "direction": "inbound",
        "protocol": "tcp",
        "port_min": 22,
        "port_max": 22
      }'

步驟 3:刪除安全群組(選用)

若要清除安全群組,它不能與任何網路介面相關聯,且不能被不同安全群組中的規則參照。

curl -X DELETE "$vpc_api_endpoint/v1/security_groups/$sg?version=$api_version&generation=2" \
  -H "Authorization: Bearer $iam_token"

如需使用 API 來設定安全群組的相關資訊,請參閱 安全群組