Tutorial: Mengakses penyimpanan dengan Identitas Terkelola Media Services
Peringatan
Azure Media Services akan dihentikan pada 30 Juni 2024. Untuk informasi selengkapnya, lihat Panduan Penghentian AMS.
Catatan
Identitas terkelola hanya tersedia untuk akun Azure Media Services yang dibuat menggunakan API v3. Jika Anda menggunakan API v2 dan ingin menggunakan identitas terkelola, lakukan migrasi dari v2 ke v3 Pengantar migrasi dari Media Services v2 ke v3.
Jika Anda ingin mengakses akun penyimpanan saat akun penyimpanan dikonfigurasi untuk memblokir permintaan dari alamat IP yang tidak dikenal, akun Media Services harus diberikan akses ke akun Penyimpanan. Ikuti langkah-langkah di bawah ini untuk membuat Identitas Terkelola untuk akun Media Services dan berikan akses identitas ini ke penyimpanan menggunakan CLI Media Services.
Tutorial ini menggunakan API Media Services 2020-05-01.
Gambaran Umum
Peringatan
Anda tidak dapat menggunakan URL JobInputHTTP atau SAS dengan akun penyimpanan yang tidak terkait dengan akun Azure Media Services. Ini dimaksudkan sebagai kenyamanan bagi pelanggan yang memiliki konten yang ada yang dapat diakses menggunakan HTTP, misalnya jika Anda memiliki file media di server yang menghadap publik atau disimpan dengan penyedia cloud lain. Jika Anda membangun solusi baru, gunakan Aset untuk input pekerjaan.
Untuk mengamankan akses ke akun penyimpanan yang digunakan oleh Azure Media Services:
- Konfigurasikan akun penyimpanan untuk menolak semua alamat IP (atau hanya mengizinkan alamat IP di jaringan pelanggan)
- Mengonfigurasi akun penyimpanan untuk mengizinkan akses ke “AzureServices”
- Azure Media Services dikonfigurasi untuk mengakses akun penyimpanan menggunakan Identitas Terkelola
- Mengunggah konten media ke Media Services Assets
- Buat pekerjaan pengodean yang menggunakan Media Services Assets sebagai input pekerjaan. JANGAN gunakan URL SAS atau JobInputHTTP.
Masuk ke Azure
Untuk menggunakan salah satu perintah dalam artikel ini, pertama-tama Anda harus masuk ke langganan yang ingin Anda gunakan.
Masuk ke Azure. Saat Anda menggunakan perintah ini, Anda akan diminta untuk berlangganan yang ingin Anda gunakan.
az login
Atur langganan
Jalankan perintah berikut untuk memilih langganan yang ingin Anda kerjakan.
Mengatur langganan Azure dengan CLI
Dalam perintah berikut ini, berikan ID langganan Azure yang ingin Anda gunakan untuk akun Media Services.
az account set --subscription <subscriptionName>
Nama sumber daya
Sebelum memulai, tentukan nama sumber daya yang akan Anda buat. Mereka harus mudah diidentifikasi sebagai satu set, terutama jika Anda tidak berencana untuk menggunakannya setelah Anda selesai pengujian. Aturan penamaan berbeda untuk banyak jenis sumber daya sehingga yang terbaik adalah tetap dengan semua huruf kecil. Misalnya, "mediatest1rg" untuk nama grup sumber daya Anda dan "mediatest1stor" untuk nama akun penyimpanan Anda. Gunakan nama yang sama untuk setiap langkah dalam artikel ini.
Anda akan melihat nama-nama ini direferensikan dalam perintah di bawah ini. Nama sumber daya yang Anda perlukan adalah:
- myRG
- myStorageAccount
- myAmsAccount
- lokasi
Catatan
Tanda hubung di atas hanya digunakan untuk memisahkan kata-kata penjelas. Karena ketidakkonsistenan penamaan sumber daya di layanan Azure, jangan gunakan tanda hubung saat Anda memberi nama sumber daya Anda. Selain itu, Anda tidak membuat nama wilayah. Nama wilayah ditentukan oleh Azure.
Daftar wilayah Azure
Jika Anda tidak yakin nama kawasan aktual untuk digunakan, gunakan perintah ini untuk mendapatkan daftar:
Gunakan perintah ini untuk mencantumkan wilayah yang tersedia untuk akun Anda.
az account list-locations --query "[].{DisplayName:displayName, Name:name}" -o table
Urutan
Setiap langkah di bawah ini dilakukan dalam urutan tertentu karena satu atau beberapa nilai dari respons JSON digunakan dalam langkah berikutnya dalam urutan.
Membuat akun Penyimpanan
Akun Media Services yang akan Anda buat harus memiliki akun penyimpanan yang terkait dengannya. Buat akun penyimpanan untuk akun Media Services terlebih dahulu. Anda akan menggunakan nama akun penyimpanan yang menggantikan myStorageAccount
untuk langkah selanjutnya.
Membuat akun Azure Storage dengan CLI
Gunakan perintah berikut untuk membuat akun Azure Storage.
Untuk membuat akun penyimpanan, Anda harus terlebih dahulu membuat grup sumber daya dalam suatu lokasi.
Untuk mencantumkan lokasi yang tersedia, gunakan perintah berikut:
Mencantumkan lokasi yang tersedia dengan CLI
Untuk mencantumkan lokasi yang tersedia, gunakan perintah berikut:
az account list-locations
Membuat grup sumber daya dengan CLI
Untuk membuat grup sumber daya, gunakan perintah berikut:
az group create -n <resourceGroupName> --location chooseLocation
Pilih SKU
Anda juga perlu memilih SKU untuk akun penyimpanan. Anda dapat mencantumkan akun penyimpanan.
Pilih SKU dari daftar berikut: Standard_LRS, Standard_GRS, Standard_RAGRS, Standard_ZRS, Premium_LRS, Premium_ZRS, Standard_GZRS, Standard_RAGZRS.
- Ubah
myStorageAccount
menjadi nama unik dengan panjang kurang dari 24 karakter. - Ubah
chooseLocation
menjadi wilayah tempat Anda ingin bekerja. - Ubah
chooseSKU
menjadi SKU pilihan Anda.
az storage account create -n <myStorageAccount> -g <resourceGroup> --location <chooseLocation> --sku <chooseSKU>
Membuat akun Media Services dengan Perwakilan Layanan (Identitas Terkelola)
Sekarang buat akun Media Services dengan Perwakilan Layanan, atau dikenal sebagai Identitas Terkelola.
Penting
Penting bagi Anda untuk ingat untuk menggunakan bendera --mi dalam perintah. Jika tidak, Anda tidak akan dapat menemukan principalId
untuk langkah selanjutnya.
Perintah Azure CLI berikut membuat akun Layanan Media baru. Ganti nilai berikut: your-media-services-account-name
your-storage-account-name
, dan your-resource-group-name
dengan nama yang ingin Anda gunakan. Perintah mengasumsikan bahwa Anda telah membuat grup sumber daya dan akun Penyimpanan.
Hal ini memberi akun Media Services identitas terkelola yang ditetapkan sistem dengan bendera --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>
Contoh respons 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"
}
Memberikan akses Identitas Terkelola Media Services ke akun Penyimpanan
Berikan akses Identitas Terkelola Media Services ke akun Penyimpanan. Ada tiga perintah:
Dapatkan (memperlihatkan) Identitas Terkelola dari akun Media Services
Perintah pertama di bawah ini menunjukkan Identitas Terkelola dari akun Media Services yang merupakan principalId
yang tercantum dalam JSON yang dikembalikan oleh perintah.
Perintah ini memperlihatkan semua properti akun Media Services.
az ams account show --name <your-media-services-account-name> --resource-group <your-resource-group>
Catatan
Jika Anda memiliki peran akses yang ditetapkan ke akun Media Services, baris ini akan menghasilkan "storageAuthentication": "ManagedIdentity"
.
Contoh respons JSON:
{
"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"
}
Membuat penetapan peran Kontributor Blob Penyimpanan
Perintah berikut membuat peran Kontributor Blob Penyimpanan.
Ubah assignee
menjadi principalId
. Perintah mengasumsikan bahwa Anda telah membuat grup sumber daya dan akun Penyimpanan. Gunakan your-resource-group-name
dan your-storage-account-name
sebagai bagian dari nilai scope
seperti yang ditunjukkan pada perintah di bawah ini:
az role assignment create --assignee 00000000-0000-0000-000000000000 --role "Storage Blob Data Contributor" --scope "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/<your-resource-group-name>/providers/Microsoft.Storage/storageAccounts/<your-storage-account-name>"
Example JSON response:
{
"canDelegate": null,
"condition": null,
"conditionVersion": null,
"description": null,
"id": "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.Storage/storageAccounts/your-storage-account-name/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-000000000000",
"name": "00000000-0000-0000-000000000000",
"principalId": "00000000-0000-0000-000000000000",
"principalType": "ServicePrincipal",
"resourceGroup": "your-resource-group-name",
"roleDefinitionId": "/subscriptions/00000000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-000000000000",
"scope": "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.Storage/storageAccounts/your-storage-account-name",
"type": "Microsoft.Authorization/roleAssignments"
}
Membuat penetapan Peran Pembaca
Perintah berikut membuat peran Pembaca.
Ubah assignee
menjadi principalId
. Perintah mengasumsikan bahwa Anda telah membuat grup sumber daya dan akun Penyimpanan. Gunakan your-resource-group-name
dan your-storage-account-name
sebagai bagian dari nilai scope
seperti yang ditunjukkan pada perintah di bawah ini:
az role assignment create --assignee 00000000-0000-0000-000000000000 --role "Reader" --scope "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.Storage/storageAccounts/your-storage-account-name"
Example JSON response:
{
"canDelegate": null,
"condition": null,
"conditionVersion": null,
"description": null,
"id": "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.Storage/storageAccounts/your-storage-account-name/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-000000000000",
"name": "00000000-0000-0000-000000000000",
"principalId": "00000000-0000-0000-000000000000",
"principalType": "Reader",
"resourceGroup": "your-resource-group-name",
"roleDefinitionId": "/subscriptions/00000000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-000000000000",
"scope": "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/your-resource-group-name/providers/Microsoft.Storage/storageAccounts/your-storage-account-name",
"type": "Microsoft.Authorization/roleAssignments"
}
Menggunakan Identitas Terkelola untuk mengakses akun Penyimpanan
Perintah berikut ini memberikan akses Identitas Terkelola Azure Media Services ke akun penyimpanan.
Dalam perintah di bawah ini, ubah your-resource-group-name
ke nama grup sumber daya, dan your-media-services-account-name
ke nama akun Azure Media Services yang ingin Anda kerjakan:
az ams account storage set-authentication --storage-auth ManagedIdentity --resource-group <your-resource-group_name> --account-name <your-media-services-account-name>
Contoh respons JSON:
{
"encryption": {
"keyVaultProperties": null,
"type": "SystemKey"
},
"id": "/subscriptions/00000000-0000-0000-00000000/resourceGroups/your-resource-group-name/providers/Microsoft.Media/mediaservices/your-storage-account-name",
"identity": null,
"location": "West US 2",
"mediaServiceId": "00000000-0000-0000-00000000",
"name": "your-media-services-account",
"resourceGroup": "your-resource-group-name",
"storageAccounts": [
{
"id": "/subscriptions/2b461b25-f7b4-4a22-90cc-d640a14b5471/resourceGroups/your-resource-group-name/providers/Microsoft.Storage/storageAccounts/your-storage-account-name",
"resourceGroup": "your-resource-group-name",
"type": "Primary"
}
],
"storageAuthentication": "ManagedIdentity",
"systemData": {
"createdAt": "2021-05-17T19:15:00.8850297Z",
"createdBy": "you@example.com",
"createdByType": "User",
"lastModifiedAt": "2021-05-17T21:23:11.3863627Z",
"lastModifiedBy": "you@example.com",
"lastModifiedByType": "User"
},
"tags": null,
"type": "Microsoft.Media/mediaservices"
}
Validasi
Untuk memverifikasi bahwa akun dienkripsi menggunakan Kunci Terkelola Pelanggan, lihat properti enkripsi akun:
Perintah ini memperlihatkan semua properti akun Media Services.
az ams account show --name <your-media-services-account-name> --resource-group <your-resource-group>
Catatan
Jika Anda memiliki peran akses yang ditetapkan ke akun Media Services, baris ini akan menghasilkan "storageAuthentication": "ManagedIdentity"
.
Contoh respons JSON:
{
"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"
}
Properti storageAuthentication
harus menampilkan "ManagedIdentity".
Untuk validasi tambahan, Anda dapat memeriksa log Azure Storage untuk melihat metode autentikasi mana yang digunakan untuk setiap permintaan.
Membersihkan sumber daya
Jika Anda tidak berencana menggunakan sumber daya yang Anda buat, hapus grup sumber daya.
Menghapus grup sumber daya dengan CLI
az group delete --name <your-resource-group-name>
Dapatkan bantuan dan dukungan
Anda dapat menghubungi Media Services dengan pertanyaan atau mengikuti pembaruan kami dengan salah satu metode berikut:
- T & A
- Stack Overflow. Beri tag pertanyaan dengan
azure-media-services
. - @MSFTAzureMedia atau gunakan @AzureSupport untuk meminta dukungan.
- Buka tiket dukungan melalui portal Azure.