ApsaraDB RDS for SQL Server memungkinkan Anda mengontrol database mana yang dapat diakses oleh setiap akun dan operasi apa yang dapat dilakukan akun tersebut pada database tersebut. Topik ini menjelaskan cakupan izin untuk setiap jenis akun serta cara mengubah izin akun standar atau akun istimewa.
Konsol ApsaraDB RDS memberikan izin pada tingkat database. Untuk memberikan izin pada objek database tertentu seperti tabel, eksekusi pernyataan SQL yang sesuai diperlukan. Untuk informasi selengkapnya, lihat GRANT object permissions (Transact-SQL).
Jenis akun yang mendukung perubahan izin
Tabel berikut menunjukkan jenis akun yang dapat Anda ubah melalui konsol.
| Jenis akun | Ubah izin database | Catatan |
|---|---|---|
| Akun standar | Didukung | — |
| Akun istimewa | Didukung | — |
| Akun admin sistem | Tidak didukung | Secara default memiliki semua izin pada semua database |
| Akun global read-only | Tidak didukung | Secara default memiliki izin read-only pada semua database pengguna; izin secara otomatis berlaku untuk database baru |
Izin akun
Akun admin sistem
-
Objek otorisasi: Semua database pada instans
-
Izin: Semua izin pada instans RDS. Untuk informasi selengkapnya, lihat Permissions (Database Engine).
Akun global read-only
-
Objek otorisasi: Semua database pengguna pada instans
-
Jenis izin: Read-only. Izin ini secara otomatis berlaku untuk database baru yang dibuat pada instans.
Akun standar dan akun istimewa
Objek otorisasi: Database yang diotorisasi untuk akun tersebut.
Untuk alasan keamanan, ApsaraDB RDS membungkus beberapa izin dalam prosedur tersimpan. Untuk informasi selengkapnya, lihat Prosedur tersimpan.
Akun istimewa memiliki role db_owner pada semua database yang diotorisasi, tetapi tidak memiliki role sysadmin. Artinya, akun istimewa tidak setara dengan akun admin sistem (SA). Jika Anda secara manual memberikan role server sysadmin kepada akun istimewa melalui SQL Server Management Studio (SSMS), perubahan tersebut tidak akan berlaku karena ApsaraDB RDS menerapkan pembatasan keamanan ini. Jika Anda memerlukan izin tingkat SA, lihat Buat akun admin sistem untuk instans ApsaraDB RDS for SQL Server untuk membuat akun admin sistem. Setelah Anda membuat akun admin sistem, instans tersebut tidak lagi dilindungi oleh SLA.
Tabel berikut menjelaskan tiga tingkat izin yang tersedia untuk akun standar dan akun istimewa.
| Jenis izin | Role SQL Server yang ditetapkan | Apa yang dapat dilakukan akun |
|---|---|---|
| Read-Only | Tingkat server: public, processadmin, setupadmin; Tingkat database: public, db_datareader |
Membaca data dari semua tabel dan view pengguna |
| Read/Write (DML) | Tingkat server: public, processadmin, setupadmin; Tingkat database: public, db_datareader, db_datawriter |
Membaca data serta menambahkan, memperbarui, atau menghapus data di semua tabel pengguna |
| Owner | Tingkat server: public, processadmin, setupadmin; Tingkat database: public, db_owner |
Melakukan semua aktivitas konfigurasi dan maintenance pada database, termasuk membuat tabel, view, prosedur, dan skema |
Untuk daftar lengkap izin tingkat server dan tingkat database yang termasuk dalam setiap tingkat, buka bagian di bawah ini.
Untuk informasi selengkapnya tentang role tingkat database, lihat Database-level roles.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
-
Instans ApsaraDB RDS for SQL Server
-
Akun standar atau akun istimewa yang telah dibuat pada instans tersebut
Ubah izin akun
-
Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada. Lalu, temukan instans RDS tersebut dan klik ID instans.
-
Di panel navigasi kiri, klik Accounts.
-
Temukan akun yang ingin Anda ubah izinnya, lalu klik Change Permissions.

-
Di panel Edit Account Permissions, konfigurasikan izin sebagai berikut:
-
Ubah database yang diotorisasi: Pilih database yang ingin diotorisasi, lalu klik ikon
atau
untuk memindahkan database antara daftar yang diotorisasi dan tidak diotorisasi. -
Tetapkan tingkat izin: Di bagian Authorized Databases, pilih tingkat izin untuk setiap database:
-
Read-Only: Menetapkan role database
db_datareader -
Read/Write (DML): Menetapkan role database
db_datareaderdandb_datawriter -
Owner: Menetapkan role database
db_owner. Owner memberikan kontrol luas atas database, termasuk operasi bahasa definisi data (DDL) seperti membuat tabel dan skema. Tetapkan tingkat ini hanya jika akun benar-benar memerlukan kemampuan tersebut.
-
-
-
Klik OK di dialog konfirmasi.
FAQ
Mengapa saya tidak dapat membuat tabel menggunakan akun dengan izin Read/Write (DML)?
Akun Read/Write (DML) diberikan role db_datareader dan db_datawriter, yang mencakup manipulasi data (SELECT, INSERT, UPDATE, DELETE) tetapi tidak mencakup definisi data. Izin CREATE TABLE tidak termasuk.
Untuk membuat tabel di database, Anda dapat menggunakan salah satu metode berikut:
-
Metode 1: Eksekusi pernyataan SQL yang diperlukan. Untuk informasi selengkapnya, lihat GRANT Database Permissions (Transact-SQL) dan Database-level roles.
-
Metode 2: Masuk ke konsol ApsaraDB RDS. Di halaman Accounts instans RDS Anda, ubah jenis izin akun menjadi Owner. Jenis izin Owner memiliki sebagian besar izin, termasuk membuat tabel. Lakukan dengan hati-hati.
Jika Anda hanya perlu memberikan izin CREATE TABLE, gunakan Metode 1. Metode ini memberikan tingkat keamanan yang lebih tinggi.