Mengonfigurasi izin peningkatan berbasis risiko menggunakan PowerShell

Dalam artikel ini, Anda akan mempelajari cara mengonfigurasi persetujuan langkah-up berbasis risiko di ID Microsoft Entra. Persetujuan step-up berbasis risiko membantu mengurangi paparan pengguna terhadap aplikasi berbahaya yang membuat permintaan persetujuan terlarang.

Misalnya, permintaan persetujuan untuk aplikasi multipenyewa yang baru terdaftar yang tidak diverifikasi penerbit dan memerlukan izin non-dasar dianggap berisiko. Jika permintaan izin pengguna yang berisiko terdeteksi, permintaan tersebut memerlukan "peningkatan" untuk izin admin. Kemampuan peningkatan ini diaktifkan secara default, tetapi akan menghasilkan perubahan perilaku hanya jika izin pengguna diaktifkan.

Saat permintaan izin berisiko terdeteksi, permintaan izin menampilkan pesan yang menunjukkan bahwa persetujuan admin diperlukan. Jika alur kerja permintaan persetujuan admin diaktifkan, pengguna dapat mengirim permintaan ke admin untuk ditinjau lebih lanjut secara langsung dari permintaan persetujuan. Jika alur kerja permintaan izin admin tidak diaktifkan, pesan berikut akan ditampilkan:

AADSTS90094:<clientAppDisplayName> memerlukan izin untuk mengakses sumber daya di organisasi Anda yang hanya dapat diberikan oleh admin. Minta admin untuk memberikan izin ke aplikasi ini sebelum dapat Anda gunakan.

Dalam kasus ini, kejadian audit juga akan dicatat di log dengan Kategori "ManajemenAplikasi", Jenis Aktivitas "Persetujuan ke aplikasi", dan alasan status "Aplikasi yang berisiko terdeteksi."

Prasyarat

Untuk mengonfigurasi izin peningkatan berbasis risiko, Anda memerlukan:

  • Akun pengguna. Jika Anda belum memilikinya, Anda dapat membuat akun secara gratis.
  • Peran Administrator Global atau peran Administrator Istimewa.

Anda dapat menggunakan modul beta Microsoft Graph PowerShell untuk menonaktifkan langkah ke persetujuan admin yang diperlukan jika risiko terdeteksi, atau untuk mengaktifkannya jika sebelumnya dinonaktifkan.

Penting

Pastikan Anda menggunakan modul cmdlet Microsoft Graph PowerShell Beta.

  1. Jalankan perintah berikut:

    Install-Module Microsoft.Graph.Beta
    
  2. Menyambungkan ke Microsoft Graph PowerShell:

    Connect-MgGraph -Scopes "Directory.ReadWrite.All"
    
  3. Ambil nilai saat ini untuk pengaturan direktori Pengaturan Kebijakan Persetujuan di penyewa Anda. Untuk melakukannya, Anda memerlukan pemeriksaan untuk melihat apakah pengaturan direktori untuk fitur ini telah dibuat. Jika belum dibuat, gunakan nilai dari template pengaturan direktori yang sesuai.

    $consentSettingsTemplateId = "dffd5d46-495d-40a9-8e21-954ff55e198a" # Consent Policy Settings
    $settings = Get-MgBetaDirectorySetting -All | Where-Object { $_.TemplateId -eq $consentSettingsTemplateId }
    if (-not $settings) {
        $params = @{
            TemplateId = $consentSettingsTemplateId
            Values = @(
                @{ 
                    Name = "BlockUserConsentForRiskyApps"
                    Value = "True"
                }
                @{ 
                    Name = "ConstrainGroupSpecificConsentToMembersOfGroupId"
                    Value = "<groupId>"
                }
                @{ 
                    Name = "EnableAdminConsentRequests"
                    Value = "True"
                }
                @{ 
                    Name = "EnableGroupSpecificConsent"
                    Value = "True"
                }
            )
        }
        $settings = New-MgBetaDirectorySetting -BodyParameter $params
    }
    $riskBasedConsentEnabledValue = $settings.Values | ? { $_.Name -eq "BlockUserConsentForRiskyApps" }
    
  4. Periksa nilai:

    $riskBasedConsentEnabledValue
    

    Pahami nilai pengaturan:

    Pengaturan Jenis Deskripsi
    BlockUserConsentForRiskyApps Boolean Tanda yang menunjukkan apakah izin pengguna akan diblokir saat permintaan berisiko terdeteksi.
  5. Untuk mengubah nilai BlockUserConsentForRiskyApps, gunakan cmdlet Update-MgBetaDirectorySetting .

    $params = @{
        TemplateId = $consentSettingsTemplateId
        Values = @(
            @{ 
                Name = "BlockUserConsentForRiskyApps"
                Value = "False"
            }
            @{ 
                Name = "ConstrainGroupSpecificConsentToMembersOfGroupId"
                Value = "<groupId>"
            }
            @{ 
                Name = "EnableAdminConsentRequests"
                Value = "True"
            }
            @{ 
                Name = "EnableGroupSpecificConsent"
                Value = "True"
            }
        )
    }
    Update-MgBetaDirectorySetting -DirectorySettingId $settings.Id -BodyParameter $params
    

Langkah berikutnya