Ochrana obsahu pomocí Media Services dynamického šifrováníProtect your content with Media Services dynamic encryption

logo Media Services verze 3media services logo v3


Pomocí Azure Media Services můžete lépe zabezpečit vaše média v době, kdy počítač opustí, a to prostřednictvím úložiště, zpracování a doručování.Use Azure Media Services to help secure your media from the time it leaves your computer all the way through storage, processing, and delivery. Pomocí Media Services můžete doručovat živý obsah na vyžádání a dynamicky šifrovaný pomocí standard AES (Advanced Encryption Standard) (AES-128) nebo kteréhokoli ze tří hlavních systémů DRM (Digital Rights Management): Microsoft PlayReady, Google Widevine a Apple FairPlay.With Media Services, you can deliver your live and on-demand content encrypted dynamically with Advanced Encryption Standard (AES-128) or any of the three major digital rights management (DRM) systems: Microsoft PlayReady, Google Widevine, and Apple FairPlay. Media Services taky poskytuje službu pro doručování klíčů AES a licencí DRM (PlayReady, Widevine a FairPlay) autorizovaným klientům.Media Services also provides a service for delivering AES keys and DRM (PlayReady, Widevine, and FairPlay) licenses to authorized clients. Pokud je obsah zašifrovaný pomocí nezašifrovaného klíče AES a pošle se přes HTTPS, není nejasný, dokud nedosáhne klienta.If content is encrypted with an AES clear key and is sent over HTTPS, it is not in clear until it reaches the client.

Poznámka

Widevine není v oblasti GovCloud k dispozici.Widevine is not available in the GovCloud region.

V Media Services V3 je klíč obsahu přidružený k lokátoru streamování (viz Tento příklad).In Media Services v3, a content key is associated with Streaming Locator (see this example). Pokud používáte službu doručování klíčů Media Services, můžete nechat Azure Media Services vygenerovat klíč obsahu.If using the Media Services key delivery service, you can let Azure Media Services generate the content key for you. Klíč obsahu by se měl vygenerovat sami, pokud používáte vlastní službu pro doručování klíčů, nebo pokud potřebujete, aby byl scénář s vysokou dostupností, kdy potřebujete stejný klíč obsahu ve dvou datových centrech.The content key should be generated yourself if you're using you own key delivery service, or if you need to handle a high availability scenario where you need to have the same content key in two data centers.

Když hráč vyžádá datový proud, Media Services použije zadaný klíč k dynamickému šifrování obsahu pomocí nezašifrovaného klíče AES nebo šifrování DRM.When a stream is requested by a player, Media Services uses the specified key to dynamically encrypt your content by using AES clear key or DRM encryption. Aby se datový proud dešifroval, přehrávač požádá o klíč od Media Services služby doručování klíčů nebo služby pro doručování klíčů, kterou jste zadali.To decrypt the stream, the player requests the key from Media Services key delivery service or the key delivery service you specified. Pokud chcete zjistit, jestli má uživatel autorizaci získat klíč, služba vyhodnotí zásadu klíče obsahu, kterou jste zadali pro tento klíč.To decide if the user is authorized to get the key, the service evaluates the content key policy that you specified for the key.

Pomocí REST API nebo Media Services klientské knihovny můžete nakonfigurovat zásady ověřování a ověřování pro vaše licence a klíče.You can use the REST API, or a Media Services client library to configure authorization and authentication policies for your licenses and keys.

Následující obrázek znázorňuje pracovní postup ochrany Media Services obsahu:The following image illustrates the workflow for Media Services content protection:

Pracovní postup pro Media Services ochranu obsahu

* dynamické šifrování podporuje AES-128 Clear Key, CBCS a CENC. Podrobnosti najdete v tématu matice podpory.* Dynamic encryption supports AES-128 clear key, CBCS, and CENC. For details, see the support matrix.

Tento článek vysvětluje koncepty a terminologii, které vám pomůžou pochopit ochranu obsahu pomocí Media Services.This article explains concepts and terminology that help you understand content protection with Media Services.

Hlavní součásti systému ochrany obsahuMain components of a content protection system

K úspěšnému dokončení systému ochrany obsahu je potřeba plně porozumět rozsahu úsilí.To successfully complete your content protection system, you need to fully understand the scope of the effort. Následující části poskytují přehled tří částí, které je třeba implementovat.The following sections give an overview of three parts that you need to implement.

Poznámka

Předtím, než přejdete k další části, důrazně doporučujeme, abyste si před přechodem na další část provedli všechny části v následujících oddílech.We highly recommended that you focus and fully test each part in the following sections before you move on to the next part. Chcete-li otestovat systém ochrany obsahu, použijte nástroje, které jsou uvedeny v částech.To test your content protection system, use the tools specified in the sections.

Kód Media ServicesMedia Services code

Ukázka DRM vám ukáže, jak implementovat systém s více DRM pomocí Media Services V3 pomocí .NET.The DRM sample shows you how to implement a multi-DRM system with Media Services v3 by using .NET. Také ukazuje, jak používat Media Services License/Key Delivery Service.It also shows how to use the Media Services license/key delivery service.

Každý prostředek můžete zašifrovat i pomocí několika typů šifrování (AES-128, PlayReady, Widevine, FairPlay).You can encrypt each asset with multiple encryption types (AES-128, PlayReady, Widevine, FairPlay). Informace o tom, co je vhodné kombinovat, najdete v tématu protokoly streamování a typy šifrování.To see what makes sense to combine, see Streaming protocols and encryption types.

Příklad ukazuje, jak:The example shows how to:

  1. Vytvořte a nakonfigurujte zásady klíče obsahu.Create and configure a content key policy.

    Vytvoříte zásadu pro klíč obsahu ke konfiguraci způsobu doručení klíče obsahu (který poskytuje zabezpečený přístup k vašim prostředkům) koncovým klientům:You create a content key policy to configure how the content key (which provides secure access to your assets) is delivered to end clients:

    • Definujte autorizaci pro doručování licencí.Define license delivery authorization. Zadejte logiku kontroly autorizace na základě deklarací identity v JSON Web Token (JWT).Specify the logic of the authorization check based on claims in JSON Web Token (JWT).

    • Nakonfigurujte licence PlayReady, Widevinea Fairplay .Configure PlayReady, Widevine, and/or FairPlay licenses. Šablony vám umožní nakonfigurovat práva a oprávnění pro jednotlivé několikanásobnou.The templates let you configure rights and permissions for each of the DRMs.

      ContentKeyPolicyPlayReadyConfiguration playReadyConfig = ConfigurePlayReadyLicenseTemplate();
      ContentKeyPolicyWidevineConfiguration widevineConfig = ConfigureWidevineLicenseTempate();
      ContentKeyPolicyFairPlayConfiguration fairPlayConfig = ConfigureFairPlayPolicyOptions();
      
  2. Vytvořte Lokátor streamování , který je nakonfigurovaný pro streamování šifrovaného prostředku.Create a streaming locator that's configured to stream the encrypted asset.

    Lokátor streamování musí být přidružený k zásadě streamování.The streaming locator has to be associated with a streaming policy. V tomto příkladu nastavíme StreamingLocator.StreamingPolicyName zásadu "Predefined_MultiDrmCencStreaming".In the example, we set StreamingLocator.StreamingPolicyName to the "Predefined_MultiDrmCencStreaming" policy.

    Šifry PlayReady a Widevine se aplikují a klíč se doručí klientovi pro přehrávání na základě konfigurovaných licencí DRM.The PlayReady and Widevine encryptions are applied, and the key is delivered to the playback client based on the configured DRM licenses. Pokud chcete datový proud zašifrovat pomocí CBCS (FairPlay), použijte zásadu "Predefined_MultiDrmStreaming".If you also want to encrypt your stream with CBCS (FairPlay), use the "Predefined_MultiDrmStreaming" policy.

    Lokátor streamování je také přidružen k zásadě klíče obsahu, kterou jste definovali.The streaming locator is also associated with the content key policy that you defined.

  3. Vytvořte testovací token.Create a test token.

    GetTokenAsyncMetoda ukazuje, jak vytvořit testovací token.The GetTokenAsync method shows how to create a test token.

  4. Sestavte adresu URL streamování.Build the streaming URL.

    GetDASHStreamingUrlAsyncMetoda ukazuje, jak vytvořit adresu URL streamování.The GetDASHStreamingUrlAsync method shows how to build the streaming URL. V tomto případě adresa URL streamuje obsah POMLČKy.In this case, the URL streams the DASH content.

Přehrávač s klientem AES nebo DRMPlayer with an AES or DRM client

Aplikace přehrávače videa založená na sadě hráčů SDK (buď v nativním režimu, nebo v prohlížeči) musí splňovat následující požadavky:A video player app based on a player SDK (either native or browser-based) needs to meet the following requirements:

  • Sada Player SDK podporuje potřebné klienty DRM.The player SDK supports the needed DRM clients.
  • Sada Player SDK podporuje požadované protokoly streamování: hladké, PŘERUŠOVANé a/nebo HTTP Live Streaming (HLS).The player SDK supports the required streaming protocols: Smooth, DASH, and/or HTTP Live Streaming (HLS).
  • Sada Player SDK dokáže zvládnout předávání tokenu JWT v žádosti o získání licence.The player SDK can handle passing a JWT token in a license acquisition request.

Přehrávač můžete vytvořit pomocí rozhraní Azure Media Player API.You can create a player by using the Azure Media Player API. Pomocí rozhraní Azure Media Player ProtectionInfo API určete, která technologie DRM se má používat na různých platformách DRM.Use the Azure Media Player ProtectionInfo API to specify which DRM technology to use on different DRM platforms.

Pro testování šifrování AES nebo CENC (Widevine nebo PlayReady) můžete použít Azure Media Player.For testing AES or CENC (Widevine and/or PlayReady) encrypted content, you can use Azure Media Player. Ujistěte se, že jste vybrali možnost Pokročilé možnosti a zkontrolujete možnosti šifrování.Make sure that you select Advanced options and check your encryption options.

Pokud chcete testovat FairPlay zašifrovaný obsah, použijte Tento testovací přehrávač.If you want to test FairPlay encrypted content, use this test player. Přehrávač podporuje Widevine, PlayReady a FairPlay několikanásobnou společně s šifrováním pomocí šifrovaného klíče AES-128.The player supports Widevine, PlayReady, and FairPlay DRMs, along with AES-128 clear key encryption.

Vyberte si správný prohlížeč pro otestování různých několikanásobnou:Choose the right browser to test different DRMs:

  • Chrome, Opera nebo Firefox pro Widevine.Chrome, Opera, or Firefox for Widevine.
  • Microsoft Edge nebo Internet Explorer 11 pro PlayReadyMicrosoft Edge or Internet Explorer 11 for PlayReady.
  • Safari v macOS pro FairPlay.Safari on macOS for FairPlay.

Služba tokenů zabezpečeníSecurity token service

Služba tokenů zabezpečení (STS) vydává token JWT jako přístupový token pro přístup k prostředkům back-endu.A security token service (STS) issues JWT as the access token for back-end resource access. Jako prostředek back-endu můžete použít službu Azure Media Services License/Key Delivery Service.You can use the Azure Media Services license/key delivery service as the back-end resource. Služba STS musí definovat následující věci:An STS has to define the following things:

  • Vystavitel a cílová skupina (nebo obor).Issuer and audience (or scope).
  • Deklarace identity, které jsou závislé na obchodních požadavcích v ochraně obsahu.Claims, which are dependent on business requirements in content protection.
  • Symetrický nebo asymetrický ověření pro ověření podpisu.Symmetric or asymmetric verification for signature verification.
  • Podpora pro výměnu klíčů (v případě potřeby).Key rollover support (if necessary).

Tento nástroj STS můžete použít k otestování služby STS.You can use this STS tool to test the STS. Podporuje všechny tři typy ověřovacích klíčů: symetrický, asymetrický nebo Azure Active Directory (Azure AD) s použitím klíčového přechodu.It supports all three types of verification keys: symmetric, asymmetric, or Azure Active Directory (Azure AD) with key rollover.

Typy šifrování a protokoly streamováníStreaming protocols and encryption types

Pomocí Media Services můžete doručovat obsah dynamicky šifrovaný pomocí šifrovaného klíče AES nebo šifrování DRM pomocí PlayReady, Widevine nebo FairPlay.You can use Media Services to deliver your content encrypted dynamically with AES clear key or DRM encryption by using PlayReady, Widevine, or FairPlay. V současné době můžete šifrovat formáty HLS, MPEG POMLČKy a Smooth Streaming.Currently, you can encrypt the HLS, MPEG DASH, and Smooth Streaming formats. Každý protokol podporuje následující metody šifrování.Each protocol supports the following encryption methods.

HLSHLS

Protokol HLS podporuje následující formáty kontejnerů a schémata šifrování:The HLS protocol supports the following container formats and encryption schemes:

Formát kontejneruContainer format Schéma šifrováníEncryption scheme Příklad adresy URLURL example
VšeAll AESAES https://amsv3account-usw22.streaming.media.azure.net/00000000-0000-0000-0000-000000000000/ignite.ism/manifest(format=m3u8-aapl,encryption=cbc)
MPG2 – TSMPG2-TS CBCS (FairPlay)CBCS (FairPlay) https://amsv3account-usw22.streaming.media.azure.net/00000000-0000-0000-0000-000000000000/ignite.ism/manifest(format=m3u8-aapl,encryption=cbcs-aapl)
CMAF(fmp4)CMAF(fmp4) CBCS (FairPlay)CBCS (FairPlay) https://amsv3account-usw22.streaming.media.azure.net/00000000-0000-0000-0000-000000000000/ignite.ism/manifest(format=m3u8-cmaf,encryption=cbcs-aapl)
MPG2 – TSMPG2-TS CENC (PlayReady)CENC (PlayReady) https://amsv3account-usw22.streaming.media.azure.net/00000000-0000-0000-0000-000000000000/ignite.ism/manifest(format=m3u8-aapl,encryption=cenc)
CMAF(fmp4)CMAF(fmp4) CENC (PlayReady)CENC (PlayReady) https://amsv3account-usw22.streaming.media.azure.net/00000000-0000-0000-0000-000000000000/ignite.ism/manifest(format=m3u8-cmaf,encryption=cenc)

HLS/CMAF + FairPlay (včetně HEVC/H. 265) se podporuje na následujících zařízeních:HLS/CMAF + FairPlay (including HEVC/H.265) is supported on the following devices:

  • iOS 11 nebo novější.iOS 11 or later.
  • iPhone 8 nebo novější.iPhone 8 or later.
  • macOS vysoký Sierra s PROCESORem Intel 7 pro generace.macOS High Sierra with Intel 7th Generation CPU.

MPEG-POMLČKAMPEG-DASH

Protokol MPEG-SPOJOVNÍK podporuje následující formáty kontejneru a schémata šifrování:The MPEG-DASH protocol supports the following container formats and encryption schemes:

Formát kontejneruContainer format Schéma šifrováníEncryption scheme Příklady adres URLURL Examples
VšeAll AESAES https://amsv3account-usw22.streaming.media.azure.net/00000000-0000-0000-0000-000000000000/ignite.ism/manifest(format=mpd-time-csf,encryption=cbc)
CSF (FMP4)CSF(fmp4) CENC (Widevine + PlayReady)CENC (Widevine + PlayReady) https://amsv3account-usw22.streaming.media.azure.net/00000000-0000-0000-0000-000000000000/ignite.ism/manifest(format=mpd-time-csf,encryption=cenc)
CMAF(fmp4)CMAF(fmp4) CENC (Widevine + PlayReady)CENC (Widevine + PlayReady) https://amsv3account-usw22.streaming.media.azure.net/00000000-0000-0000-0000-000000000000/ignite.ism/manifest(format=mpd-time-cmaf,encryption=cenc)

Technologie Smooth StreamingSmooth Streaming

Protokol Smooth Streaming podporuje následující formáty kontejneru a schémata šifrování.The Smooth Streaming protocol supports the following container formats and encryption schemes.

ProtokolProtocol Formát kontejneruContainer format Schéma šifrováníEncryption scheme
fMP4fMP4 AESAES https://amsv3account-usw22.streaming.media.azure.net/00000000-0000-0000-0000-000000000000/ignite.ism/manifest(encryption=cbc)
fMP4fMP4 CENC (PlayReady)CENC (PlayReady) https://amsv3account-usw22.streaming.media.azure.net/00000000-0000-0000-0000-000000000000/ignite.ism/manifest(encryption=cenc)
fMP4fMP4 PIFF 1,1 (PlayReady)PIFF 1.1 (PlayReady) https://amsv3account-usw22.streaming.media.azure.net/00000000-0000-0000-0000-000000000000/ignite.ism/manifest(encryption=piff)

Poznámka

Podpora PIFF 1,1 je poskytována jako zpětně kompatibilní řešení pro inteligentní TV (Samsung, LG), které implementovalo úvodní verzi programu Common Encryption.PIFF 1.1 support is provided as a backwards compatible solution for Smart TV (Samsung, LG) that implemented the early "Silverlight" version of Common Encryption. Doporučuje se používat jenom formát PIFF, pokud je to potřeba pro podporu inteligentních televizorů legacey Samsung nebo LG dodaných mezi 2009-2015, které podporují verzi PIFF 1,1 šifrování PlayReady.It is recommended to only use the PIFF format where needed for support of legacey Samsung or LG Smart TVs shipped between 2009-2015 that supported the PIFF 1.1 version of PlayReady encryption.

BrowsersBrowsers

Běžné prohlížeče podporují následující klienty DRM:Common browsers support the following DRM clients:

ProhlížečBrowser ŠifrováníEncryption
ChromeChrome WidevineWidevine
Microsoft Edge, Internet Explorer 11Microsoft Edge, Internet Explorer 11 PlayReadyPlayReady
FirefoxFirefox WidevineWidevine
OperaOpera WidevineWidevine
SafariSafari FairPlayFairPlay

Řízení přístupu k obsahuControlling content access

Konfigurací zásad klíče obsahu můžete určit, kdo má přístup k vašemu obsahu.You can control who has access to your content by configuring the content key policy. Služba Media Services podporuje více způsobů autorizace uživatelů, kteří žádají o klíč.Media Services supports multiple ways of authorizing users who make key requests. Klient (přehrávač) musí splnit zásadu, aby bylo možné klíč doručit klientovi.The client (player) must meet the policy before the key can be delivered to the client. Zásady klíčů obsahu můžou mít omezení Open nebo token .The content key policy can have open or token restriction.

Zásada pro klíč obsahu s omezeným přístupem se dá použít, když chcete licenci vydávat nikomu bez autorizace.An open-restricted content key policy may be used when you want to issue license to anyone without authorization. Například pokud vaše tržby jsou založené na službě AD a nikoli na základě předplatného.For example, if your revenue is ad-based and not subscription-based.

Pomocí zásad klíčového obsahu omezeného tokenu se klíč obsahu pošle jenom klientovi, který prezentuje platný token JWT, nebo jednoduchý webový token (SWT) v žádosti o licenci nebo klíč.With a token-restricted content key policy, the content key is sent only to a client that presents a valid JWT token or a simple web token (SWT) in the license/key request. Tento token musí být vydán službou STS.This token must be issued by an STS.

Můžete použít Azure AD jako STS nebo nasadit vlastní STS.You can use Azure AD as an STS or deploy a custom STS. Služba STS musí být nakonfigurovaná tak, aby vytvořila token podepsaný pomocí zadaného klíče a vydávala deklarace identity, které jste zadali v konfiguraci omezení tokenu.The STS must be configured to create a token signed with the specified key and issue claims that you specified in the token restriction configuration. Služba Media Services License/Key Delivery Services vrátí požadovanou licenci nebo klíč klientovi, pokud existují obě tyto podmínky:The Media Services license/key delivery service returns the requested license or key to the client if both of these conditions exist:

  • Token je platný.The token is valid.
  • Deklarace identity v tokenu se shodují s požadavky nakonfigurovanými pro licenci nebo klíč.The claims in the token match those configured for the license or key.

Když konfigurujete zásady s omezením tokenu, musíte zadat primární ověřovací klíč, Vystavitel a parametry cílové skupiny.When you configure the token-restricted policy, you must specify the primary verification key, issuer, and audience parameters. Primární ověřovací klíč obsahuje klíč, pomocí kterého byl token podepsán.The primary verification key contains the key that the token was signed with. Vystavitel je STS, který vydává token.The issuer is the STS that issues the token. Cílová skupina, někdy označovaná jako Scope, popisuje účel tokenu nebo prostředku, ke kterému token opravňuje přístup.The audience, sometimes called scope, describes the intent of the token or the resource that the token authorizes access to. Služba Media Services License/Key Delivery Services ověřuje, že se tyto hodnoty v tokenu shodují s hodnotami v šabloně.The Media Services license/key delivery service validates that these values in the token match the values in the template.

Prevence opětovného přehrání tokenuToken replay prevention

Funkce Prevence opětovného přehrání tokenu umožňuje Media Services zákazníkům nastavit limit, kolikrát se dá stejný token použít k vyžádání klíče nebo licence.The Token Replay Prevention feature allows Media Services customers to set a limit on how many times the same token can be used to request a key or a license. Zákazník může přidat deklaraci identity typu urn:microsoft:azure:mediaservices:maxuses v tokenu, kde hodnota je počet, kolikrát je možné token použít k získání licence nebo klíče.The customer can add a claim of type urn:microsoft:azure:mediaservices:maxuses in the token, where the value is the number of times the token can be used to acquire a license or key. Všechny následné požadavky se stejným tokenem na doručení klíče vrátí neautorizovanou odpověď.All subsequent requests with the same token to Key Delivery will return an unauthorized response. Podívejte se, jak přidat deklaraci identity v ukázce DRM.See how to add the claim in the DRM sample.

PožadavkyConsiderations

  • Zákazníci musí mít kontrolu nad generováním tokenu.Customers must have control over token generation. Deklarace identity musí být umístěna do samotného tokenu.The claim needs to be placed in the token itself.
  • Při použití této funkce jsou požadavky s tokeny, jejichž čas vypršení platnosti je více než jedna hodina od doby přijetí žádosti, odmítnuty s neoprávněnou odpovědí.When using this feature, requests with tokens whose expiry time is more than one hour away from the time the request is received are rejected with an unauthorized response.
  • Tokeny se jednoznačně identifikují podle jejich signatury.Tokens are uniquely identified by their signature. Jakékoli změny v datové části (například aktualizace na čas vypršení platnosti nebo deklarace identity) mění signaturu tokenu a počítají se jako nový token, který nepřijde do výše uvedeného klíče.Any change to the payload (for example, update to the expiry time or the claim) changes the signature of the token and it will count as a new token that Key Delivery hasn't come across before.
  • Přehrávání se nezdařilo, pokud token překročil maxuses hodnotu nastavenou zákazníkem.Playback fails if the token has exceeded the maxuses value set by the customer.
  • Tato funkce se dá použít pro veškerý stávající chráněný obsah (musí se změnit jenom vydaný token).This feature can be used for all existing protected content (only the token issued needs to be changed).
  • Tato funkce funguje s tokenem JWT i SWT.This feature works with both JWT and SWT.

Použití vlastní služby STSUsing a custom STS

Zákazník se může rozhodnout použít vlastní STS k poskytování tokenů.A customer might choose to use a custom STS to provide tokens. Důvody zahrnují:Reasons include:

  • Zprostředkovatel identity (IDP) používaný zákazníkem nepodporuje službu STS.The identity provider (IDP) used by the customer doesn't support STS. V takovém případě může být vlastní STS možnost.In this case, a custom STS might be an option.

  • Zákazník může potřebovat flexibilní nebo užší řízení pro integraci služby STS se zákaznickým fakturačním systémem zákazníka.The customer might need more flexible or tighter control to integrate STS with the customer's subscriber billing system.

    Například operátor služby OTT může nabízet několik balíčků předplatitelů, jako jsou Premium, Basic a sport.For example, an OTT service operator might offer multiple subscriber packages, such as premium, basic, and sports. Operátor může chtít vyhledat deklarace identity v tokenu s balíčkem předplatitele, aby byl k dispozici pouze obsah v určitém balíčku.The operator might want to match the claims in a token with a subscriber's package so that only the contents in a specific package are made available. V takovém případě vlastní STS poskytuje potřebnou flexibilitu a kontrolu.In this case, a custom STS provides the needed flexibility and control.

  • Pokud chcete do tokenu zahrnout vlastní deklarace identity, které se mají vybrat mezi různými ContentKeyPolicyOptions s různými licenčními parametry DRM (licence k předplatnému a licence k pronájmu).To include custom claims in the token to select between different ContentKeyPolicyOptions with different DRM license parameters (a subscription license versus a rental license).

  • Chcete-li zahrnout deklaraci identity představující identifikátor klíče obsahu klíče, ke kterému token uděluje přístup.To include a claim representing the content key identifier of the key that the token grants access to.

Pokud používáte vlastní STS, je třeba provést dvě změny:When you use a custom STS, two changes must be made:

  • Při konfiguraci služby doručování licencí pro Asset musíte zadat klíč zabezpečení, který se používá pro ověření vlastní službou STS místo aktuálního klíče ze služby Azure AD.When you configure license delivery service for an asset, you need to specify the security key used for verification by the custom STS instead of the current key from Azure AD.
  • Když se vygeneruje token JTW, místo privátního klíče aktuálního certifikátu x509 ve službě Azure AD se zadá bezpečnostní klíč.When a JTW token is generated, a security key is specified instead of the private key of the current X509 certificate in Azure AD.

Existují dva typy klíčů zabezpečení:There are two types of security keys:

  • Symetrický klíč: stejný klíč se používá ke generování a ověření tokenu JWT.Symmetric key: The same key is used to generate and to verify a JWT.
  • Asymetrická klávesa: v certifikátu x509 se používá privátní klíč privátního klíče pro šifrování/vygenerování JWT a s veřejným klíčem k ověření tokenu.Asymmetric key: A public-private key pair in an X509 certificate is used with a private key to encrypt/generate a JWT and with the public key to verify the token.

Použijete-li jako vývojovou platformu .NET Framework/C#, certifikát x509 použitý pro asymetrický bezpečnostní klíč musí mít délku klíče alespoň 2048.If you use .NET Framework/C# as your development platform, the X509 certificate used for an asymmetric security key must have a key length of at least 2048. Tato délka klíče je požadavkem třídy System. IdentityModel. Tokens. X509AsymmetricSecurityKey v .NET Framework.This key length is a requirement of the class System.IdentityModel.Tokens.X509AsymmetricSecurityKey in .NET Framework. V opačném případě je vyvolána následující výjimka: IDX10630: ' System. IdentityModel. Tokens. X509AsymmetricSecurityKey ' pro Signing nemůže být menší než ' 2048 ' bitů.Otherwise, the following exception is thrown: IDX10630: The 'System.IdentityModel.Tokens.X509AsymmetricSecurityKey' for signing can't be smaller than '2048' bits.

Adresa URL vlastního klíče a získání licenceCustom key and license acquisition URL

Následující šablony použijte, pokud chcete zadat jinou službu pro doručování licencí nebo klíčů (ne Media Services).Use the following templates if you want to specify a different license/key delivery service (not Media Services). Dvě umístěná pole v šablonách jsou zde, takže můžete sdílet zásady streamování napříč mnoha prostředky namísto vytváření zásad streamování na jeden prostředek.The two replaceable fields in the templates are there so that you can share your streaming policy across many assets instead of creating a streaming policy per asset.

  • EnvelopeEncryption.CustomKeyAcquisitionUrlTemplate: Šablona pro adresu URL vlastní služby, která poskytuje klíče přehrávačům koncových uživatelů.EnvelopeEncryption.CustomKeyAcquisitionUrlTemplate: Template for the URL of the custom service that delivers keys to end-user players. Tento požadavek není nutný, pokud používáte Azure Media Services pro vydávání klíčů.It isn't required when you're using Azure Media Services for issuing keys.

    Šablona podporuje nahraditelné tokeny, které služba aktualizuje za běhu s hodnotou specifickou pro požadavek.The template supports replaceable tokens that the service will update at runtime with the value specific to the request. Aktuálně podporované hodnoty tokenu jsou:The currently supported token values are:

    • {AlternativeMediaId}, který je nahrazen hodnotou StreamingLocatorId. AlternativeMediaId.{AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId.
    • {ContentKeyId}, který je nahrazen hodnotou identifikátoru požadovaného klíče.{ContentKeyId}, which is replaced with the value of the identifier of the requested key.
  • StreamingPolicyPlayReadyConfiguration.CustomLicenseAcquisitionUrlTemplate: Šablona pro adresu URL vlastní služby, která poskytuje licence přehrávačům koncových uživatelů.StreamingPolicyPlayReadyConfiguration.CustomLicenseAcquisitionUrlTemplate: Template for the URL of the custom service that delivers licenses to end-user players. Tento požadavek není nutný, pokud používáte Azure Media Services pro vystavování licencí.It isn't required when you're using Azure Media Services for issuing licenses.

    Šablona podporuje nahraditelné tokeny, které služba aktualizuje za běhu s hodnotou specifickou pro požadavek.The template supports replaceable tokens that the service will update at runtime with the value specific to the request. Aktuálně podporované hodnoty tokenu jsou:The currently supported token values are:

    • {AlternativeMediaId}, který je nahrazen hodnotou StreamingLocatorId. AlternativeMediaId.{AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId.
    • {ContentKeyId}, který je nahrazen hodnotou identifikátoru požadovaného klíče.{ContentKeyId}, which is replaced with the value of the identifier of the requested key.
  • StreamingPolicyWidevineConfiguration.CustomLicenseAcquisitionUrlTemplate: Totéž jako předchozí šablona, pouze pro Widevine.StreamingPolicyWidevineConfiguration.CustomLicenseAcquisitionUrlTemplate: Same as the previous template, only for Widevine.

  • StreamingPolicyFairPlayConfiguration.CustomLicenseAcquisitionUrlTemplate: Totéž jako předchozí šablona, pouze pro FairPlay.StreamingPolicyFairPlayConfiguration.CustomLicenseAcquisitionUrlTemplate: Same as the previous template, only for FairPlay.

Příklad:For example:

streamingPolicy.EnvelopEncryption.customKeyAcquisitionUrlTemplate = "https://mykeyserver.hostname.com/envelopekey/{AlternativeMediaId}/{ContentKeyId}";

ContentKeyId má hodnotu požadovaného klíče.ContentKeyId has a value of the requested key. Můžete použít, AlternativeMediaId Pokud chcete mapovat požadavek na entitu na straně.You can use AlternativeMediaId if you want to map the request to an entity on your side. AlternativeMediaIdMůžete například použít k usnadnění vyhledávání oprávnění.For example, AlternativeMediaId can be used to help you look up permissions.

Příklady REST, které používají vlastní licence nebo adresy URL pro získání klíčů, najdete v tématu zásady streamování – vytvořit.For REST examples that use custom license/key acquisition URLs, see Streaming Policies - Create.

Poznámka

Widevine je služba od společnosti Google Inc. v souladu s podmínkami služby a zásadami ochrany osobních údajů Google, Inc.Widevine is a service provided by Google Inc. and subject to the terms of service and Privacy Policy of Google, Inc.

Řešení potížíTroubleshoot

Pokud se zobrazí MPE_ENC_ENCRYPTION_NOT_SET_IN_DELIVERY_POLICY Chyba, ujistěte se, že zadáváte vhodné zásady streamování.If you get the MPE_ENC_ENCRYPTION_NOT_SET_IN_DELIVERY_POLICY error, make sure that you specify the appropriate streaming policy.

Pokud se zobrazí chyby, které končí, ujistěte se, _NOT_SPECIFIED_IN_URL že jste v adrese URL zadali formát šifrování.If you get errors that end with _NOT_SPECIFIED_IN_URL, make sure that you specify the encryption format in the URL. Příklad: …/manifest(format=m3u8-cmaf,encryption=cbcs-aapl).An example is …/manifest(format=m3u8-cmaf,encryption=cbcs-aapl). Viz protokoly streamování a typy šifrování.See Streaming protocols and encryption types.

Položte otázky, sdělte nám svůj názor, Získejte aktualizace.Ask questions, give feedback, get updates

Podívejte se na článek o komunitě Azure Media Services a podívejte se na různé způsoby, jak můžete klást otázky, sdělit svůj názor a získávat aktualizace Media Services.Check out the Azure Media Services community article to see different ways you can ask questions, give feedback, and get updates about Media Services.

Další krokyNext steps