Kurz: Použití klíče služby Key Vault k šifrování dat do účtu Media Services
logo
Varování
Služba Azure Media Services bude vyřazena 30. června 2024. Další informace naleznete v AMS Retirement Guide.
Poznámka
Spravované identity jsou dostupné jenom pro účty Media Services vytvořené pomocí rozhraní API v3. Pokud používáte rozhraní API v2 a chcete používat spravované identity, proveďte migraci z verze 2 na verzi 3 Migrace ze služby Media Services v2 do verze 3 úvodu.
Pokud chcete, aby služba Media Services šifruje data pomocí klíče ze služby Key Vault, musí být účet Media Services udělen přístup ke službě Key Vault. Pomocí následujícího postupu vytvořte spravovanou identitu pro účet Media Services a udělte této identitě přístup ke službě Key Vault pomocí rozhraní příkazového řádku služby Media Services.
V tomto kurzu se používá rozhraní API Media Services z 5. 5. 2020.
Přihlášení k Azure
Pokud chcete použít některý z příkazů v tomto článku, musíte být nejdřív přihlášeni k předplatnému, které chcete použít.
Přihlaste se k Azure. Když použijete tento příkaz, zobrazí se výzva k zadání předplatného, které chcete použít.
az login
Nastavení předplatného
Pomocí tohoto příkazu nastavte předplatné, se kterým chcete pracovat.
Nastavení předplatného Azure pomocí rozhraní příkazového řádku
V následujícím příkazu zadejte ID předplatného Azure, které chcete použít pro účet Media Services.
az account set --subscription <subscriptionName>
Názvy prostředků
Než začnete, rozhodněte se o názvech prostředků, které vytvoříte. Měly by být snadno identifikovatelné jako sada, zejména pokud je neplánujete používat po dokončení testování. Pravidla pojmenování se liší pro mnoho typů prostředků, takže je nejlepší držet se všech malých písmen. Například "mediatest1rg" pro název vaší skupiny prostředků a "mediatest1stor" pro název účtu úložiště. Pro každý krok v tomto článku použijte stejné názvy.
Na tyto názvy se odkazuje v následujících příkazech. Názvy prostředků, které budete potřebovat, jsou:
- myRG
- myStorageAccount
- myAmsAccount
- myKeyVault
- myKey
- umístění
Poznámka
Výše uvedené spojovníky slouží pouze k oddělení doprovodných slov. Vzhledem k nekonzistence pojmenování prostředků ve službách Azure nepoužívejte pomlčky při pojmenování prostředků. Název oblasti také nevytvoříte. Název oblasti je určen Azure.
Výpis oblastí Azure
Pokud si nejste jistí skutečným názvem oblasti, který chcete použít, použijte tento příkaz k získání výpisu:
Pomocí tohoto příkazu zobrazíte seznam oblastí dostupných pro váš účet.
az account list-locations --query "[].{DisplayName:displayName, Name:name}" -o table
Posloupnost
Každý z níže uvedených kroků se provádí v určitém pořadí, protože jedna nebo více hodnot z odpovědí JSON se používá v dalším kroku v posloupnosti.
Vytvoření účtu úložiště
Účet Media Services, který vytvoříte, musí mít přidružený účet úložiště. Nejprve vytvořte účet úložiště pro účet Media Services. K dalším krokům použijete your-storage-account-name
.
Vytvoření účtu Azure Storage pomocí rozhraní příkazového řádku
K vytvoření účtu Azure Storage použijte následující příkazy.
Pokud chcete vytvořit účet úložiště, musíte nejprve vytvořit skupinu prostředků v rámci umístění.
Pokud chcete zobrazit seznam dostupných umístění, použijte následující příkaz:
Výpis dostupných umístění pomocí rozhraní příkazového řádku
Pokud chcete zobrazit seznam dostupných umístění, použijte následující příkaz:
az account list-locations
Vytvoření skupiny prostředků pomocí rozhraní příkazového řádku
K vytvoření skupiny prostředků použijte následující příkaz:
az group create -n <resourceGroupName> --location chooseLocation
Volba skladové položky
Musíte také zvolit skladovou položku pro svůj účet úložiště. Můžete zobrazit seznam účtů úložiště.
V následujícím seznamu vyberte skladovou položku: Standard_LRS, Standard_GRS, Standard_RAGRS, Standard_ZRS, Premium_LRS, Premium_ZRS, Standard_GZRS, Standard_RAGZRS.
- Změňte
myStorageAccount
na jedinečný název s délkou menší než 24 znaků. - Změňte
chooseLocation
na oblast, ve které chcete pracovat. - Změňte
chooseSKU
na upřednostňovanou skladovou položku.
az storage account create -n <myStorageAccount> -g <resourceGroup> --location <chooseLocation> --sku <chooseSKU>
Vytvoření účtu Media Services s instančním objektem (spravovaná identita)
Teď vytvořte účet Media Services pomocí instančního objektu, jinak označovaného jako spravovaná identita.
Důležitý
Je důležité, abyste v příkazu použili příznak --mi. Jinak nebudete moct najít principalId
pro pozdější krok.
Následující příkaz Azure CLI vytvoří nový účet Media Services. Nahraďte následující hodnoty: your-media-services-account-name
your-storage-account-name
a your-resource-group-name
názvy, které chcete použít. Příkaz předpokládá, že jste už vytvořili skupinu prostředků a účet úložiště.
Poskytuje účtu Media Services spravovanou identitu přiřazenou systémem s příznakem --mi-system-assigned
.
az ams account create --name <your-media-services-account-name> --resource-group <your-resource-group-name> --mi-system-assigned --storage-account <your-storage-account-name>
Příklad odpovědi JSON:
{
"encryption": {
"keyVaultProperties": null,
"type": "SystemKey"
},
"id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/your-resource-group/providers/Microsoft.Media/mediaservices/your-media-services-account-name",
"identity": {
"principalId": "00000000-0000-0000-0000-00000000",
"tenantId": "00000000-0000-0000-0000-00000000",
"type": "SystemAssigned"
},
"location": "your-region",
"mediaServiceId": "00000000-0000-0000-0000-00000000",
"name": "your-media-services-account-name",
"resourceGroup": "your-resource-group",
"storageAccounts": [
{
"id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/mediatest1rg/providers/Microsoft.Storage/storageAccounts/your-storage-account-name",
"resourceGroup": "your-resource-group",
"type": "Primary"
}
],
"storageAuthentication": "System",
"systemData": {
"createdAt": "2021-05-14T21:25:12.3492071Z",
"createdBy": "you@example.com",
"createdByType": "User",
"lastModifiedAt": "2021-05-14T21:25:12.3492071Z",
"lastModifiedBy": "you@example.com",
"lastModifiedByType": "User"
},
"tags": null,
"type": "Microsoft.Media/mediaservices"
}
Vytvoření služby Key Vault
Vytvořte službu Key Vault. Key Vault se používá k šifrování mediálních dat. K vytvoření klíče a pozdějších kroků použijete your-keyvault-name
.
K vytvoření služby Key Vault a klíče použijte následující příkazy. Změňte your-resource-group-name
, your-keyvault-name
a your-key-name
na hodnoty, které chcete použít. Příkaz předpokládá, že jste už vytvořili skupinu prostředků.
Poznámka
--bypass AzureServices
umožňuje službě Media Services (a dalším službám Azure) přistupovat ke službě Key Vault, pokud by tento přístup normálně blokoval seznamy ACL sítě služby Key Vault, --enable-purge-protection
Pokud není nastavená, nebudete moct klíč používat.
Vytvoření služby Key Vault
az keyvault create --resource-group <your-resource-group-name> --bypass AzureServices --enable-purge-protection --name <your-keyvault-name>
Příklad odpovědi JSON:
{
"id": "/subscriptions/the-subscription-id/resourceGroups/your-resource-group-name/providers/Microsoft.KeyVault/vaults/your-keyvault-name",
"location": "your-region",
"name": "your-keyvault-name",
"properties": {
"accessPolicies": [
{
"applicationId": null,
"objectId": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"permissions": {
"certificates": [
"get",
"list",
"delete",
"create",
"import",
"update",
"managecontacts",
"getissuers",
"listissuers",
"setissuers",
"deleteissuers",
"manageissuers",
"recover"
],
"keys": [
"get",
"create",
"delete",
"list",
"update",
"import",
"backup",
"restore",
"recover"
],
"secrets": [
"get",
"list",
"set",
"delete",
"backup",
"restore",
"recover"
],
"storage": [
"get",
"list",
"delete",
"set",
"update",
"regeneratekey",
"setsas",
"listsas",
"getsas",
"deletesas"
]
},
"tenantId": "the-tenant-id"
}
],
"createMode": null,
"enablePurgeProtection": true,
"enableRbacAuthorization": null,
"enableSoftDelete": true,
"enabledForDeployment": false,
"enabledForDiskEncryption": null,
"enabledForTemplateDeployment": null,
"networkAcls": null,
"privateEndpointConnections": null,
"provisioningState": "Succeeded",
"sku": {
"name": "standard"
},
"softDeleteRetentionInDays": 90,
"tenantId": "the-tenant-id",
"vaultUri": "https://your-keyvault-name.vault.azure.net/"
},
"resourceGroup": "your-resource-group-name",
"tags": {},
"type": "Microsoft.KeyVault/vaults"
}
Vytvoření klíče
az keyvault key create --kty RSA --name your-key-name --vault-name your-keyvault-name
Příklad odpovědi JSON:
{
"attributes": {
"created": "2021-05-12T22:41:29+00:00",
"enabled": true,
"expires": null,
"notBefore": null,
"recoveryLevel": "Recoverable",
"updated": "2021-05-12T22:41:29+00:00"
},
"key": {
"crv": null,
"d": null,
"dp": null,
"dq": null,
"e": "AQAB",
"k": null,
"keyOps": [
"encrypt",
"decrypt",
"sign",
"verify",
"wrapKey",
"unwrapKey"
],
"kid": "https://your-keyvault-name.vault.azure.net/keys/your-key-name/your-subsription-id",
"kty": "RSA",
"n": "THISISTHEKEY51V9thvU7KsBUo/q1mEOcuxqt0qUcnx0IRO9YCL32fPjD/nnS8hKS5qkgUKfe2NRAtzVQ+elQAha65l7OsHu+TXmH/n/RPCgstpqSdCfiUR1JTmFYFRWdxCPwoKJMYaqlCEhn2Dkon3StTN0Id0sjRSA/YOLjgWU7YnVbntg5/048HgcTKn3PCWCuJc+P8hI/8Os5EAIpun62PffYwPX0/NIA1PY8wIB+sYEY0zxVGwWrCu7VgCo9xeqbMQEq5OenYmYpc+cjLozU/ohGhfWTpQU8d7fFypTHQraENDOFKEY",
"p": null,
"q": null,
"qi": null,
"t": null,
"x": null,
"y": null
},
"managed": null,
"tags": null
}
Udělení přístupu spravované identity přiřazené systémem Media Services ke službě Key Vault
Udělte spravované identitě Media Services přístup ke službě Key Vault. Existují dva příkazy:
Získání (zobrazení) spravované identity účtu Media Services
První příkaz níže zobrazuje spravovanou identitu účtu Media Services, což je principalId
uvedené v kódu JSON vráceného příkazem.
Tento příkaz zobrazí všechny vlastnosti účtu Media Services.
az ams account show --name <your-media-services-account-name> --resource-group <your-resource-group>
Poznámka
Pokud jste účtu Media Services přiřadili přístupové role, vrátí tento řádek "storageAuthentication": "ManagedIdentity"
.
Příklad odpovědi JSON:
{
"encryption": {
"keyVaultProperties": null,
"type": "SystemKey"
},
"id": "/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/your-resource-group-name/providers/Microsoft.Media/mediaservices/your-media-services-account",
"identity": {
"principalId": "ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0",
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"type": "SystemAssigned" //Type will show "Managed Identity" if you have assigned a role to the Media Services account.
},
"location": "your-region",
"mediaServiceId": "00000000-0000-0000-0000-000000000000",
"name": "your-media-services-account",
"resourceGroup": "your-resource-group-name",
"storageAccounts": [
{
"id": "/subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/your-resource-group-name/providers/Microsoft.Storage/storageAccounts/your-storage-account-name",
"resourceGroup": "your-resource-group-name",
"type": "Primary"
}
],
"storageAuthentication": "System", //If you have assigned access roles to the account, this line will return storageAuthentication": "ManagedIdentity"
"systemData": {
"createdAt": "2021-05-14T21:25:12.3492071Z",
"createdBy": "you@example.com",
"createdByType": "User",
"lastModifiedAt": "2021-05-14T21:25:12.3492071Z",
"lastModifiedBy": "you@example.com",
"lastModifiedByType": "User"
},
"tags": null,
"type": "Microsoft.Media/mediaservices"
}
Nastavení zásad služby Key Vault
Druhý příkaz udělí instančnímu ID přístup ke službě Key Vault. Nastavte object-id
na hodnotu principalId
, kterou jste získali z předchozího kroku.
Chcete-li použít tento příkaz, musíte zahrnout media Services principalId
jako object-id
. pokud jste to ještě neudělali, použijte az ams account show --name <your-media-services-account-name> --resource-group <your-resource-group>
k získání tohoto ID.
az keyvault set-policy --name <your-keyvault-name> --object-id <principalId> --key-permissions decrypt encrypt get list unwrapKey wrapKey
Příklad odpovědi JSON:
{
"id": "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.KeyVault/vaults/your-keyvault-name",
"location": "your-region",
"name": "your-keyvault-name",
"properties": {
"accessPolicies": [
{
"applicationId": null,
"objectId": "00000000-0000-0000-000000000000",
"permissions": {
"certificates": [
"get",
"list",
"delete",
"create",
"import",
"update",
"managecontacts",
"getissuers",
"listissuers",
"setissuers",
"deleteissuers",
"manageissuers",
"recover"
],
"keys": [
"get",
"create",
"delete",
"list",
"update",
"import",
"backup",
"restore",
"recover"
],
"secrets": [
"get",
"list",
"set",
"delete",
"backup",
"restore",
"recover"
],
"storage": [
"get",
"list",
"delete",
"set",
"update",
"regeneratekey",
"setsas",
"listsas",
"getsas",
"deletesas"
]
},
"tenantId": "00000000-0000-0000-000000000000"
},
{
"applicationId": null,
"objectId": "00000000-0000-0000-000000000000",
"permissions": {
"certificates": null,
"keys": [
"encrypt",
"get",
"list",
"wrapKey",
"decrypt",
"unwrapKey"
],
"secrets": null,
"storage": null
},
"tenantId": "00000000-0000-0000-000000000000"
}
],
"createMode": null,
"enablePurgeProtection": true,
"enableRbacAuthorization": null,
"enableSoftDelete": true,
"enabledForDeployment": false,
"enabledForDiskEncryption": null,
"enabledForTemplateDeployment": null,
"networkAcls": null,
"privateEndpointConnections": null,
"provisioningState": "Succeeded",
"sku": {
"name": "standard"
},
"softDeleteRetentionInDays": 90,
"tenantId": "00000000-0000-0000-000000000000",
"vaultUri": "https://your-keyvault-name.vault.azure.net/"
},
"resourceGroup": "your-resource-group-name",
"tags": {},
"type": "Microsoft.KeyVault/vaults"
}
Nastavení služby Media Services pro použití klíče ze služby Key Vault
Nastavte Media Services tak, aby používal klíč, který jste vytvořili. Hodnota vlastnosti key-identifier
pochází z výstupu při vytvoření klíče. Tento příkaz může selhat kvůli době, která trvá rozšíření změn řízení přístupu. Pokud k tomu dojde, zkuste to znovu za několik minut.
Pokud chcete tento příkaz použít, musíte už mít vytvořenou službu Key Vault a klíč.
az ams account encryption set --account-name <your-media-services-account-name> --resource-group <your-resource-group> --key-type CustomerKey --key-identifier https://<your-keyvault-name>.vault.azure.net/keys/<your-key-name>
Příklad odpovědi JSON:
{
"id": "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.KeyVault/vaults/your-keyvault-name",
"location": "your-region",
"name": "your-keyvault-name",
"properties": {
"accessPolicies": [
{
"applicationId": null,
"objectId": "00000000-0000-0000-000000000000",
"permissions": {
"certificates": [
"get",
"list",
"delete",
"create",
"import",
"update",
"managecontacts",
"getissuers",
"listissuers",
"setissuers",
"deleteissuers",
"manageissuers",
"recover"
],
"keys": [
"get",
"create",
"delete",
"list",
"update",
"import",
"backup",
"restore",
"recover"
],
"secrets": [
"get",
"list",
"set",
"delete",
"backup",
"restore",
"recover"
],
"storage": [
"get",
"list",
"delete",
"set",
"update",
"regeneratekey",
"setsas",
"listsas",
"getsas",
"deletesas"
]
},
"tenantId": "the-tenant-id"
},
{
"applicationId": null,
"objectId": "the-media-services-account-id",
"permissions": {
"certificates": null,
"keys": [
"encrypt",
"get",
"list",
"wrapKey",
"decrypt",
"unwrapKey"
],
"secrets": null,
"storage": null
},
"tenantId": "the-tenant-id"
}
],
"createMode": null,
"enablePurgeProtection": true,
"enableRbacAuthorization": null,
"enableSoftDelete": true,
"enabledForDeployment": false,
"enabledForDiskEncryption": null,
"enabledForTemplateDeployment": null,
"networkAcls": null,
"privateEndpointConnections": null,
"provisioningState": "Succeeded",
"sku": {
"name": "standard"
},
"softDeleteRetentionInDays": 90,
"tenantId": "the-tenant-id",
"vaultUri": "https://your-keyvault-name.vault.azure.net/"
},
"resourceGroup": "your-resource-group-name",
"tags": {},
"type": "Microsoft.KeyVault/vaults"
}
Validace
Pokud chcete ověřit, že je účet šifrovaný pomocí klíče spravovaného zákazníkem, zobrazte vlastnosti šifrování účtu:
Zobrazení šifrování účtu pomocí rozhraní příkazového řádku
Další informace o tomto příkazu najdete v referenčních informacích k rozhraní příkazového řádku služby Media Services .
Vlastnost type
by měla zobrazovat CustomerKey
a currentKeyIdentifier
by měla být nastavená na cestu ke klíči ve službě Key Vault zákazníka.
Vyčištění prostředků
Pokud neplánujete používat vytvořené prostředky, odstraňte skupinu prostředků.
Odstranění skupiny prostředků pomocí rozhraní příkazového řádku
az group delete --name <your-resource-group-name>
Získání nápovědy a podpory
Službu Media Services můžete kontaktovat s otázkami nebo postupovat podle našich aktualizací jedním z následujících způsobů:
- Q & A
-
Stack Overflow . Označte otázky pomocí
azure-media-services
. - @MSFTAzureMedia nebo pomocí @AzureSupport požádat o podporu.
- Otevřete lístek podpory prostřednictvím webu Azure Portal.