SQL Server Aman dan Utama
Securable mengacu pada sumber daya yang dikontrol oleh sistem otorisasi SQL Server Database Engine. Contohnya adalah tabel database.
Prinsipal mengacu pada entitas apa pun yang memerlukan akses ke sumber daya SQL Server apa pun. Misalnya, pengguna yang meminta izin di atas meja adalah kepala sekolah.
Pernyataan Hibah SQL Server
Berikut ini adalah sintaks dari perintah GRANT di SQL Server:
izin GRANT
ON aman KE utama;
Anda perlu menentukan izin yang ingin Anda berikan kepada kepala sekolah sebagai daftar yang dipisahkan koma.
Kata kunci ON memungkinkan Anda menentukan keamanan tempat izin diterapkan. Terakhir, kata kunci TO memungkinkan Anda menetapkan target utama.
Misalnya, membuat pengguna menggunakan pernyataan CREATE USER tidak menentukan izin untuk pengguna tersebut. Oleh karena itu, penting untuk menggunakan pernyataan GRANT untuk mengatur izin bagi pengguna tersebut.
Mari kita ambil contoh.
Buat Contoh Login
Mari kita mulai dengan membuat contoh login untuk tujuan ilustrasi. Permintaannya adalah seperti yang disediakan di bawah ini:
buat login linuxhintdengan kata sandi='kata sandi';
Perintah di atas harus membuat pengguna dengan nama pengguna linuxhint dan kata sandi yang ditentukan.
Buat Contoh Database
Kita dapat membuat database tempat pengguna akan tinggal setelah kita menentukan login. Kueri adalah seperti yang ditunjukkan:
jatuhkan basis data jika ada penyelesai;membuat pemecah basis data;
gunakan penyelesai;
jatuhkan tabel jika ada entri;
buat entri tabel (
id int bukan identitas null(1,
1) kunci utama,
nama_server varchar(50),
server_address varchar(255) bukan nol,
compression_method varchar(100) default 'tidak ada',
size_on_disk mengapung bukan nol,
float size_compressed,
total_records int bukan nol,
tanggal_init
);
memasukkan
ke dalam
ENTRI(nama_server,
alamat server,
metode_kompresi,
size_on_disk,
size_compressed,
catatan_total,
init_date)
nilai-nilai
('MySQL','localhost:3306','lz77',90.66,40.04,560000,'2022-01-02'),
('Redis','localhost:6307','Snappy',3.55,998.2,100000,'2022-03-19'),
('PostgreSQL','localhost:5432','pglz',101.2,98.01,340000 ,'2022-11-11'),
('Elasticsearch','localhost:9200','lz4',333.2,300.2,1200000,'2022-10-08'),
('MongoDB','localhost:27017','Snappy',4.55,4.10,620000,'2021-12-12'),
('Apache Cassandra','localhost:9042','zstd',300.3,200.12,10000000,'2020-03-21');
Buat Pengguna untuk Login
Setelah kami membuat database dan tabel, kami dapat membuat pengguna untuk login linuxhint sebagai:
menggunakan penyelesaibuat pengguna linuxhint
untuk login linuxhint;
Login sebagai Pengguna Baru
Selanjutnya, mari kita masuk sebagai pengguna yang baru dibuat. Perintahnya seperti yang ditunjukkan:
setuser 'linuxhint';Setelah masuk, kita dapat mencoba melihat tabel dengan menjalankan perintah pilih:
pilih * dari entri;Menjalankan kueri di atas akan mengembalikan kesalahan:
Pesan 229, Level 14, Negara Bagian 5, Baris 379Izin SELECT ditolak pada objek 'entri', database 'resolver', skema 'dbo'.
Ini karena pengguna linuxhint tidak memiliki izin apa pun pada database, termasuk izin SELECT.
Berikan Izin kepada Pengguna
Kami perlu memberikan izin SELECT untuk memungkinkan pengguna melihat informasi yang disimpan dalam tabel.
Untuk itu, Anda harus masuk dengan akun administratif SQL Server.
Selanjutnya, jalankan kueri sebagai:
berikan pilihan pada entri ke linuxhint;Setelah dijalankan, login sebagai pengguna linuxhint dan gunakan pernyataan SELECT.
pilih * dari entri;Dalam hal ini, perintah mengembalikan tabel karena pengguna memiliki izin SELECT
Anda juga dapat memberikan izin lain kepada pengguna, seperti menyisipkan dan menghapus sebagai:
berikan insert, hapus entri ke linuxhint;dalam hal ini, pengguna linuxhint harus memiliki izin SELECT, INSERT, dan DELETE pada tabel entri.
Kesimpulan
Dalam posting ini, kami menjelajahi penggunaan perintah GRANT di SQL Server. Perintah memungkinkan Anda untuk memberikan izin kepada prinsipal yang diberikan.