Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini memperlihatkan cara menerapkan peran pemantauan kontrol akses berbasis peran (RBAC) untuk memberikan atau membatasi akses, dan membahas pertimbangan keamanan untuk sumber daya terkait Azure Monitor Anda.
Peran pemantauan bawaan
Kontrol akses berbasis peran Azure (Azure RBAC) menyediakan peran bawaan untuk pemantauan yang dapat Anda tetapkan kepada pengguna, grup, perwakilan layanan, dan identitas terkelola. Peran yang paling umum adalah Pembaca Pemantauan dan Kontributor Pemantauan untuk izin baca dan tulis. Saat menetapkan peran, Anda dapat menentukan cakupan penetapan peran. Peran dapat ditetapkan di tingkat langganan, grup sumber daya, atau sumber daya. Semakin luas cakupannya, semakin banyak sumber daya yang diterapkan penetapan peran. Pastikan Anda menetapkan peran pada cakupan yang sesuai untuk membatasi akses hanya ke sumber daya yang perlu diakses pengguna.
Untuk informasi selengkapnya tentang peran pemantauan, lihat Peran Pemantauan RBAC.
Sistem Pemantauan Pembaca
Orang yang diberi peran Pembaca Pemantauan dapat melihat semua data pemantauan dalam langganan tetapi tidak dapat mengubah sumber daya apa pun atau mengedit pengaturan apa pun yang terkait dengan sumber daya pemantauan. Peran ini sesuai untuk pengguna dalam organisasi, seperti teknisi pendukung atau operasi, yang memerlukan:
- Lihat dasbor pemantauan di portal Microsoft Azure.
- Lihat aturan pemberitahuan yang ditentukan dalam pemberitahuan Azure.
- Kueri Metrik Azure Monitor dengan menggunakan REST API Azure Monitor, cmdlet PowerShell, atau CLI lintas platform.
- Kueri log Aktivitas dengan menggunakan portal, REST API Azure Monitor, cmdlet PowerShell, atau CLI lintas platform.
- Tampilkan pengaturan diagnostik untuk sumber daya.
- Tampilkan profil log untuk langganan.
- Tampilkan pengaturan skala otomatis.
- Tampilkan aktivitas dan pengaturan pemberitahuan.
- Cari data di ruang kerja Log Analytics, termasuk data penggunaan untuk ruang kerja.
- Ambil skema tabel di ruang kerja Analitik Log.
- Ambil dan jalankan kueri log di workspace Log Analytics.
- Mengakses data dari Application Insights.
Nota
Peran ini tidak memberikan akses baca ke data log yang telah di streaming ke hub peristiwa atau disimpan di akun penyimpanan. Untuk informasi tentang cara mengonfigurasi akses ke sumber daya ini, lihat bagian Pertimbangan keamanan untuk memantau data nanti di artikel ini.
Kontributor untuk Pemantauan
Orang yang diberi peran Kontributor Pemantauan dapat melihat semua data pemantauan dalam langganan. Mereka juga dapat membuat atau mengubah pengaturan pemantauan, tetapi mereka tidak dapat mengubah sumber daya lainnya.
Peran ini lebih luas dari peran Pembaca Monitoring. Hal ini sesuai untuk anggota tim pemantau organisasi atau penyedia layanan terkelola yang, selain izin yang disebutkan sebelumnya, perlu untuk:
- Lihat dasbor pemantauan di portal dan buat dasbor pemantauan pribadi mereka sendiri.
- Buat dan edit pengaturan diagnostik untuk sumber daya. 1
- Atur aktivitas dan pengaturan aturan pemberitahuan menggunakan pemberitahuan Azure.
- Mencantumkan kunci berbagi untuk sebuah ruang kerja Log Analytics.
- Buat, hapus, dan jalankan pencarian tersimpan di ruang kerja Analitik Log.
- Buat dan hapus konfigurasi penyimpanan ruang kerja untuk Analitik Log.
- Buat pengujian web dan komponen untuk Application Insights.
1 Untuk membuat atau mengedit pengaturan diagnostik, pengguna juga harus secara terpisah diberikan izin ListKeys pada sumber daya target (akun penyimpanan atau namespace pusat aktivitas).
Nota
Peran ini tidak memberikan akses baca ke data log yang telah di streaming ke hub peristiwa atau disimpan di akun penyimpanan. Untuk informasi tentang cara mengonfigurasi akses ke sumber daya ini, lihat bagian Pertimbangan keamanan untuk memantau data nanti di artikel ini.
Izin pemantauan dan peran kustom Azure
Jika peran bawaan tidak memenuhi kebutuhan tim Anda, Anda dapat membuat peran kustom Azure dengan izin terperinci.
Misalnya, Anda dapat menggunakan izin terperinci untuk membuat peran kustom Azure untuk Pembaca Log Aktivitas dengan skrip PowerShell berikut.
$role = Get-AzRoleDefinition "Reader"
$role.Id = $null
$role.Name = "Activity Log Reader"
$role.Description = "Can view activity logs."
$role.Actions.Clear()
$role.Actions.Add("Microsoft.Insights/eventtypes/*")
$role.AssignableScopes.Clear()
$role.AssignableScopes.Add("/subscriptions/mySubscription")
New-AzRoleDefinition -Role $role
Nota
Akses ke pemberitahuan, pengaturan diagnostik, dan metrik untuk sumber daya mengharuskan pengguna memiliki akses baca ke jenis sumber daya dan cakupan sumber daya tersebut. Membuat pengaturan diagnostik yang mengirim data ke akun penyimpanan atau streaming ke hub peristiwa mengharuskan pengguna juga memiliki izin ListKeys pada sumber daya target.
Menetapkan peran
Untuk menetapkan peran, lihat Menetapkan peran Azure menggunakan Azure PowerShell.
Misalnya, skrip PowerShell berikut menetapkan peran ke pengguna tertentu.
Ganti <RoleId> dengan ID Peran Pemantauan RBAC yang ingin Anda tetapkan.
Ganti <SubscriptionID>, <ResourceGroupName>, dan <UserPrincipalName> dengan nilai yang sesuai untuk lingkungan Anda.
# Define variables
$SubscriptionId = "<SubscriptionID>"
$ResourceGroupName = "<ResourceGroupName>"
$UserPrincipalName = "<UserPrincipalName>" # The UPN of the user to whom you want to assign the role
$RoleId = "<RoleId>" # The ID of the role
# Get the user object
$User = Get-AzADUser -UserPrincipalName $UserPrincipalName
# Define the scope (e.g., subscription or resource group level)
$Scope = "/subscriptions/$SubscriptionId/resourceGroups/$ResourceGroupName"
# Assign the role
New-AzRoleAssignment -ObjectId $User.Id -RoleDefinitionId $RoleId -Scope $Scope
Anda juga dapat Menetapkan peran Azure dengan menggunakan portal Azure.
Penting
- Pastikan Anda memiliki izin yang diperlukan untuk menetapkan peran dalam cakupan yang ditentukan. Anda harus memiliki hak Pemilik atas langganan atau grup sumber daya.
- Tetapkan akses di grup sumber daya atau langganan tempat sumber daya Anda berada, bukan di sumber daya itu sendiri.
Kueri PowerShell untuk menentukan keanggotaan peran
Hal ini dapat membantu untuk menghasilkan daftar pengguna yang termasuk dalam peran tertentu. Untuk membantu menghasilkan jenis daftar ini, kueri sampel berikut dapat disesuaikan agar sesuai dengan kebutuhan spesifik Anda.
Kueri seluruh langganan untuk peran Admin + peran Kontributor
(Get-AzRoleAssignment -IncludeClassicAdministrators | Where-Object {$_.RoleDefinitionName -in @('ServiceAdministrator', 'CoAdministrator', 'Owner', 'Contributor') } | Select -ExpandProperty SignInName | Sort-Object -Unique) -Join ", "
Kueri dalam konteks sumber daya Application Insights tertentu untuk pemilik dan kontributor
$resourceGroup = "ResourceGroupName"
$resourceName = "AppInsightsName"
$resourceType = "microsoft.insights/components"
(Get-AzRoleAssignment -ResourceGroup $resourceGroup -ResourceType $resourceType -ResourceName $resourceName | Where-Object {$_.RoleDefinitionName -in @('Owner', 'Contributor') } | Select -ExpandProperty SignInName | Sort-Object -Unique) -Join ", "
Kueri dalam konteks grup sumber daya tertentu untuk pemilik dan kontributor
$resourceGroup = "ResourceGroupName"
(Get-AzRoleAssignment -ResourceGroup $resourceGroup | Where-Object {$_.RoleDefinitionName -in @('Owner', 'Contributor') } | Select -ExpandProperty SignInName | Sort-Object -Unique) -Join ", "
Pertimbangan keamanan untuk data pemantauan
Data di Azure Monitor dapat dikirim di akun penyimpanan atau dialirkan ke pusat aktivitas, yang keduanya merupakan sumber daya Azure tujuan umum. Menjadi sumber daya tujuan umum, membuat, menghapus, dan mengaksesnya adalah operasi istimewa yang disediakan untuk administrator. Karena data ini dapat berisi informasi sensitif seperti alamat IP atau nama pengguna, gunakan praktik berikut untuk memantau sumber daya terkait untuk mencegah penyalahgunaan:
- Gunakan satu akun penyimpanan khusus untuk data pemantauan. Jika Anda perlu memisahkan data pemantauan ke dalam beberapa akun penyimpanan, akun penyimpanan harus digunakan hanya untuk memantau data. Jika Anda berbagi akun penyimpanan untuk pemantauan dan jenis data lainnya, Anda mungkin secara tidak sengaja memberikan akses ke data lain ke organisasi yang seharusnya hanya mengakses data pemantauan. Misalnya, organisasi non-Microsoft untuk informasi keamanan dan manajemen peristiwa seharusnya hanya memerlukan akses ke data pemantauan.
- Gunakan namespace service bus atau event hub tunggal, khusus di semua pengaturan diagnostik Anda untuk alasan yang sama seperti yang dijelaskan di poin sebelumnya.
- Batasi akses ke akun penyimpanan terkait pemantauan atau hub peristiwa dengan menyimpannya dalam grup sumber daya terpisah. Gunakan cakupan pada peran pemantauan Anda untuk membatasi akses hanya ke grup sumber daya tersebut.
- Anda tidak boleh memberikan izin ListKeys untuk akun penyimpanan atau hub peristiwa pada cakupan langganan saat pengguna hanya memerlukan akses ke data pemantauan. Sebagai gantinya, berikan izin ini kepada pengguna di sumber daya atau cakupan grup sumber daya (jika Anda memiliki grup sumber daya pemantauan khusus).
Membatasi akses ke akun penyimpanan terkait pemantauan
Saat pengguna atau aplikasi memerlukan akses ke data pemantauan di akun penyimpanan, buat tanda tangan akses bersama (SAS) pada akun penyimpanan yang berisi data pemantauan dengan akses hanya-baca tingkat layanan ke penyimpanan blob. Di PowerShell, akun SAS (Shared Access Signature) mungkin terlihat seperti kode berikut:
$context = New-AzStorageContext -ConnectionString "[connection string for your monitoring Storage Account]"
$token = New-AzStorageAccountSASToken -ResourceType Service -Service Blob -Permission "rl" -Context $context
Anda kemudian dapat memberikan token ke entitas yang perlu membaca dari akun penyimpanan tersebut. Entitas dapat membuat daftar dan membaca dari semua blob di akun penyimpanan itu.
Atau, jika Anda perlu mengontrol izin ini dengan Azure RBAC, Anda dapat memberikan entitas tersebut izin Microsoft.Storage/storageAccounts/listkeys/action pada akun penyimpanan tertentu tersebut. Izin ini diperlukan bagi pengguna yang perlu mengatur pengaturan diagnostik untuk mengirim data ke akun penyimpanan. Misalnya, Anda dapat membuat peran kustom Azure berikut untuk pengguna atau aplikasi yang perlu membaca hanya dari satu akun penyimpanan:
$role = Get-AzRoleDefinition "Reader"
$role.Id = $null
$role.Name = "Monitoring Storage Account Reader"
$role.Description = "Can get the storage account keys for a monitoring storage account."
$role.Actions.Clear()
$role.Actions.Add("Microsoft.Storage/storageAccounts/listkeys/action")
$role.Actions.Add("Microsoft.Storage/storageAccounts/Read")
$role.AssignableScopes.Clear()
$role.AssignableScopes.Add("/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myMonitoringStorageAccount")
New-AzRoleDefinition -Role $role
Peringatan
Izin ListKeys memungkinkan pengguna mencantumkan kunci akun penyimpanan utama dan sekunder. Kunci ini memberi pengguna semua izin yang ditandatangani (seperti membaca, menulis, membuat blob, dan menghapus blob) di semua layanan yang ditandatangani (blob, antrean, tabel, file) di akun penyimpanan tersebut. Kami merekomendasikan menggunakan SAS akun jika memungkinkan.
Batasi akses ke hub acara terkait pemantauan
Anda dapat mengikuti pola serupa dengan hub peristiwa, tetapi pertama-tama Anda harus membuat aturan otorisasi khusus untuk mendengarkan. Jika Anda ingin memberikan akses ke aplikasi yang hanya perlu mendengarkan hub peristiwa terkait pemantauan, ikuti langkah-langkah berikut:
Pada portal, buat kebijakan akses bersama di event hub yang dibuat untuk streaming data pemantauan dengan klaim yang hanya mendengarkan. Misalnya, Anda mungkin menyebutnya "monitoringReadOnly." Jika memungkinkan, berikan kunci itu langsung ke konsumen dan lewati langkah selanjutnya.
Jika konsumen perlu mendapatkan kunci atas permintaan, berikan pengguna tindakan ListKeys untuk hub acara tersebut. Langkah ini juga diperlukan bagi pengguna yang perlu mengatur pengaturan diagnostik atau profil log untuk melakukan streaming ke hub peristiwa. Misalnya, Anda dapat membuat aturan Azure RBAC:
$role = Get-AzRoleDefinition "Reader" $role.Id = $null $role.Name = "Monitoring Event Hub Listener" $role.Description = "Can get the key to listen to an event hub streaming monitoring data." $role.Actions.Clear() $role.Actions.Add("Microsoft.EventHub/namespaces/authorizationrules/listkeys/action") $role.Actions.Add("Microsoft.EventHub/namespaces/Read") $role.AssignableScopes.Clear() $role.AssignableScopes.Add("/subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.ServiceBus/namespaces/mySBNameSpace") New-AzRoleDefinition -Role $role