Otorisasi - AWS Bimbingan Preskriptif

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Otorisasi

Dalam proses otorisasi, manajer database memperoleh informasi tentang ID otorisasi pengguna yang diautentikasi. ID otorisasi menunjukkan operasi database mana yang dapat dilakukan pengguna, termasuk objek database mana yang dapat diakses pengguna. Izin, yang dinyatakan secara eksplisit dalam Db2, memungkinkan pengguna untuk melakukan tindakan tertentu.

Untuk ID otorisasi, izin dapat diberikan di berbagai tingkatan:

  • Primer — Izin utama diberikan ke ID otorisasi secara langsung.

  • Sekunder - Izin sekunder diberikan kepada grup dan peran di mana ID otorisasi adalah anggota.

  • Publik — Tingkat publik adalah grup Db2 khusus yang mewakili semua orang di organisasi.

  • Konteks-sensitif - Izin ini diberikan kepada peran konteks tepercaya.

Tingkat otoritas Db2

Db2 mengelola otoritas pada tingkat berikut:

  • Contoh, atau sistem, tingkat:SYSADM,SYSCTRL,SYSMAINT, SYSMON

    • Tingkat basis data: DBADM SQLADM ((EXPLAIN),WLMADM), SECADM (ACCESSCTRL), DATAACCESS

      • Tingkat skema: SCHEMAADM (LOAD),ACCESSCTRL, DATAACCES S

      • Hak istimewa tingkat skema tambahan

Database privilege levels hierarchy showing instance, database, and schema levels with associated permissions.

Db2 mendukung hak istimewa tingkat skema tambahan berikut:

  • SELECTINmemungkinkan pengguna untuk mengambil baris dari semua tabel atau tampilan yang ditentukan dalam skema.

  • INSERTINmemungkinkan pengguna untuk menyisipkan baris dan menjalankan IMPORT utilitas pada semua tabel atau tampilan yang ditentukan dalam skema.

  • UPDATEINmemungkinkan pengguna untuk menjalankan Update pernyataan pada semua tabel atau tampilan yang dapat diperbarui yang ditentukan dalam skema.

  • DELETEINmemungkinkan pengguna untuk menghapus baris dari semua tabel atau tampilan yang dapat diperbarui yang ditentukan dalam skema.

  • EXECUTEINmemungkinkan pengguna untuk menjalankan semua fungsi, metode, prosedur, paket, atau modul yang ditentukan pengguna yang didefinisikan dalam skema.

  • CREATEINmemungkinkan pengguna untuk membuat objek dalam skema.

  • ALTERINmemungkinkan pengguna untuk mengubah objek dalam skema.

  • DROPINmemungkinkan pengguna untuk menjatuhkan objek dari dalam skema.

ID Otorisasi

ID otorisasi Db2 terdiri dari yang berikut:

  • Jenis ID otorisasi

    • Pengguna individu (U)

    • Kelompok (G)

    • Peran (R)

    • Publik (P)

  • Nilai ID Otorisasi

ID otorisasi, yang dapat dikaitkan dengan otoritas dan hak istimewa, digunakan untuk identifikasi bersama dengan memeriksa otorisasi Db2.

Berikut ini adalah istilah ID otorisasi utama yang umum digunakan di Db2:

  • ID otorisasi sistem — ID otorisasi yang digunakan untuk melakukan pemeriksaan otorisasi awal, seperti memeriksa CONNECT hak istimewa selama pemrosesan. CONNECT

  • ID otorisasi sesi — ID otorisasi yang digunakan untuk pemeriksaan otorisasi sesi apa pun setelah pemeriksaan awal yang dilakukan selama pemrosesan. CONNECT Untuk melihat nilai saat ini dari ID otorisasi sesi, gunakan register SESSION_USER khusus.

  • ID otorisasi pernyataan — ID otorisasi (bersama dengan otorisasi sekunder terkait IDs untuk grup atau peran) yang digunakan untuk persyaratan otorisasi pernyataan SQL. Ini juga digunakan untuk menentukan kepemilikan objek sebagaimana berlaku. Hal ini dapat bervariasi tergantung pada jenis pernyataan SQL dan konteks di mana ia dikeluarkan.

Otoritas dan hak istimewa diperoleh melalui mekanisme eksplisit, seperti GRANT dan REVOKE pernyataan, atau mekanisme implisit, seperti hak istimewa yang diperoleh melalui kepemilikan objek. Mereka juga dapat diperoleh sementara melalui beberapa konteks pemrosesan. Misalnya, Anda telah diberi akses ke tampilan, yang secara implisit memberi Anda akses ke objek dalam definisi tampilan itu. Juga, EXECUTE hak istimewa pada paket akan memberi Anda akses ke SQL statis apa pun dalam paket itu. Cara lain untuk mendapatkan otoritas sementara dan hak istimewa adalah dengan menggunakan konteks tepercaya.

Konteks tepercaya

Konteks tepercaya adalah objek database yang mendefinisikan hubungan kepercayaan antara database dan server aplikasi eksternal atau server database lain. Hubungan kepercayaan didasarkan pada atribut kepercayaan berikut:

  • Alamat IP

  • ID otorisasi sistem

  • Tingkat enkripsi untuk komunikasi data

Jika koneksi cocok dengan atribut trust dalam objek konteks tepercaya yang ditentukan, koneksi tepercaya dibuat. Ada dua jenis koneksi tepercaya:

  • Koneksi terpercaya implisit — Koneksi terpercaya implisit memungkinkan pengguna mewarisi peran yang tidak tersedia bagi mereka di luar cakupan definisi koneksi tepercaya tersebut. ID otorisasi sesi koneksi diberikan keanggotaan sementara untuk peran yang dinyatakan dalam definisi konteks tepercaya.

    Diagram berikut menunjukkan contoh koneksi terpercaya implisit di mana koneksi dari hanya satu alamat IP diperbolehkan.

     

    ""
    1. Peran dbconnrole dibuat dan diberikan koneksi ke database. Konteks tepercaya ctximpl dibuat berdasarkan koneksi menggunakan authid ABC dengan alamat IP 10.10.10.1 dan peran defaultdbconnrole.

    2. Pengguna ABC dapat terhubung ke database dari alamat IP10.10.10.1.

    3. Pengguna tidak ABC dapat terhubung dari alamat IP10.10.10.2.

  • Koneksi tepercaya eksplisit — Koneksi tepercaya eksplisit memungkinkan server aplikasi tepercaya atau server database Db2 lain untuk mengganti ID pengguna saat ini pada koneksi yang ada dengan cara yang efisien. Server aplikasi membuat koneksi asli dengan permintaan eksplisit untuk kepercayaan. Setelah kepercayaan ditetapkan, server aplikasi dapat mengeluarkan permintaan ke server database untuk mengubah ID otorisasi sesi untuk setiap unit kerja baru. ID yang digunakan untuk melakukan permintaan koneksi awal hanya membutuhkan CONNECT hak istimewa di server.

    Koneksi tepercaya eksplisit sangat membantu ketika Anda memiliki server tingkat menengah yang perlu mengeluarkan permintaan database atas nama beberapa pengguna dengan kumpulan pola akses yang berbeda di berbagai objek database seperti tabel. Objek konteks tepercaya yang dibuat di server database memungkinkan server tingkat menengah untuk membuat koneksi tepercaya eksplisit ke database dan kemudian beralih ID pengguna saat ini dari koneksi ke ID pengguna yang sesuai tanpa perlu mengautentikasi ulang ke server database. Berdasarkan hak istimewa yang diberikan pada objek database untuk ID otorisasi pengguna, pengguna dapat terus melakukan operasi, mempertahankan identitas asli pengguna yang melakukan tugas tertentu.

    Diagram berikut menunjukkan contoh koneksi tepercaya eksplisit di manaUSER1,USER2, dan USER3 semua terhubung melalui. authid APPID

    ""
    1. Konteks tepercaya ctxexpl dibuat berdasarkan koneksi menggunakan authid APPID dari alamat IP 10.10.10.1 untuk penggunaUSER1,USER2, danUSER3.

    2. Pengguna terhubung ke server tingkat menengah.

    3. Koneksi tepercaya dibuat menggunakanAPPID.