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 membahas proses menonaktifkan otorisasi berbasis kunci (atau autentikasi kredensial kata sandi pemilik sumber daya) untuk akun Azure Cosmos DB for NoSQL.
Menonaktifkan otorisasi berbasis kunci mencegah akun Anda digunakan tanpa metode autentikasi Microsoft Entra yang lebih aman. Prosedur ini adalah langkah yang harus dilakukan pada akun baru dalam beban kerja yang aman. Atau, lakukan prosedur ini pada akun yang ada yang dimigrasikan ke pola beban kerja yang aman.
Prasyarat
- Sebuah akun Azure dengan langganan aktif. Buat akun secara gratis.
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi selengkapnya, lihat Mulai menggunakan Azure Cloud Shell.
Jika Anda lebih suka menjalankan perintah referensi CLI secara lokal, instal Azure CLI. Jika Anda menjalankan Windows atau macOS, pertimbangkan untuk menjalankan Azure CLI dalam kontainer Docker. Untuk informasi lebih lanjut, lihat Cara menjalankan Azure CLI di kontainer Docker.
Jika Anda menggunakan instalasi lokal, masuk ke Azure CLI dengan menggunakan perintah az login. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk lainnya, lihat Mengautentikasi ke Azure menggunakan Azure CLI.
Saat diminta, instal ekstensi Azure CLI saat pertama kali digunakan. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan dan mengelola ekstensi dengan Azure CLI.
Jalankan az version untuk menemukan versi dan pustaka dependen yang terinstal. Untuk meng-upgrade ke versi terbaru, jalankan az upgrade.
- Jika Anda memilih untuk menggunakan Azure PowerShell secara lokal:
- Pasang versi terbaru modul Az PowerShell.
- Sambungkan ke akun Azure Anda menggunakan cmdlet Connect-AzAccount.
- Jika Anda memilih untuk menggunakan Azure Cloud Shell:
- Lihat Gambaran Umum Azure Cloud Shell untuk informasi selengkapnya.
Menonaktifkan autentikasi berbasis kunci
Pertama, nonaktifkan autentikasi berbasis kunci ke akun Anda yang ada sehingga aplikasi diperlukan untuk menggunakan autentikasi Microsoft Entra. Gunakan az resource update
untuk mengubah properties.disableLocalAuth
akun yang ada.
az resource update \
--resource-group "<name-of-existing-resource-group>" \
--name "<name-of-existing-account>" \
--resource-type "Microsoft.DocumentDB/databaseAccounts" \
--set properties.disableLocalAuth=true
Pertama, buat akun baru dengan autentikasi berbasis kunci dinonaktifkan sehingga aplikasi diperlukan untuk menggunakan autentikasi Microsoft Entra.
Buat file Bicep baru untuk menyebarkan akun baru Anda dengan autentikasi berbasis kunci dinonaktifkan. Beri nama file deploy-new-account.bicep.
metadata description = 'Deploys a new Azure Cosmos DB account with key-based auth disabled.' @description('Name of the Azure Cosmos DB account.') param name string = 'csms-${uniqueString(resourceGroup().id)}' @description('Primary location for the Azure Cosmos DB account.') param location string = resourceGroup().location resource account 'Microsoft.DocumentDB/databaseAccounts@2024-05-15' = { name: name location: location kind: 'GlobalDocumentDB' properties: { databaseAccountOfferType: 'Standard' locations: [ { locationName: location } ] disableLocalAuth: true } }
Gunakan
az deployment group create
untuk menyebarkan file Bicep dengan akun baru.az deployment group create \ --resource-group "<name-of-existing-resource-group>" \ --template-file deploy-new-account.bicep
Pertama, nonaktifkan autentikasi berbasis kunci ke akun Anda yang ada sehingga aplikasi diperlukan untuk menggunakan autentikasi Microsoft Entra. Gunakan Get-AzResource
dan Set-AzResource
untuk masing-masing membaca dan memperbarui akun yang ada.
$parameters = @{
ResourceGroupName = "<name-of-existing-resource-group>"
ResourceName = "<name-of-existing-account>"
ResourceType = "Microsoft.DocumentDB/databaseAccounts"
}
$resource = Get-AzResource @parameters
$resource.Properties.DisableLocalAuth = $true
$resource | Set-AzResource -Force
Gunakan langkah-langkah ini untuk membuat akun Azure Cosmos DB for NoSQL baru dengan autentikasi berbasis kunci dinonaktifkan sehingga aplikasi diperlukan untuk hanya menggunakan autentikasi Microsoft Entra.
Saat menyiapkan akun Azure Cosmos DB for NoSQL baru, navigasikan ke bagian Keamanan dari proses pembuatan akun.
Kemudian, pilih Nonaktifkan untuk opsi Autentikasi berbasis kunci .
Validasi bahwa autentikasi dinonaktifkan
Mencoba menggunakan Azure SDK untuk menyambungkan ke Azure Cosmos DB for NoSQL menggunakan kredensial kata sandi pemilik sumber daya (ROPC). Upaya ini harus gagal. Jika perlu, sampel kode untuk bahasa pemrograman umum disediakan di sini.
using Microsoft.Azure.Cosmos;
string connectionString = "AccountEndpoint=<nosql-endpoint>;AccountKey=<key>;";
CosmosClient client = new(connectionString);
Penting
Sampel kode ini menggunakan Microsoft.Azure.Cosmos
pustaka dari NuGet.