設定資源的安全群組
您可以設定安全群組,以定義允許該資源接收的傳入與傳出流量。 例如,在您根據公司的安全原則配置子網路的 ACL 規則之後,即可進一步限制特定實例的資料流量(視其工作負載而定)。
在主控台中為您的資源設定安全群組
若要使用使用者介面來配置安全群組,請遵循下列步驟:
-
從瀏覽器中,開啟 IBM Cloud 主控台。
-
選取導覽功能表
,然後按一下基礎結構
> 網路 > 安全群組。
-
在安全群組清單表格上按一下 建立。
-
在「地點」部分,請提供以下資訊:
- 地理位置-指出您想要建立安全群組的一般區域。
- 區域-指出您要建立安全群組的區域。
-
請在「詳細資訊」區段中提供以下資訊:
- 名稱-輸入安全群組的唯一 ID,例如
my-security-group。 - 資源群組 — 為此安全性群組選取一個資源群組。
配置完成後,您將無法變更資源群組。
- 標籤-新增使用者標籤。 使用者標籤在整個帳戶中都是可看見的。 如需相關資訊,請參閱使用標籤。
使用者標籤在整個帳戶中都是可看見的。 請避免在標籤名稱中包括機密資料。
- 選用: 存取管理標籤-新增存取管理標籤來協助組織存取控制關係。 如需相關資訊,請參閱 使用標籤控制對資源的存取權。
- 可選: 虛擬私有雲 — 請選擇您的 VPC。
- 名稱-輸入安全群組的唯一 ID,例如
-
在「規則」下,按一下「建立」以設定進站與出站規則,用以定義允許哪些類型的流量進出該執行個體。 針對每個規則,指定下列資訊:
- 選取要套用規則的通訊協定及埠。
- 為允許的資料流量指定 CIDR 區塊或 IP 位址。 或者,您可以在相同的 VPC 中指定安全群組,以容許進入或離開連接至所選取安全群組的所有實例的資料流量。
提示:
- 無論所有規則的新增次序為何,都會對它們進行評估。
- 規則是有狀態的,表示會自動允許回應所容許資料流量的傳回資料流量。 例如,您已建立在埠 80 上允許入埠 TCP 資料流量的規則。 該規則還會容許將埠 80 上的出埠 TCP 資料流量傳回給原始主機,而無需其他規則。
- 對於 Windows 映像檔,請確保與該執行個體關聯的安全群組允許遠端桌面協定( TCP 3389 埠)的進出流量。
-
選用項目: 如果可以連接這些目標,則在其餘區段中連接介面、裸機介面、負載平衡器、虛擬專用端點閘道及 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 號碼,更新為正確的值。
-
建立一個名為「
my_vpc_sg」的安全群組:ibmcloud is security-group-create my_vpc_sg $vpc將 ID 儲存到變數中,以便日後使用;例如,儲存到名為
sg的變數中:sg=0738-2d364f0a-a870-42c3-a554-000000632953 -
新增規則以允許 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 -
最後,使用該安全群組建立一個實例:
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 來設定安全群組的相關資訊,請參閱 安全群組。