Bagikan melalui


Glosarium keamanan untuk Azure Cosmos DB for Table

Diagram lokasi saat ini ('Konsep') dalam urutan panduan penyebaran.

Diagram urutan panduan penyebaran termasuk lokasi ini, secara berurutan: Gambaran Umum, Konsep, Persiapan, Kontrol akses berbasis peran, dan Referensi. Lokasi 'Konsep' saat ini disorot.

Artikel ini mencakup glosarium terminologi umum yang digunakan dalam panduan keamanan ini untuk Azure Cosmos DB for Table.

Kontrol Akses Berbasis Peran

Kontrol akses berbasis peran mengacu pada metode untuk mengelola akses ke sumber daya di Azure. Metode ini didasarkan pada identitas tertentu yang diberi peran yang mengelola tingkat akses apa yang mereka miliki ke satu atau beberapa sumber daya. Kontrol akses berbasis peran menyediakan sistem yang fleksibel dari manajemen akses terperinci yang memastikan identitas hanya memiliki tingkat akses yang paling tidak istimewa yang mereka butuhkan untuk melakukan tugas mereka.

Untuk informasi selengkapnya, lihat gambaran umum kontrol akses berbasis peran.

Identitas/Prinsipal

Identitas mengacu pada objek dalam Microsoft Entra yang mewakili beberapa entitas yang mungkin memerlukan tingkat akses ke sistem Anda. Dalam konteks Azure dan Microsoft Entra, identitas dapat merujuk ke salah satu jenis entitas berikut:

Deskripsi
Identitas beban kerja Identitas beban kerja mewakili beban kerja perangkat lunak yang perlu mengakses layanan atau sumber daya lain
Identitas manusia Identitas manusia mewakili pengguna yang dapat berasal dari penyewa Anda atau ditambahkan sebagai tamu
Identitas Terkelola Identitas terkelola adalah sumber daya berbeda di Azure yang mewakili identitas layanan Azure
Perwakilan layanan Perwakilan layanan adalah akun layanan yang dapat digunakan dalam sejumlah skenario autentikasi yang fleksibel
Identitas perangkat Identitas perangkat adalah objek di Microsoft Entra yang dipetakan ke perangkat
Grup Grup adalah objek yang digunakan untuk mengelola akses ke satu atau beberapa identitas sebagai operasi tunggal

Untuk informasi selengkapnya, lihat dasar-dasar identitas.

Peran

Peran adalah unit utama untuk memberlakukan akses dan izin. Anda menetapkan peran ke identitas dan definisi peran menentukan tingkat akses apa yang dapat dimiliki identitas tersebut. Cakupan penugasan menentukan apa yang sebenarnya dapat diakses oleh identitas.

Azure memiliki sekumpulan besar peran bawaan yang dapat Anda gunakan untuk memberikan akses ke berbagai sumber daya. Pertimbangkan contoh ini:

Nilai
Peran CosmosBackupOperator
Definisi Microsoft.DocumentDB/databaseAccounts/backup/action & Microsoft.DocumentDB/databaseAccounts/restore/action
Cakupan Grup sumber daya

Dalam contoh ini, Anda diberi CosmosBackupOperator peran untuk grup sumber daya tertentu. Penugasan ini memberi Anda akses untuk melakukan tindakan atau restore pada akun Azure Cosmos DB apa pun dalam grup sumber daya tersebutbackup.

Penting

Beberapa layanan Azure, seperti Azure Cosmos DB, memiliki implementasi kontrol akses berbasis peran asli mereka sendiri yang menggunakan properti Azure Resource Manager yang berbeda, perintah Azure CLI, dan cmdLet Azure PowerShell. Perintah yang biasanya Anda gunakan untuk mengelola kontrol akses berbasis peran tidak akan berfungsi dengan akses sarana data Azure Cosmos DB. Beberapa perintah untuk kontrol akses berbasis peran Azure dapat berfungsi dengan akses sarana kontrol Azure Cosmos DB.

Untuk informasi selengkapnya, lihat peran Azure bawaan

Definisi peran

Definisi peran adalah objek JSON yang berisi daftar tindakan sarana kontrol dan sarana data yang diizinkan dan tidak diizinkan. Pertimbangkan contoh terpotong ini dari peran bawaan CosmosRestoreOperator :

{
  "roleName": "CosmosRestoreOperator",
  "type": "Microsoft.Authorization/roleDefinitions",
  ...
  "permissions": [
    {
      "actions": [
        "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restore/action",
        "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read",
        "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read"
      ],
      "notActions": [],
      "dataActions": [],
      "notDataActions": []
    }
  ],
  ...
}

Dalam definisi ini, identitas yang ditetapkan peran ini dapat melakukan restore tindakan. Setelah operasi pemulihan selesai, identitas kemudian dapat membaca berbagai sumber daya untuk memvalidasi bahwa pemulihan berhasil. Kita dapat menentukan bahwa ia dapat membaca sumber daya ini karena * operator (wildcard) untuk read.

Untuk informasi selengkapnya, lihat konsep definisi peran.

Penetapan peran

Penetapan peran memberikan akses identitas ke sumber daya Azure tertentu. Penetapan peran terdiri dari komponen berikut:

Deskripsi
Kepala sekolah Identitas apa yang ditetapkan peran ini
Peran Peran yang ditetapkan ke identitas
Cakupan Sumber daya azure target atau grup penugasan
Nama/Deskripsi Metadata yang memudahkan pengelolaan penugasan dalam skala besar

Tip

Dalam kontrol akses berbasis peran, Anda mungkin melihat istilah identitas dan prinsipal yang digunakan secara bergantian.

Untuk informasi selengkapnya, lihat konsep penetapan peran.

Tindakan

Tindakan menentukan izin spesifik apa yang dimiliki peran untuk sumber daya target. Tindakan adalah string yang biasanya menyertakan jenis sumber daya dan nama deskriptif yang merinci izin apa yang diberikan tindakan. Berikut adalah beberapa contoh umum:

Deskripsi Pesawat
Microsoft.DocumentDB/databaseAccounts/listKeys/action Membaca kunci akun saja Sarana kontrol
Microsoft.DocumentDB/databaseAccounts/backup/action Melakukan pencadangan Sarana kontrol
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/replace Seluruhnya mengganti item yang sudah ada Pesawat data
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery Menjalankan kueri NoSQL Pesawat data

Tindakan juga dapat berisi * karakter (wildcard) sehingga Anda tidak perlu merinci setiap pengiriman tertentu secara manual. Berikut adalah beberapa contoh tindakan dengan kartubebas:

Deskripsi
Microsoft.DocumentDb/databaseAccounts/* Membuat dan mengelola akun Azure Cosmos DB
Microsoft.DocumentDB/*/read Membaca kontainer atau database apa pun

Tindakan dipisahkan menjadi sarana kontrol dan bidang data. Anda harus menentukan tindakan secara terpisah pada sumber daya dan tindakan sarana kontrol yang dapat memengaruhi data. Dalam definisi peran, tindakan sarana kontrol menggunakan actions properti dan tindakan bidang data berada dalam dataActions properti . Anda juga dapat menentukan tindakan yang tidak dapat dilakukan identitas menggunakan properti dan notDataActions masing-masingnotActions.

Catatan

Pemisahan tindakan ke dalam kontrol dan bidang data adalah langkah keamanan untuk mencegah tindakan kartubebas dari definisi peran warisan memiliki akses tidak terbatas dan tidak disengaja ke data.

Untuk informasi selengkapnya, lihat kontrol dan tindakan data.

Hak istimewa minimal

Konsep "hak istimewa paling sedikit" mengacu pada praktik terbaik operasional untuk memastikan bahwa semua pengguna hanya memiliki tingkat akses minimal yang mereka butuhkan untuk melakukan tugas atau pekerjaan mereka. Misalnya, aplikasi yang membaca data dari database hanya akan memerlukan akses baca ke penyimpanan data. Jika aplikasi tersebut telah membaca dan menulis akses ke penyimpanan data, beberapa hal dapat terjadi termasuk, tetapi tidak terbatas pada:

  • Aplikasi ini dapat dengan errant menghancurkan data
  • Pengguna yang tidak sah bisa mendapatkan akses ke kredensial aplikasi dan memodifikasi data

Mengikuti praktik hak istimewa paling sedikit memastikan bahwa setiap potensi pelanggaran data terbatas dalam cakupan. Praktik ini memaksimalkan keamanan operasional sekaligus memungkinkan pengguna untuk tetap efektif.

Untuk informasi selengkapnya, lihat peran dengan hak istimewa paling sedikit yang direkomendasikan berdasarkan tugas.

Sarana kontrol

Akses sarana kontrol mengacu pada kemampuan untuk mengelola sumber daya untuk layanan Azure tanpa mengelola data. Misalnya, akses sarana kontrol Azure Cosmos DB dapat mencakup kemampuan untuk:

  • Membaca semua metadata akun dan sumber daya
  • Membaca dan meregenerasi kunci akun dan string koneksi
  • Melakukan pencadangan dan pemulihan akun
  • Memulai dan melacak pekerjaan transfer data
  • Mengelola database dan kontainer
  • Mengubah properti akun

Penting

Di Azure Cosmos DB, Anda memerlukan akselerasi sarana kontrol untuk mengelola definisi dan penugasan kontrol akses berbasis peran bidang data asli. Karena mekanisme kontrol akses berbasis peran sarana data Azure Cosmos DB asli, Anda akan memerlukan akses sarana kontrol untuk membuat definisi dan tugas dan menyimpannya sebagai sumber daya dalam akun Azure Cosmos DB.

Pesawat data

Akses data plane mengacu pada kemampuan untuk membaca dan menulis data dalam layanan Azure tanpa kemampuan untuk mengelola sumber daya di akun. Untuk eksmaple, akses sarana data Azure Cosmos DB dapat mencakup kemampuan untuk:

  • Membaca beberapa metadata akun dan sumber daya
  • Membuat, membaca, memperbarui, menambal, dan menghapus item
  • Menjalankan kueri NoSQL
  • Membaca dari umpan perubahan kontainer
  • Menjalankan prosedur tersimpan
  • Mengelola konflik dalam umpan konflik

Autentikasi portabel

Dalam pengembangan, adalah umum untuk menulis dua set logika autentikasi yang berbeda untuk pengembangan lokal dan instans produksi. Dengan Azure SDK, Anda dapat menulis logika menggunakan satu teknik dan mengharapkan kode autentikasi berfungsi dengan mulus dalam pengembangan dan produksi.

Pustaka klien Azure Identity tersedia dalam beberapa bahasa pemrograman sebagai bagian dari Azure SDK. Dengan menggunakan pustaka ini, Anda dapat membuat DefaultAzureCredential objek yang dengan cerdas menelusuri beberapa opsi, untuk menemukan kredensial yang tepat berdasarkan lingkungan Anda. Opsi autentikasi ini termasuk (secara berurutan):

  1. Rahasia klien atau sertifikat yang disimpan sebagai variabel lingkungan
  2. ID Beban Kerja Microsoft Entra
  3. Identitas terkelola yang ditetapkan pengguna atau yang ditetapkan sistem
  4. Kredensial Azure berasal dari pengaturan Visual Studio
  5. Kredensial yang digunakan dalam ekstensi Akun Azure Visual Studio Code
  6. Kredensial saat ini dari Azure CLI
  7. Kredensial saat ini dari Azure PowerShell
  8. Kredensial saat ini dari Azure Developer CLI
  9. Sesi interaktif yang meluncurkan browser sistem untuk masuk

Setiap pustaka Azure SDK modern mendukung konstruktor untuk objek atau kelas klien masing-masing yang menerima DefaultAzureCredential instans atau jenis dasarnya.

Tip

Untuk membuat kode produksi Anda lebih mudah di-debug dan lebih dapat diprediksi, Anda dapat memilih untuk menggunakan DefaultAzureCredential dalam pengembangan dan menukar ke kredensial yang lebih spesifik seperti WorkloadIdentityCredential atau ManagedIdentityCredential setelah aplikasi disebarkan. Semua kelas ini didasarkan pada TokenCredential kelas yang diharapkan banyak Azure SDK sebagai bagian dari logika inisialisasi klien mereka sehingga mudah untuk bertukar bolak-balik.

Pengidentifikasi unik

Setiap identitas di Microsoft Entra memiliki pengidentifikasi unik. Terkadang Anda melihat pengidentifikasi unik ini disebut sebagai id, , objectIdatau principalId. Saat membuat penetapan peran, Anda memerlukan pengidentifikasi unik untuk identitas yang anda gunakan dengan penugasan.

Cakupan

Saat menetapkan peran, Anda harus memutuskan sumber daya atau grup Azure apa yang akan diberikan aksesnya. Cakupan penetapan peran menentukan tingkat di mana penugasan dibuat.

Contohnya:

  • Cakupan sumber daya tunggal menerapkan izin hanya untuk sumber daya tunggal tersebut
  • Cakupan yang ditetapkan di tingkat grup sumber daya menerapkan izin ke semua sumber daya yang relevan dalam grup
  • Cakupan di tingkat grup manajemen atau langganan berlaku untuk semua grup dan sumber daya anak

Saat Anda menetapkan peran dalam kontrol akses berbasis peran Azure, sangat ideal untuk mengatur cakupan tugas tersebut untuk menyertakan sumber daya sekecil yang diperlukan untuk beban kerja Anda. Misalnya, Anda dapat mengatur cakupan penugasan ke grup sumber daya. Cakupan grup sumber daya tersebut mencakup semua sumber daya Azure Cosmos DB dalam grup sumber daya:

/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>

Atau, Anda dapat mengatur cakupan ke satu sumber daya Azure dan membuat penugasan izin Anda lebih terperinci dan sempit. Dalam contoh ini, penyedia dan nama sumber daya Azure Cosmos DB digunakan untuk mempersempit cakupan:

/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.DocumentDB/databaseAccounts/<account-name>

Untuk informasi selengkapnya, lihat Cakupan kontrol akses berbasis peran Azure.

Cakupan (asli Azure Cosmos DB)

Dalam implementasi asli kontrol akses berbasis peran Azure Cosmos DB, cakupan mengacu pada granularitas sumber daya dalam akun yang izinnya ingin Anda terapkan.

Pada tingkat tertinggi, Anda dapat mencakup penetapan kontrol akses berbasis peran bidang data ke seluruh akun menggunakan cakupan terbesar. Cakupan ini mencakup semua database dan kontainer dalam akun:

/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.DocumentDB/databaseAccounts/<account-name>/

Atau, Anda dapat mencakup penetapan peran bidang data Anda ke database default:

/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.DocumentDB/databaseAccounts/<account-name>/dbs/TablesDB

Penting

Database default, TablesDB, peka huruf besar/kecil. Jika Anda menggunakan casing yang salah dalam cakupan, cakupan akan dipotong ke cakupan terbesar yang diizinkan (tingkat akun).

Terakhir, Anda dapat mencakup penugasan ke satu kontainer (tabel), cakupan yang paling terperinci:

/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.DocumentDB/databaseAccounts/<account-name>/dbs/TablesDB/colls/<container-name>

Langkah selanjutnya