Azure SignalR Service 可讓您根據要求類型和網路子集來保護和管理服務端點的存取權。 當您設定網路存取控制規則時,只有從指定網路提出要求的應用程式才能存取您的 SignalR 服務。
重要
網路存取控制規則生效時,存取 SignalR Service 的應用程式仍需針對要求給予適當授權。
公用網路存取
我們提供單一整合交換器,以簡化公用網路存取的設定。 參數有下列選項:
- 已停用:完全封鎖公用網路存取。 公用網路會忽略所有其他網路訪問控制規則。
- 已啟用:允許公用網路存取,這會進一步受到其他網路訪問控制規則的規範。
前往您要保護的 SignalR Service 執行個體。
從左側功能表中選取 [網路]。 選取 [公用存取] 索引標籤:
選取 [已停用] 或 [已啟用]。
選取儲存套用變更。
下列範本會停用公用網路存取:
resource signalr 'Microsoft.SignalRService/SignalR@2024-08-01-preview' = {
name: 'foobar'
location: 'eastus'
properties: {
publicNetworkAccess: 'Disabled'
}
}
預設動作
未符合其他規則時,會套用默認動作。
前往您要保護的 SignalR Service 執行個體。
選取左側功能表中的 [網路存取控制]。
若要編輯預設動作,請切換 [ 允許/拒絕 ] 按鈕。
選取儲存套用變更。
下列樣本會將預設動作設定為 Deny
。
resource signalr 'Microsoft.SignalRService/SignalR@2024-08-01-preview' = {
name: 'foobar'
location: 'eastus'
properties: {
networkACLs: {
defaultAction: 'Deny'
}
}
要求類型規則
您可以設定規則,以允許或拒絕公用網路和每個 私人端點的指定要求類型。
例如, 伺服器連線 通常是高許可權。 若要增強安全性,您可能想要限制其來源。 您可以設定規則來封鎖來自公用網路的所有伺服器連線,並且只允許它們來自指定虛擬網路。
如果沒有符合規則,則會套用默認動作。
前往您要保護的 SignalR Service 執行個體。
選取左側功能表中的 [網路存取控制]。
若要編輯公用網路規則,請在 [公用網路] 底下選取要允許的要求類型。
若要編輯私人端點網路規則,請在 [私人端點連線] 底下的各列中選取要允許的要求類型。
選取儲存套用變更。
下列範本會拒絕來自公用網路的所有要求,但客戶端連線除外。 此外,它只允許來自特定私人端點的伺服器連線、REST API 呼叫和追蹤呼叫。
您可以在子資源中 privateEndpointConnections
檢查私人端點連線的名稱。 系統會自動產生。
resource signalr 'Microsoft.SignalRService/SignalR@2024-08-01-preview' = {
name: 'foobar'
location: 'eastus'
properties: {
networkACLs: {
defaultAction: 'Deny'
publicNetwork: {
allow: ['ClientConnection']
}
privateEndpoints: [
{
name: 'foo.8e4d6671-8d62-4bb7-8c41-827dde9c1a05'
allow: ['ServerConnection', 'ClientConnection', 'RESTAPI', 'Trace']
}
]
}
}
IP 規則
IP 規則可讓您授與或拒絕特定公用因特網IP位址範圍的存取權。 這些規則可用來允許存取特定因特網型服務和內部部署網路,或封鎖一般因特網流量。
適用以下限制:
- 您可以設定最多 30 個規則。
- 位址範圍必須使用 CIDR 表示法來指定,例如
16.17.18.0/24
。 支援 IPv4 和 IPv6 位址。
- IP 規則會依照定義的順序進行評估。 如果沒有符合規則,則會套用默認動作。
- IP 規則僅適用於公用流量,且無法封鎖來自私人端點的流量。
前往您要保護的 SignalR Service 執行個體。
從左側功能表中選取 [網路]。 選取 [存取控制規則] 索引標籤 :
編輯 [IP 規則] 區段下的清單。
選取儲存套用變更。
下列範本具有下列效果:
- 允許來自
123.0.0.0/8
和 2603::/8
的要求。
- 來自所有其他IP範圍的要求都會遭到拒絕。
resource signalr 'Microsoft.SignalRService/SignalR@2024-08-01-preview' = {
name: 'foobar'
location: 'eastus'
properties: {
networkACLs: {
defaultAction: 'Deny'
ipRules: [
{
value: '123.0.0.0/8'
action: 'Allow'
}
{
value: '2603::/8'
action: 'Allow'
}
{
value: '0.0.0.0/0'
action: 'Deny'
}
{
value: '::/0'
action: 'Deny'
}
]
}
}
}
下一步
深入了解 Azure Private Link。