ContentKeyAuthorizationPolicyOption
Media Services では、キーを要求するユーザーを承認する複数の方法がサポートされています。 コンテンツ キー承認ポリシーを構成する必要があります。キーがクライアント (プレーヤー) に配信されるには、クライアントがこのコンテンツ キー承認ポリシーを満たしている必要があります。 コンテンツ キー承認ポリシーには、1 つまたは複数の承認制限 (オープン、トークン制限、IP 制限) を指定できます。 承認のオプションは、ContentKeyAuthorizationPolicyOption
を使用して指定します。 作成したそのオプションを ContentKeyAuthorizationPolicy
に追加してください。
Key Delivery サービスでは、15 分間、その関連オブジェクト (ポリシー オプションと制限) がキャッシュ ContentKeyAuthorizationPolicy
されることに注意してください。 を作成 ContentKeyAuthorizationPolicy
し、"トークン" 制限を使用するように指定し、それをテストし、ポリシーを "開く" 制限に更新すると、ポリシーがポリシーの "開く" バージョンに切り替わるまでに約 15 分かかります。
このトピックでは、ContentKeyAuthorizationPolicyOption
について説明すると共に、このエンティティの使用方法について説明します。 に関連付けるContentKeyAuthorizationPolicyOption
ContentKeyAuthorizationPolicy
方法を示すより完全な例については、「ContentKeyAuthorizationPolicy」を参照してください。
重要
Media Services でエンティティにアクセスするときは、HTTP 要求で特定のヘッダー フィールドと値を設定する必要があります。
詳細については、「 Media Services REST API 開発のセットアップ」および「Media Services REST APIを使用した Media Services への接続」を参照してください。
ContentKeyAuthorizationPolicyOption エンティティのプロパティ
プロパティ | Type | 説明 |
---|---|---|
Id 読み取り専用です。 Media Services で設定します。 |
Edm.String | 一意識別子。 |
Name |
Edm.String | 承認ポリシーのフレンドリ名。 |
KeyDeliveryType 必須。 |
Edm. Int32 | クライアントへのコンテンツ キーの配信方法。 KeyDeliveryType には、None = 0、PlayReadyLicense = 1、BaselineHttp = 2 のいずれかを指定できます。 |
KeyDeliveryConfiguration |
Edm.String | キーをクライアントに配信する方法を定義するキー配信タイプに固有の XML データ。 |
Restrictions 必須。 |
ContentKeyAuthorizationPolicyRestriction ComplexType プロパティのコレクション。 | キー配信データを使用してキーを配信するには、各制限で定義されている要件を満たす必要があります。 |
ContentKeyAuthorizationPolicyRestriction ComplexType のプロパティ
プロパティ | Type | 説明 |
---|---|---|
Name |
Edm.String | 制限のフレンドリ名。 |
KeyRestrictionType 必須。 |
Edm. Int32 | 制限の種類。 KeyRestrictionType には、Open = 0、TokenRestricted = 1、IPRestricted = 2 のいずれかを指定できます。 |
Requirements |
Edm. String | 制限の要件。 |
ContentKeyAuthorizationPolicyOption を作成します
次の例で作成する ContentKeyAuthorizationPolicyOption には、承認制限として Open
("KeyRestrictionType":0
) が、キー配信手法として MPEG ベースライン HTTP キー プロトコル BaselineHttp ("KeyDeliveryType":2
) の値が設定されています。 この例は、 Fiddler の [Composer] タブで試すことができます。
最新 x-ms-version:
の を取得するには、「 Media Services REST」を参照してください。
要求ヘッダー:
POST https://testrest.cloudapp.net/api/ContentKeyAuthorizationPolicyOptions HTTP/1.1
Content-Type: application/json
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json
Accept-Charset: UTF-8
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer <token value>
x-ms-version: 2.19
要求本文:
{
"Name":"policy",
"KeyDeliveryType":2,
"KeyDeliveryConfiguration":"",
"Restrictions":[
{
"Name":"HLS Open Authorization Policy",
"KeyRestrictionType":0,
"Requirements":null
}
]
}
成功すると、応答本文に HTTP/1.1 201 Created ステータス コードと、作成されたエンティティの表記が返されます。
次の例で作成する ContentKeyAuthorizationPolicyOption には、承認制限として Token
("KeyRestrictionType":1
) が、キー配信手法として MPEG ベースライン HTTP キー プロトコル BaselineHttp ("KeyDeliveryType":2
) の値が設定されています。
最新 x-ms-version:
の を取得するには、「 Media Services REST」を参照してください。
要求ヘッダー:
POST https:/testrest.cloudapp.net/api/ContentKeyAuthorizationPolicyOptions HTTP/1.1
Content-Type: application/json
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Accept: application/json
Accept-Charset: UTF-8
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer <token value>
x-ms-version: 2.19
要求本文:
{
"Name":"Token option for HLS",
"KeyDeliveryType":2,
"KeyDeliveryConfiguration":null,
"Restrictions":[
{
"Name":"Token Authorization Policy",
"KeyRestrictionType":1,
"Requirements":"<TokenRestrictionTemplate xmlns:i=\"https://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://schemas.microsoft.com/Azure/MediaServices/KeyDelivery/TokenRestrictionTemplate/v1\"><AlternateVerificationKeys><TokenVerificationKey i:type=\"SymmetricVerificationKey\"><KeyValue>dliLr1QQJrATxNuoss2Btvk1KxcDJDHvTgu7fII5LEMGAt1p6J1YAD7I0EVd6D69nEkNUlkSDXfgaJ3cswrf8g==</KeyValue></TokenVerificationKey></AlternateVerificationKeys><Audience>urn:test</Audience><Issuer>http://testacs.com/</Issuer><PrimaryVerificationKey i:type=\"SymmetricVerificationKey\"><KeyValue>tqdCrSPGDZYJ4l3YyWR1NH7OdTvucBm7bU/ZQKPszV/hR54saMgyJK9bA9bay996NtNpcA0OruHETvy885g46A==</KeyValue></PrimaryVerificationKey><RequiredClaims><TokenClaim><ClaimType>urn:microsoft:azure:mediaservices:contentkeyidentifier</ClaimType><ClaimValue i:nil=\"true\" /></TokenClaim></RequiredClaims><TokenType>JWT</TokenType></TokenRestrictionTemplate>"
}
]
}