Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
CREATE USER
Menciptakan pengguna database baru. Pengguna database dapat mengambil data, menjalankan perintah, dan melakukan tindakan lain dalam database, tergantung pada hak istimewa dan peran mereka. Anda harus menjadi superuser database untuk menjalankan perintah ini.
Hak istimewa yang diperlukan
Berikut ini adalah hak istimewa yang diperlukan untuk CREATEUSER:
Superuser
Pengguna dengan hak CREATE USER istimewa
Sintaks
CREATE USER name [ WITH ] PASSWORD { 'password' | 'md5hash' | 'sha256hash' | DISABLE } [ option [ ... ] ] where option can be: CREATEDB | NOCREATEDB | CREATEUSER | NOCREATEUSER | SYSLOG ACCESS { RESTRICTED | UNRESTRICTED } | IN GROUP groupname [, ... ] | VALID UNTIL 'abstime' | CONNECTION LIMIT { limit | UNLIMITED } | SESSION TIMEOUT limit | EXTERNALID external_id
Parameter
- name
-
Nama pengguna yang akan dibuat. Nama pengguna tidak dapat
PUBLIC
. Untuk informasi selengkapnya tentang nama yang valid, lihatNama dan pengenal. - WITH
-
Kata kunci opsional. WITHdiabaikan oleh Amazon Redshift
- PASSWORD{'kata sandi' | 'md5hash' | 'sha256hash' |} DISABLE
-
Mengatur kata sandi pengguna.
Secara default, pengguna dapat mengubah kata sandi mereka sendiri, kecuali kata sandi dinonaktifkan. Untuk menonaktifkan kata sandi pengguna, tentukanDISABLE. Ketika kata sandi pengguna dinonaktifkan, kata sandi dihapus dari sistem dan pengguna dapat masuk hanya menggunakan kredensyal pengguna sementara AWS Identity and Access Management (IAM). Untuk informasi selengkapnya, lihat Menggunakan IAM Otentikasi untuk Menghasilkan Kredensial Pengguna Database. Hanya superuser yang dapat mengaktifkan atau menonaktifkan kata sandi. Anda tidak dapat menonaktifkan kata sandi pengguna super. Untuk mengaktifkan kata sandi, jalankan ALTER USER dan tentukan kata sandi.
Anda dapat menentukan kata sandi dalam teks yang jelas, sebagai string MD5 hash, atau sebagai string SHA256 hash.
catatan
Saat meluncurkan klaster baru menggunakan AWS Management Console, AWS CLI, atau Amazon RedshiftAPI, Anda harus memberikan kata sandi teks yang jelas untuk pengguna basis data awal. Anda dapat mengubah kata sandi nanti dengan menggunakanALTER USER.
Untuk teks yang jelas, kata sandi harus memenuhi batasan berikut:
-
Panjangnya harus 8 hingga 64 karakter.
-
Ini harus berisi setidaknya satu huruf besar, satu huruf kecil, dan satu angka.
-
Ini dapat menggunakan ASCII karakter apa pun dengan ASCII kode 33—126, kecuali '(tanda kutip tunggal), "(tanda kutip ganda),\,/, atau @.
Sebagai alternatif yang lebih aman untuk meneruskan parameter CREATE USER kata sandi sebagai teks yang jelas, Anda dapat menentukan MD5 hash string yang menyertakan kata sandi dan nama pengguna.
catatan
Saat Anda menentukan string MD5 hash, CREATE USER perintah memeriksa string MD5 hash yang valid, tetapi tidak memvalidasi bagian kata sandi dari string. Dalam hal ini dimungkinkan untuk membuat kata sandi, seperti string kosong, yang tidak dapat Anda gunakan untuk masuk ke database.
Untuk menentukan kata MD5 sandi, ikuti langkah-langkah ini:
-
Gandungkan kata sandi dan nama pengguna.
Misalnya, untuk kata sandi
ez
dan penggunauser1
, string gabungan adalah.ezuser1
-
Ubah string gabungan menjadi string hash 32 MD5 karakter. Anda dapat menggunakan MD5 utilitas apa pun untuk membuat string hash. Contoh berikut menggunakan Amazon Redshift MD5 fungsi dan operator penggabungan (||) untuk mengembalikan string -hash 32-karakter. MD5
select md5('ez' || 'user1');
md5 -------------------------------- 153c434b4b77c89e6b94f12c5393af5b
-
Gabungkan '
md5
' di depan string MD5 hash dan berikan string gabungan sebagai argumen md5hash.create user user1 password 'md5153c434b4b77c89e6b94f12c5393af5b';
-
Masuk ke database menggunakan kredensi masuk.
Untuk contoh ini, masuk seperti
user1
kata sandiez
.
Alternatif aman lainnya adalah menentukan hash SHA -256 dari string kata sandi; atau Anda dapat memberikan intisari SHA -256 yang valid dan garam 256-bit yang digunakan untuk membuat intisari.
Digest — Output dari fungsi hashing.
Garam — Data yang dihasilkan secara acak yang dikombinasikan dengan kata sandi untuk membantu mengurangi pola dalam output fungsi hashing.
'sha256|Mypassword'
'sha256|digest|256-bit-salt'
Dalam contoh berikut, Amazon Redshift menghasilkan dan mengelola garam.
CREATE USER admin PASSWORD 'sha256|Mypassword1';
Dalam contoh berikut, intisari SHA -256 yang valid dan garam 256-bit yang digunakan untuk membuat intisari disediakan.
Untuk menentukan kata sandi dan hash dengan garam Anda sendiri, ikuti langkah-langkah ini:
-
Buat garam 256-bit. Anda dapat memperoleh garam dengan menggunakan generator string heksadesimal apa pun untuk menghasilkan string sepanjang 64 karakter. Untuk contoh ini, garamnya
c721bff5d9042cf541ff7b9d48fa8a6e545c19a763e3710151f9513038b0f6c6
. Gunakan HEX fungsi FROM _ untuk mengonversi garam Anda menjadi biner. Ini karena SHA2 fungsinya membutuhkan representasi biner dari garam. Lihat pernyataan berikut.
SELECT FROM_HEX('c721bff5d9042cf541ff7b9d48fa8a6e545c19a763e3710151f9513038b0f6c6');
Gunakan CONCAT fungsi untuk menambahkan garam Anda ke kata sandi Anda. Untuk contoh ini, kata sandinya adalah
Mypassword1
. Lihat pernyataan berikut.SELECT CONCAT('Mypassword1',FROM_HEX('c721bff5d9042cf541ff7b9d48fa8a6e545c19a763e3710151f9513038b0f6c6'));
Gunakan SHA2 fungsi untuk membuat intisari dari kata sandi dan kombinasi garam Anda. Lihat pernyataan berikut.
SELECT SHA2(CONCAT('Mypassword1',FROM_HEX('c721bff5d9042cf541ff7b9d48fa8a6e545c19a763e3710151f9513038b0f6c6')), 0);
Menggunakan intisari dan garam dari langkah sebelumnya, buat pengguna. Lihat pernyataan berikut.
CREATE USER admin PASSWORD 'sha256|821708135fcc42eb3afda85286dee0ed15c2c461d000291609f77eb113073ec2|c721bff5d9042cf541ff7b9d48fa8a6e545c19a763e3710151f9513038b0f6c6';
-
Masuk ke database menggunakan kredensi masuk.
Untuk contoh ini, masuk seperti
admin
kata sandiMypassword1
.
Jika Anda menetapkan kata sandi dalam teks biasa tanpa menentukan fungsi hashing, maka MD5 intisari dibuat menggunakan nama pengguna sebagai garam.
-
- CREATEDB | NOCREATEDB
-
CREATEDBOpsi ini memungkinkan pengguna baru untuk membuat database. Defaultnya adalahNOCREATEDB.
- CREATEUSER | NOCREATEUSER
-
CREATEUSEROpsi ini membuat superuser dengan semua hak istimewa database, termasuk. CREATE USER Defaultnya adalahNOCREATEUSER. Untuk informasi selengkapnya, lihat superuser.
- SYSLOG ACCESS { RESTRICTED | UNRESTRICTED }
-
Klausa yang menentukan tingkat akses yang dimiliki pengguna ke tabel dan tampilan sistem Amazon Redshift.
Pengguna biasa yang memiliki SYSLOG ACCESS RESTRICTED izin hanya dapat melihat baris yang dihasilkan oleh pengguna tersebut dalam tabel dan tampilan sistem yang terlihat pengguna. Defaultnya adalahRESTRICTED.
Pengguna reguler yang memiliki SYSLOG ACCESS UNRESTRICTED izin dapat melihat semua baris dalam tabel dan tampilan sistem yang terlihat pengguna, termasuk baris yang dihasilkan oleh pengguna lain. UNRESTRICTEDtidak memberikan akses pengguna biasa ke tabel yang terlihat oleh pengguna super. Hanya pengguna super yang dapat melihat tabel yang terlihat oleh pengguna super.
catatan
Memberikan pengguna akses tak terbatas ke tabel sistem memberikan visibilitas pengguna ke data yang dihasilkan oleh pengguna lain. Misalnya, STL _ QUERY dan STL _ QUERYTEXT berisi teks lengkapINSERT,, dan DELETE pernyataanUPDATE, yang mungkin berisi data sensitif buatan pengguna.
Semua baris di SVV _ TRANSACTIONS dapat dilihat oleh semua pengguna.
Untuk informasi selengkapnya, lihat Visibilitas data dalam tabel dan tampilan sistem.
- DI nama GROUP grup
-
Menentukan nama grup yang ada yang dimiliki pengguna. Beberapa nama grup dapat dicantumkan.
- VALIDUNTILabstime
-
VALIDUNTILOpsi menetapkan waktu absolut setelah kata sandi pengguna tidak lagi valid. Secara default kata sandi tidak memiliki batas waktu.
- CONNECTIONLIMIT{batas |UNLIMITED}
-
Jumlah maksimum koneksi database pengguna diizinkan untuk membuka secara bersamaan. Batas tidak diberlakukan untuk pengguna super. Gunakan UNLIMITED kata kunci untuk memungkinkan jumlah maksimum koneksi bersamaan. Batas jumlah koneksi untuk setiap database mungkin juga berlaku. Untuk informasi selengkapnya, lihat CREATE DATABASE. Defaultnya adalahUNLIMITED. Untuk melihat koneksi saat ini, kueri tampilan STV_SESSIONS sistem.
catatan
Jika batas koneksi pengguna dan basis data berlaku, slot koneksi yang tidak digunakan harus tersedia yang berada dalam kedua batas saat pengguna mencoba untuk terhubung.
- SESSIONTIMEOUTmembatasi
-
Waktu maksimum dalam hitungan detik sesi tetap tidak aktif atau menganggur. Kisarannya adalah 60 detik (satu menit) hingga 1.728.000 detik (20 hari). Jika tidak ada batas waktu sesi yang ditetapkan untuk pengguna, pengaturan cluster berlaku. Untuk informasi selengkapnya, lihat Kuota dan batas di Amazon Redshift di Panduan Manajemen Pergeseran Merah Amazon.
Saat Anda mengatur batas waktu sesi, itu hanya diterapkan ke sesi baru.
Untuk melihat informasi tentang sesi pengguna aktif, termasuk waktu mulai, nama pengguna, dan batas waktu sesi, kueri tampilan STV_SESSIONS sistem. Untuk melihat informasi tentang riwayat sesi pengguna, kueri tampilan. STL_SESSIONS Untuk mengambil informasi tentang pengguna database, termasuk nilai session-timeout, kueri tampilan. SVL_USER_INFO
- EXTERNALIDexternal_id
-
Pengidentifikasi untuk pengguna, yang terkait dengan penyedia identitas. Pengguna harus menonaktifkan kata sandi mereka. Untuk informasi selengkapnya, lihat Federasi penyedia identitas asli (iDP) untuk Amazon Redshift.
Catatan penggunaan
Secara default, semua pengguna memiliki CREATE dan USAGE hak istimewa pada PUBLIC skema. Untuk melarang pengguna membuat objek dalam PUBLIC skema database, gunakan REVOKE perintah untuk menghapus hak istimewa itu.
Saat menggunakan IAM otentikasi untuk membuat kredensi pengguna database, Anda mungkin ingin membuat superuser yang hanya dapat masuk menggunakan kredenal sementara. Anda tidak dapat menonaktifkan kata sandi pengguna super, tetapi Anda dapat membuat kata sandi yang tidak dikenal menggunakan string MD5 hash yang dibuat secara acak.
create user iam_superuser password 'md5A1234567890123456780123456789012' createuser;
Kasus nama pengguna yang dilampirkan dalam tanda kutip ganda selalu dipertahankan terlepas dari pengaturan opsi enable_case_sensitive_identifier
konfigurasi. Untuk informasi selengkapnya, lihat enable_case_sensitive_identifier.
Contoh
Perintah berikut membuat pengguna bernama dbuser, dengan kata sandi “ABCD1234", hak istimewa pembuatan database, dan batas koneksi 30.
create user dbuser with password 'abcD1234' createdb connection limit 30;
Kueri tabel INFO katalog USER PG_ _ untuk melihat detail tentang pengguna database.
select * from pg_user_info;
usename | usesysid | usecreatedb | usesuper | usecatupd | passwd | valuntil | useconfig | useconnlimit -----------+----------+-------------+----------+-----------+----------+----------+-----------+------------- rdsdb | 1 | true | true | true | ******** | infinity | | adminuser | 100 | true | true | false | ******** | | | UNLIMITED dbuser | 102 | true | false | false | ******** | | | 30
Dalam contoh berikut, kata sandi akun berlaku hingga 10 Juni 2017.
create user dbuser with password 'abcD1234' valid until '2017-06-10';
Contoh berikut membuat pengguna dengan password case-sensitive yang berisi karakter khusus.
create user newman with password '@AbC4321!';
Untuk menggunakan garis miring terbalik ('\') di MD5 kata sandi Anda, hindari garis miring terbalik dengan garis miring terbalik di string sumber Anda. Contoh berikut membuat pengguna bernama slashpass
dengan garis miring terbalik tunggal ('\
') sebagai kata sandi.
select md5('\\'||'slashpass');
md5 -------------------------------- 0c983d1a624280812631c5389e60d48c
Buat pengguna dengan kata sandi md5.
create user slashpass password 'md50c983d1a624280812631c5389e60d48c';
Contoh berikut membuat pengguna bernama dbuser
dengan batas waktu siaga disetel ke 120 detik.
CREATE USER dbuser password 'abcD1234' SESSION TIMEOUT 120;
Contoh berikut membuat pengguna bernama bob
. Namespace adalah. myco_aad
Ini hanya sampel. Untuk menjalankan perintah dengan sukses, Anda harus memiliki penyedia identitas terdaftar. Untuk informasi selengkapnya, lihat Federasi penyedia identitas asli (iDP) untuk Amazon Redshift.
CREATE USER myco_aad:bob EXTERNALID "ABC123" PASSWORD DISABLE;