IZIN Kunci Konten GRANT (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Memberikan izin pada kunci konten.

Konvensi sintaks transact-SQL

Catatan

Sintaks ini tidak didukung oleh kumpulan SQL tanpa server di Azure Synapse Analytics.

Sintaksis

GRANT permission [ ,...n ]    
    ON SYMMETRIC KEY :: symmetric_key_name   
    TO <database_principal> [ ,...n ] [ WITH GRANT OPTION ]  
        [ AS <database_principal> ]   
  
<database_principal> ::=   
        Database_user   
    | Database_role   
    | Application_role   
    | Database_user_mapped_to_Windows_User   
    | Database_user_mapped_to_Windows_Group   
    | Database_user_mapped_to_certificate   
    | Database_user_mapped_to_asymmetric_key   
    | Database_user_with_no_login   

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

Izin
Menentukan izin yang dapat diberikan pada kunci konten. Untuk daftar izin, lihat bagian Keterangan nanti dalam topik ini.

ON SYMMETRIC KEY ::asymmetric_key_name
Menentukan kunci konten tempat izin diberikan. Kualifikasi cakupan (::) diperlukan.

UNTUK <database_principal>
Menentukan prinsipal tempat izin diberikan.

DENGAN OPSI GRANT
Menunjukkan bahwa prinsipal juga akan diberikan kemampuan untuk memberikan izin yang ditentukan kepada prinsipal lain.

AS <database_principal> Menentukan prinsipal dari mana prinsipal yang menjalankan kueri ini memperoleh haknya untuk memberikan izin.

Database_user
Menentukan pengguna database.

Database_role
Menentukan peran database.

Application_role
Menentukan peran aplikasi.

Database_user_mapped_to_Windows_User
Menentukan pengguna database yang dipetakan ke pengguna Windows.

Database_user_mapped_to_Windows_Group
Menentukan pengguna database yang dipetakan ke grup Windows.

Database_user_mapped_to_certificate
Menentukan pengguna database yang dipetakan ke sertifikat.

Database_user_mapped_to_asymmetric_key
Menentukan pengguna database yang dipetakan ke kunci asimetris.

Database_user_with_no_login
Menentukan pengguna database tanpa prinsipal tingkat server yang sesuai.

Keterangan

Informasi tentang kunci konten terlihat dalam tampilan katalog sys.symmetric_keys .

Kunci konten 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 kunci konten tercantum dalam tabel berikut, bersama dengan izin yang lebih umum yang menyertakannya berdasarkan implikasi.

Izin kunci konten Tersirat oleh izin kunci konten Tersirat oleh izin database
ALTER CONTROL MENGUBAH KUNCI SIMETRIS APA PUN
CONTROL CONTROL CONTROL
REFERENCES CONTROL REFERENCES
AMBIL KEPEMILIKAN CONTROL CONTROL
MELIHAT DEFINISI CONTROL MELIHAT DEFINISI

Izin

Pemberi hibah (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 Anda menggunakan opsi AS, persyaratan tambahan berikut berlaku.

AS granting_principal 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 perwakilan 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.

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.

Contoh

Contoh berikut memberikan ALTER izin pada kunci SamInventory42 konten kepada pengguna HamidSdatabase .

USE AdventureWorks2022;  
GRANT ALTER ON SYMMETRIC KEY::SamInventory42 TO HamidS;  
GO  

Lihat Juga

sys.symmetric_keys (T-SQL)
DENY Symmetric Key Permissions (Transact-SQL)
MENCABUT Izin Kunci Konten (Transact-SQL)
MEMBUAT KUNCI SIMETRIS (Transact-SQL)
Izin (Mesin Database)
Prinsipal (Mesin Database)
Hierarki Enkripsi