Izin Sistem IBM i pada tampilan Database


8

Kami memiliki Sistem IBM yang menjalankan IBM i OS v6r1. Pada sistem ini, saya telah membuat beberapa tampilan basis data. Apa yang ingin saya lakukan adalah memberikan akses kelompok pengguna tertentu untuk HANYA pandangan ini dan tidak ada yang lain di perpustakaan di mana pandangan berada. Apakah ini mungkin? Saya memiliki grup pengguna yang hanya membaca izin untuk semua tabel dan tampilan di perpustakaan di mana pandangan saya berada, dan akses berfungsi ketika pengguna berada di bawah grup pengguna ini. Saya mencoba menyalin grup pengguna, dan kemudian menetapkan izin untuk hanya menyertakan pandangan yang saya buat, dan akses ditolak. Apakah pengguna atau grup pengguna juga harus memiliki izin di atas meja dari mana tampilan berasal untuk mengakses tampilan?


Pertimbangkan untuk memposting ini di dba.stackexchange.com
WarrenT

@ WarrenT percaya atau tidak ini sebenarnya pertanyaan administrasi sistem sebanyak itu adalah pertanyaan DB untuk iSeries / midrange - database DB2 terintegrasi erat ke dalam OS / 400 dan dari pertanyaan itu terdengar seperti OS / 400 izin pada perpustakaan yang tersandung hal-hal. (Sayangnya sudah begitu lama sejak saya sudah masuk ke kotak midrange saya tidak 100% yakin bagaimana menyelesaikan masalah!)
voretaq7

@ voretaq7 Ya. Basis data tidak hanya ditenun menjadi inti dari sistem operasi, ia dirancang ke dalam mesin itu sendiri (antarmuka mesin, MI). Sudah lebih dari satu dekade sejak saya menjadi QSECOFR, jadi saya harus mencari jawabannya. Tapi karena belum ada yang menjawab, dan ini adalah permainan yang adil untuk kedua situs, saya berpikir mungkin ada seseorang di dba yang mungkin tahu itu di luar kepala mereka.
WarrenT

Jawaban:


4

Iya. Tidaklah cukup memberikan otoritas untuk menggunakan pandangan. Pengguna juga harus memiliki otoritas ke tabel yang mendasarinya.

Salah satu cara untuk memungkinkan akses ke pengguna terbatas adalah menggunakan otoritas. Sebagai contoh, mari kita asumsikan yang berikut:

Pengguna RESTRICTED tidak memiliki akses ke tabel apa pun. Semua perpustakaan dapat berupa AUT (* EXCLUDE) -atau- pengguna RESTRICTED memiliki * EXCLUDE otoritas untuk semua perpustakaan. PENGGUNA MENGIZINKAN dapat mengakses (atau memiliki) tabel dan perpustakaan. DATA Perpustakaan memiliki tabel. PROGRAM Perpustakaan memiliki program dan prosedur tersimpan.

Telah IZIN membuat prosedur tersimpan RPG di PROGRAM perpustakaan. Pastikan program telah menentukan USRPRF (* PEMILIK). Ini berarti bahwa ketika program dijalankan akan menggunakan otoritas pemilik (DIIZINKAN) alih-alih otoritas profil yang menjalankannya (DIBATASI).

Berikan pengguna IZIN * MENGGUNAKAN otoritas ke objek program RPG -atau- GRANT via SQL. Juga, beri pengguna RESTRICTED * GUNAKAN akses ke PROGRAM perpustakaan. Ini akan memungkinkan RESTRICTED untuk menjalankan prosedur / program yang tersimpan.

Perhatikan bahwa pengguna RESTRICTED tidak memiliki hak untuk mengakses tabel dalam DATA dan Anda ingin membiarkannya seperti itu.

Sekarang minta pengguna DIBATASI menggunakan SQL untuk CALL prosedur tersimpan. Dia memiliki wewenang untuk menjalankan program karena dia memiliki * hak GUNAKAN untuk perpustakaan PROGRAM serta objek program yang dikompilasi. Prosedur tersimpan berjalan di bawah otoritas pemilik, DIIZINKAN dan karena DIIZINKAN memiliki akses penuh ke perpustakaan DATA dan tabel di dalamnya, prosedur tersimpan dapat mengakses / memperbarui tabel tersebut. SQL mentah apa pun yang DIRESTIKASI untuk digunakan akan gagal karena otoritas yang tidak mencukupi - satu-satunya hal yang dapat dia lakukan adalah memanggil prosedur tersimpan yang dibuat untuknya.

Jika program Anda disimpan di perpustakaan yang sama dengan data Anda, Anda perlu memberikan otoritas * PENGGUNAAN DIBATASI untuk perpustakaan dan secara spesifik membatasi dirinya (melalui * TIDAK TERMASUK) atas semua tabel di perpustakaan itu. Mungkin lebih mudah untuk membuat perpustakaan DIBATASI yang hanya menyimpan prosedur yang tersimpan dan mengizinkannya ke perpustakaan itu. Hal ini membuat pemeliharaan berkelanjutan lebih mudah karena Anda tidak perlu mencoba mengingat untuk tetap membatasi dia dari tabel yang baru dibuat di DATA.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.