Oktatóanyag: Adatok titkosítása Key Vault kulccsal Media Services-fiókba

Media Services embléma v3


Figyelmeztetés

Az Azure Media Services 2024. június 30-án megszűnik. További információkért lásd az AMS kivezetési útmutatóját.

Megjegyzés

A felügyelt identitások csak a v3 API használatával létrehozott Media Services-fiókokhoz érhetők el. Ha a v2 API-t használja, és felügyelt identitásokat szeretne használni, migráljon a v2-ről a v3-ra Migrálás Media Services v2-ről v3-ra – bevezetés.

Ha azt szeretné, hogy a Media Services a Key Vault kulcsával titkosítsa az adatokat, a Media Services-fióknak hozzáférést kell biztosítani a Key Vault. Az alábbi lépéseket követve hozzon létre egy felügyelt identitást a Media Services-fiókhoz, és adjon hozzáférést az identitásnak a Key Vault a Media Services parancssori felületével.

A Media Services-fiók Key Vault használ felügyelt identitással

Ez az oktatóanyag a 2020-05-01 Media Services API-t használja.

Bejelentkezés az Azure-ba

A cikkben szereplő parancsok bármelyikének használatához először be kell jelentkeznie a használni kívánt előfizetésbe.

Jelentkezzen be az Azure-ba. A parancs használatakor a rendszer kérni fogja a használni kívánt előfizetést.

az login

Előfizetés beállítása

Ezzel a paranccsal állíthatja be a használni kívánt előfizetést.

Az Azure-előfizetés beállítása a parancssori felülettel

Az alábbi parancsban adja meg a Media Services-fiókhoz használni kívánt Azure-előfizetés azonosítóját.

az account set --subscription <subscriptionName>

Erőforrások neve

Az első lépések előtt döntse el a létrehozni kívánt erőforrások nevét. Ezeknek könnyen azonosíthatóknak kell lenniük készletként, különösen akkor, ha a tesztelés befejezése után nem tervezi használni őket. Az elnevezési szabályok számos erőforrástípus esetében eltérőek, ezért érdemes az összes kisbetűs szabályt betartani. Az erőforráscsoport neve például "mediatest1rg", a tárfiók neve pedig "mediatest1stor". A cikk minden lépéséhez ugyanazokat a neveket használja.

Ezekre a nevekre az alábbi parancsok hivatkoznak. A szükséges erőforrások nevei a következők:

  • myRG
  • myStorageAccount
  • myAmsAccount
  • myKeyVault
  • myKey
  • location

Megjegyzés

A fenti kötőjelek csak az útmutató szavak elválasztására szolgálnak. Az Azure-szolgáltatásokban az erőforrások elnevezésének inkonzisztenciája miatt ne használjon kötőjeleket az erőforrások elnevezésekor. Emellett nem hozza létre a régió nevét. A régió nevét az Azure határozza meg.

Azure-régiók listázása

Ha nem biztos abban, hogy a tényleges régiónevet kell használnia, a következő paranccsal kérhet le egy listát:

Ezzel a paranccsal listázhatja a fiókjához elérhető régiókat.

az account list-locations --query "[].{DisplayName:displayName, Name:name}" -o table

Sequence

Az alábbi lépések mindegyike egy adott sorrendben történik, mert a JSON-válaszokból egy vagy több érték lesz felhasználva a sorozat következő lépésében.

Storage-fiók létrehozása

A létrehozandó Media Services-fiókhoz társítva kell lennie egy tárfióknak. Először hozza létre a Media Services-fiókhoz tartozó tárfiókot. Ezt a következő lépésekhez fogja használni your-storage-account-name .

Azure Storage-fiók létrehozása a parancssori felülettel

Az alábbi parancsokkal hozzon létre egy Azure Storage-fiókot.

Tárfiók létrehozásához először létre kell hoznia egy erőforráscsoportot egy helyen belül.

Az elérhető helyek listázásához használja a következő parancsot:

Elérhető helyek listázása a parancssori felülettel

Az elérhető helyek listázásához használja a következő parancsot:

az account list-locations

Erőforráscsoport létrehozása a parancssori felülettel

Egy erőforráscsoport létrehozásához használja a következő parancsot:

az group create -n <resourceGroupName> --location chooseLocation

SKU kiválasztása

Emellett ki kell választania egy termékváltozatot a tárfiókjához. A tárfiókokat listázhatja.

Válasszon termékváltozatot a következő listában: Standard_LRS, Standard_GRS, Standard_RAGRS, Standard_ZRS, Premium_LRS, Premium_ZRS, Standard_GZRS, Standard_RAGZRS.

  • Váltson myStorageAccount 24 karakternél rövidebb hosszúságú egyedi névre.
  • Váltson chooseLocation arra a régióra, amelyben dolgozni szeretne.
  • Váltson chooseSKU az előnyben részesített termékváltozatra.
az storage account create -n <myStorageAccount> -g <resourceGroup>  --location <chooseLocation> --sku <chooseSKU>

Media Services-fiók létrehozása szolgáltatásnévvel (felügyelt identitással)

Most hozza létre a Media Services-fiókot egy szolgáltatásnévvel, más néven felügyelt identitással.

Fontos

Fontos, hogy ne felejtse el használni a --mi jelzőt a parancsban. Ellenkező esetben nem fogja tudni megkeresni a principalId következőt egy későbbi lépéshez.

Az alábbi Azure CLI-parancs egy új Media Services-fiókot hoz létre. Cserélje le a következő értékeket: your-media-services-account-nameyour-storage-account-name, és your-resource-group-name értéket a használni kívánt nevekre. A parancs feltételezi, hogy már létrehozott egy erőforráscsoportot és egy Tárfiókot.

Ez egy rendszer által hozzárendelt felügyelt identitást ad a Media Services-fióknak a --mi-system-assigned jelzővel.


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élda JSON-válaszra:

{
  "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"
}

Kulcstartó létrehozása

Hozza létre a Key Vault. A Key Vault a médiaadatok titkosítására szolgál. A használatával your-keyvault-name hozhatja létre a kulcsot, és további lépésekhez is használhatja.

Az alábbi parancsokkal hozzon létre egy Key Vault és kulcsot. Módosítsa your-resource-group-namea és your-key-nameyour-keyvault-name a értéket a használni kívánt értékekre. A parancs feltételezi, hogy már létrehozott egy erőforráscsoportot.

Megjegyzés

A --bypass AzureServices lehetővé teszi, hogy a Media Services (és más Azure-szolgáltatások) hozzáférjenek a Key Vault, ha ezt a hozzáférést általában blokkolják a Key Vault hálózati ACL-ek. Ha --enable-purge-protection nincs beállítva, nem fogja tudni használni a kulcsot.

A Key Vault létrehozása


az keyvault create --resource-group <your-resource-group-name> --bypass AzureServices --enable-purge-protection --name <your-keyvault-name>

Példa JSON-válaszra:

{
  "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": "00000000-0000-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"
      }
    ],
    "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"
}

A kulcs létrehozása

az keyvault key create --kty RSA --name your-key-name --vault-name your-keyvault-name

Példa JSON-válaszra:


{
  "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
}

Hozzáférés biztosítása a Media Services rendszer által hozzárendelt felügyelt identitásnak a Key Vault

Adjon hozzáférést a Media Services felügyelt identitásának a Key Vault. Két parancs van:

A Media Services-fiók felügyelt identitásának lekérése (megjelenítése)

Az alábbi első parancs a Media Services-fiók felügyelt identitását mutatja, amely a principalId parancs által visszaadott JSON-fájlban szerepel.

Ez a parancs egy Media Services-fiók összes tulajdonságát megjeleníti.

az ams account show --name <your-media-services-account-name> --resource-group <your-resource-group>

Megjegyzés

Ha hozzáférési szerepköröket rendelt a Media Services-fiókhoz, ez a sor a következőt adja vissza "storageAuthentication": "ManagedIdentity": .

Példa JSON-válaszra:

{
  "encryption": {
    "keyVaultProperties": null,
    "type": "SystemKey"
  },
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.Media/mediaservices/your-media-services-account",
  "identity": {
    "principalId": "00000000-0000-0000-0000-000000000000",
    "tenantId": "00000000-0000-0000-0000-000000000000",
    "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/00000000-0000-0000-0000-000000000000/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"
}

A Key Vault szabályzat beállítása

A második parancs hozzáférést biztosít az egyszerű azonosítónak a Key Vault. Állítsa be object-id azt az értéket principalId , amelynek az előző lépésből származik.

A parancs használatához a Media Servicest principalId kell tartalmaznia a object-idkövetkezőként: . ha még nem tette meg, használja az ams account show --name <your-media-services-account-name> --resource-group <your-resource-group> ezt az azonosítót.

az keyvault set-policy --name <your-keyvault-name> --object-id <principalId> --key-permissions decrypt encrypt get list unwrapKey wrapKey

Példa JSON-válaszra:

{
  "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"
}

A Media Services beállítása a kulcs használatára a Key Vault

Állítsa be a Media Servicest a létrehozott kulcs használatára. A tulajdonság értéke a key-identifier kulcs létrehozásakor kapott kimenetből származik. Ez a parancs a hozzáférés-vezérlési módosítások propagálásához szükséges idő miatt meghiúsulhat. Ha ez történik, próbálkozzon újra néhány perc múlva.

A parancs használatához már létre kell hoznia egy Key Vault és egy kulcsot.

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élda JSON-válaszra:

{
  "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"
}

Érvényesítés

Ha ellenőrizni szeretné, hogy a fiók ügyfél által felügyelt kulccsal van-e titkosítva, tekintse meg a fiók titkosítási tulajdonságait:

Fióktitkosítás megjelenítése a parancssori felülettel

A parancsról további információt a Media Services parancssori felületének referenciájában talál.

A type tulajdonságnak meg kell jelennieCustomerKey, és a currentKeyIdentifier értéket az ügyfél Key Vault egy kulcs elérési útjára kell állítania.

Az erőforrások eltávolítása

Ha nem tervezi használni a létrehozott erőforrásokat, törölje az erőforráscsoportot.

Erőforráscsoport törlése a parancssori felülettel

az group delete --name <your-resource-group-name>

Súgó és támogatás

Kérdéseket tehet fel a Media Serviceshez, vagy kövesse a frissítéseket az alábbi módszerek egyikével: