使用 IP 允許清單限制對 DRM 授權和 AES 金鑰傳遞的存取
警告
Azure 媒體服務將於 2024 年 6 月 30 日淘汰。 如需詳細資訊,請參閱 AMS淘汰指南。
使用媒體服務的內容保護和 DRM 功能來保護媒體時,您可能會遇到需要將授權或金鑰要求傳遞限制為網路上特定 IP 範圍用戶端裝置的情況。 若要限制金鑰的內容播放和傳遞,您可以針對金鑰傳遞使用 IP 允許清單。
此外,您也可以使用允許清單完全封鎖金鑰傳遞流量的所有公用網際網路存取,並且只允許來自私人網路端點的流量。
金鑰傳遞的 IP 允許清單會將 DRM 授權和 AES-128 金鑰傳遞限制為所提供 IP 允許清單範圍內的用戶端。
媒體服務支援 IPv6 進行串流處理。 用戶端可透過 IPv4 和 IPv6 使用媒體服務即時事件、串流端點和密鑰傳遞服務。
設定金鑰傳遞的允許清單
金鑰傳遞 IP 允許清單的設定位於媒體服務帳戶資源上。 建立新的媒體服務帳戶時,您可以透過媒體服務帳戶資源上的 KeyDelivery 屬性來限制允許的 IP 範圍。
defaultAction 屬性可以設定為「Allow」或「Deny」,以控制在允許清單範圍中傳遞授權和金鑰。
ipAllowList 屬性是使用 CIDR 表示法的單一 IPv4 或 IPv6 位址和/或範圍陣列。
在入口網站中設定允許清單
Azure 入口網站提供方法來設定和更新金鑰傳遞的 IP 允許清單。 瀏覽至您的媒體服務帳戶,並存取 [設定] 底下的 [金鑰傳遞] 功能表。
串流端點 IPv6 支援
當串流端點設定為使用CDN時,IP位址支援會在CDN提供者設定中設定。
針對不使用CDN的串流端點,根據預設,串流端點會接受來自任何IPv4位址的要求。 若要啟用所有 IPv4 和 IPv6 位址,請在 IP 允許列表中建立允許 IPv4 和 IPv6:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/se1?api-version=2020-05-01
Authorization: Bearer {{getArmToken.response.body.access_token}}
Content-Type: application/json; charset=utf-8
{
"properties": {
"accessControl": {
"ip": {
"allow": [
{
"name": "Allow all IPv6 addresses",
"address": "::",
"subnetPrefixLength": 0
},
{
"name": "Allow all IPv4 addresses",
"address": "0.0.0.0",
"subnetPrefixLength": 0
}
]
}
},
"cdnEnabled": false
},
"location": "{resourceLocation}"
}
串流端點的IP允許清單也可能包含特定的IPv6位址或範圍。
即時活動 IPv6 支援
根據預設,即時活動會接受來自任何 IPv4 位址的內容。 若要允許任何 IPv4 或 IPv6 位址,請在 IP 允許清單中同時允許 IPv4 和 IPv6 位址:
即時活動的IP允許清單也可能包含特定的IPv6位址或範圍。 根據預設,金鑰傳遞 IPv6 支援會接受來自任何 IPv4 或 IPv6 位址的內容金鑰要求。 金鑰傳遞 IP 允許清單可用來限制可能連線到金鑰傳遞端點的 IP 位址。
IP 允許清單可能包含:
- IPv4 位址
- IPv4 CIDR 範圍
- IPv6 位址
- IPv6 CIDR 範圍
下列範例會設定金鑰傳遞的IP允許清單:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Media/mediaservices/{mediaAccountName}?api-version=2021-11-01
{
"properties": {
"storageAccounts": [
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}"
}
],
"keyDelivery": {
"accessControl": {
"defaultAction": "Deny",
"ipAllowList": [ "10.0.0.0/16", "2001:1234:1234::4567/32", "2001:1235::"]
}
},
},
"location": "westus"
}
在此範例中,將會接受來自下列位址的要求:
- 2001:1234:1234:0000:0000:0000:0000:4567 和 2001:1234:FFFF:FFFF:FFFF:FFFF,
- IPv6 位址 2001:1235:0000:0000:0000:0000:0000:0000
- 介於 10.0.0.0 和 10.0.255.255 之間的 IPv4 位址
其他範例:
- 若要允許來自任何IP位址的要求,請將 「accessControl」 區塊的 「defaultAction」 設定為 「Allow」 (,且未指定 「ipAllowList)
- 若要允許所有 IPv4 位址並封鎖所有 IPv6 位址,請將 IP 允許清單設定為 [ “0.0.0.0/0” ]
- 若要允許所有 IPv6 位址並封鎖所有 IPv6 位址,請將 IP 允許清單設定為 [ “:/0” ]
取得說明及支援
您可以連絡媒體服務並提出問題,或遵循下列其中一種方法來追蹤我們的更新:
- 問與答
-
Stack Overflow。 使用
azure-media-services
標記問題。 - @MSFTAzureMedia 或使用 @AzureSupport 來要求支援。
- 透過 Azure 入口網站 開啟支援票證。