Izin Info Masuk Cakupan Database GRANT (Transact-SQL)
Berlaku untuk:
SQL Server 2017 (14.x) dan yang lebih baru
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Memberikan izin pada kredensial lingkup database.
Sintaks
GRANT permission [ ,...n ]
ON DATABASE SCOPED CREDENTIAL :: credential_name
TO principal [ ,...n ] [ WITH GRANT OPTION ]
[ AS granting_principal ]
Catatan
Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.
Argumen
Izin
Menentukan izin yang dapat diberikan pada kredensial lingkup database. Tercantum di bawah ini.
ON DATABASE SCOPED CREDENTIAL ::credential_name
Menentukan kredensial lingkup database tempat izin diberikan. Kualifikasi cakupan "::" diperlukan.
database_principal
Menentukan prinsipal yang izinnya diberikan. Salah satu dari berikut ini:
- pengguna database
- peran database
- peran aplikasi
- pengguna database dipetakan ke login Windows
- pengguna database dipetakan ke grup Windows
- pengguna database dipetakan ke sertifikat
- pengguna database dipetakan ke kunci asimetris
- pengguna database tidak dipetakan ke prinsipal server.
OPSI GRANT
Menunjukkan bahwa prinsipal juga akan diberikan kemampuan untuk memberikan izin yang ditentukan kepada prinsipal lain.
GRANTING_PRINCIPAL AS
Menentukan prinsip dari mana prinsipal yang menjalankan kueri ini memperoleh haknya untuk memberikan izin. Salah satu dari berikut ini:
- pengguna database
- peran database
- peran aplikasi
- pengguna database dipetakan ke login Windows
- pengguna database dipetakan ke grup Windows
- pengguna database dipetakan ke sertifikat
- pengguna database dipetakan ke kunci asimetris
- pengguna database tidak dipetakan ke prinsipal server.
Keterangan
Kredensial lingkup database adalah tingkat database yang dapat diamankan yang dimuat oleh database yang merupakan induknya dalam hierarki izin. Izin paling spesifik dan terbatas yang dapat diberikan pada kredensial lingkup database tercantum di bawah ini, bersama dengan izin yang lebih umum yang menyertakannya berdasarkan implikasi.
| Izin kredensial lingkup database | Tersirat oleh izin kredensial lingkup database | Tersirat oleh izin database |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| AMBIL KEPEMILIKAN | CONTROL | CONTROL |
| ALTER | CONTROL | CONTROL |
| REFERENCES | CONTROL | REFERENCES |
| LIHAT DEFINISI | CONTROL | LIHAT DEFINISI |
Catatan
Di Azure Synapse Analytics, GRANT pada kredensial lingkup database hanya didukung untuk kumpulan SQL tanpa server.
Izin
Pemberi izin (atau prinsipal yang ditentukan dengan opsi AS) harus memiliki izin itu sendiri dengan GRANT OPTION, atau izin yang lebih tinggi yang menyiratkan izin diberikan.
Jika menggunakan opsi AS, persyaratan tambahan ini berlaku.
| GRANTING_PRINCIPAL AS | Izin tambahan diperlukan |
|---|---|
| Pengguna database | Izin IMPERSONATE pada pengguna, keanggotaan dalam peran database tetap db_securityadmin , keanggotaan dalam peran database tetap db_owner , atau keanggotaan dalam peran server tetap sysadmin . |
| Pengguna database dipetakan ke login Windows | Izin IMPERSONATE pada pengguna, keanggotaan dalam peran database tetap db_securityadmin , keanggotaan dalam peran database tetap db_owner , atau keanggotaan dalam peran server tetap sysadmin . |
| Pengguna database dipetakan ke grup Windows | Keanggotaan dalam grup Windows, keanggotaan dalam peran database tetap db_securityadmin , keanggotaan dalam peran database tetap db_owner , atau keanggotaan dalam peran server tetap sysadmin . |
| Pengguna database dipetakan ke sertifikat | Keanggotaan dalam peran database tetap db_securityadmin , keanggotaan dalam peran database tetap db_owner , atau keanggotaan dalam peran server tetap sysadmin . |
| Pengguna database dipetakan ke kunci asimetris | Keanggotaan dalam peran database tetap db_securityadmin , keanggotaan dalam peran database tetap db_owner , atau keanggotaan dalam peran server tetap sysadmin . |
| Pengguna database tidak dipetakan ke prinsipal server mana pun | Izin IMPERSONATE pada pengguna, keanggotaan dalam peran database tetap db_securityadmin , keanggotaan dalam peran database tetap db_owner , atau keanggotaan dalam peran server tetap sysadmin . |
| Peran database | UBAH izin pada peran, keanggotaan dalam peran database tetap db_securityadmin , keanggotaan dalam peran database tetap db_owner , atau keanggotaan dalam peran server tetap sysadmin . |
| Peran aplikasi | UBAH izin pada peran, keanggotaan dalam peran database tetap db_securityadmin , keanggotaan dalam peran database tetap db_owner , atau keanggotaan dalam peran server tetap sysadmin . |
Pemilik objek dapat memberikan izin pada objek yang mereka miliki. Prinsipal dengan izin CONTROL pada yang dapat diamankan dapat memberikan izin pada yang dapat diamankan.
Pemberi izin SERVER KONTROL, seperti anggota peran server tetap sysadmin , dapat memberikan izin apa pun pada setiap yang dapat diamankan di server. Pemberi izin CONTROL pada database, seperti anggota peran database tetap db_owner , dapat memberikan izin apa pun pada setiap yang dapat diamankan dalam database. Pemberi izin CONTROL pada skema dapat memberikan izin apa pun pada objek apa pun dalam skema.
Langkah berikutnya
GRANT (Transact-SQL)
MENCABUT Kredensial Cakupan Database (Transact-SQL)
DENY Database Scoped Credential (Transact-SQL)
Izin (Mesin Database)
Prinsipal (Mesin Database)
Hierarki Enkripsi
