View a markdown version of this page

BUAT PENGGUNA - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog yang diterbitkan pada 30 Juni 2025.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

BUAT PENGGUNA

Membuat 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 CREATE USER:

  • Superuser

  • Pengguna dengan hak istimewa CREATE USER

Sintaksis

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.

DENGAN

Kata kunci opsional. WITH diabaikan oleh Amazon Redshift

KATA SANDI {'kata sandi' | 'md5hash' | 'sha256hash' | NONAKTIFKAN}

Menetapkan kata sandi pengguna.

Secara default, pengguna dapat mengubah kata sandi mereka sendiri, kecuali kata sandi dinonaktifkan. Untuk menonaktifkan kata sandi pengguna, tentukan NONAKTIFKAN. Ketika kata sandi pengguna dinonaktifkan, kata sandi dihapus dari sistem dan pengguna dapat masuk hanya menggunakan kredenSIAL pengguna sementara AWS Identity and Access Management (IAM). Untuk informasi selengkapnya, lihat Menggunakan Otentikasi IAM untuk Menghasilkan KredenSIAL Pengguna Basis Data. Hanya pengguna super 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 hash MD5, atau sebagai string hash SHA256.

catatan

Saat meluncurkan cluster baru menggunakan Konsol Manajemen AWS, AWS CLI, atau Amazon Redshift API, 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.

  • Itu harus berisi setidaknya satu huruf besar, satu huruf kecil, dan satu angka.

  • Itu dapat menggunakan karakter ASCII apa pun dengan kode ASCII 33-126, kecuali '(tanda kutip tunggal), "(tanda kutip ganda),\,/, atau @.

Sebagai alternatif yang lebih aman untuk meneruskan parameter kata sandi CREATE USER sebagai teks yang jelas, Anda dapat menentukan hash MD5 dari string yang menyertakan kata sandi dan nama pengguna.

catatan

Ketika Anda menentukan string hash MD5, perintah CREATE USER memeriksa string hash MD5 yang valid, tetapi tidak memvalidasi bagian kata sandi dari string. Dimungkinkan dalam hal ini untuk membuat kata sandi, seperti string kosong, yang tidak dapat Anda gunakan untuk masuk ke database.

Untuk menentukan kata sandi MD5, ikuti langkah-langkah berikut:

  1. Gabungkan kata sandi dan nama pengguna.

    Misalnya, untuk kata sandi ez dan penggunauser1, string gabungan adalah. ezuser1

  2. Ubah string gabungan menjadi string hash MD5 32 karakter. Anda dapat menggunakan utilitas MD5 apa pun untuk membuat string hash. Contoh berikut menggunakan Amazon Redshift Fungsi MD5 dan operator penggabungan (||) untuk mengembalikan string 32 karakter. MD5-hash

    select md5('ez' || 'user1'); md5 -------------------------------- 153c434b4b77c89e6b94f12c5393af5b
  3. Gabungkan 'md5' di depan string hash MD5 dan berikan string gabungan sebagai argumen md5hash.

    create user user1 password 'md5153c434b4b77c89e6b94f12c5393af5b';
  4. Masuk ke database menggunakan kredenSIAL masuk.

    Untuk contoh ini, masuk seperti user1 dengan kata sandiez.

Alternatif aman lainnya adalah menentukan SHA-256 hash dari string kata sandi; atau Anda dapat memberikan intisari valid Anda sendiri SHA-256 dan garam 256-bit yang digunakan untuk membuat intisari.

  • Digest — Output dari fungsi hashing.

  • Salt — 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 cerna disediakan.

Untuk menentukan kata sandi dan hash dengan garam Anda sendiri, ikuti langkah-langkah ini:

  1. Buat garam 256-bit. Anda dapat memperoleh garam dengan menggunakan generator string heksadesimal apa pun untuk menghasilkan string sepanjang 64 karakter. Untuk contoh ini, garam adalahc721bff5d9042cf541ff7b9d48fa8a6e545c19a763e3710151f9513038b0f6c6.

  2. Gunakan fungsi FROM_HEX untuk mengubah garam Anda menjadi biner. Ini karena fungsi SHA2 membutuhkan representasi biner dari garam. Lihat pernyataan berikut.

    SELECT FROM_HEX('c721bff5d9042cf541ff7b9d48fa8a6e545c19a763e3710151f9513038b0f6c6');
  3. Gunakan fungsi CONCAT untuk menambahkan garam Anda ke kata sandi Anda. Untuk contoh ini, kata sandinya adalahMypassword1. Lihat pernyataan berikut.

    SELECT CONCAT('Mypassword1',FROM_HEX('c721bff5d9042cf541ff7b9d48fa8a6e545c19a763e3710151f9513038b0f6c6'));
  4. Gunakan fungsi SHA2 untuk membuat intisari dari kombinasi kata sandi dan garam Anda. Lihat pernyataan berikut.

    SELECT SHA2(CONCAT('Mypassword1',FROM_HEX('c721bff5d9042cf541ff7b9d48fa8a6e545c19a763e3710151f9513038b0f6c6')), 0);
  5. Menggunakan pencernaan dan garam dari langkah-langkah sebelumnya, buat pengguna. Lihat pernyataan berikut.

    CREATE USER admin PASSWORD 'sha256|821708135fcc42eb3afda85286dee0ed15c2c461d000291609f77eb113073ec2|c721bff5d9042cf541ff7b9d48fa8a6e545c19a763e3710151f9513038b0f6c6';
  6. Masuk ke database menggunakan kredenSIAL masuk.

    Untuk contoh ini, masuk seperti admin dengan kata sandiMypassword1.

Jika Anda menetapkan kata sandi dalam teks biasa tanpa menentukan fungsi hashing, maka ringkasan MD5 dihasilkan menggunakan nama pengguna sebagai garam.

CREATEDB | NOCREATEDB

Opsi CREATEDB memungkinkan pengguna baru untuk membuat database. Defaultnya adalah NOCREATEDB.

CREATEUSER | NOCREATEUSER

Opsi CREATEUSER membuat superuser dengan semua hak database, termasuk CREATE USER. Defaultnya adalah NOCREATEUSER. Untuk informasi selengkapnya, lihat superuser.

AKSES SYSLOG {DIBATASI | TIDAK DIBATASI}

Klausa yang menentukan tingkat akses yang dimiliki pengguna ke tabel dan tampilan sistem Amazon Redshift.

Pengguna biasa yang memiliki izin SYSLOG ACCESS RESTRICTED hanya dapat melihat baris yang dihasilkan oleh pengguna tersebut dalam tabel dan tampilan sistem yang terlihat pengguna. Defaultnya adalah DIBATASI.

Pengguna biasa yang memiliki izin SYSLOG ACCESS UNLIMITED dapat melihat semua baris dalam tabel dan tampilan sistem yang terlihat pengguna, termasuk baris yang dihasilkan oleh pengguna lain. UNRESTRICTED tidak 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 terhadap data yang dihasilkan oleh pengguna lain. Misalnya, STL_QUERY dan STL_QUERYTEXT berisi teks lengkap pernyataan INSERT, UPDATE, dan DELETE, yang mungkin berisi data sensitif buatan pengguna.

Semua baris di SVV_TRANSACTIONS terlihat oleh semua pengguna.

Untuk informasi selengkapnya, lihat Visibilitas data dalam tabel dan tampilan sistem.

Nama grup DALAM GRUP

Menentukan nama grup yang ada milik pengguna. Beberapa nama grup dapat dicantumkan.

BERLAKU HINGGA ab sen

Opsi VALID UNTIL menetapkan waktu absolut setelah kata sandi pengguna tidak lagi valid. Secara default kata sandi tidak memiliki batas waktu.

BATAS KONEKSI {limit | TIDAK TERBATAS}

Jumlah maksimum koneksi database yang diizinkan untuk dibuka oleh pengguna secara bersamaan. Batas tidak diberlakukan untuk pengguna super. Gunakan kata kunci UNLIMITED untuk mengizinkan jumlah maksimum koneksi bersamaan. Batas jumlah koneksi untuk setiap database mungkin juga berlaku. Untuk informasi selengkapnya, lihat BUAT BASIS DATA. Defaultnya adalah UNLIMITED. Untuk melihat koneksi saat ini, kueri STV_SESSION tampilan sistem.

catatan

Jika batas koneksi pengguna dan database berlaku, slot koneksi yang tidak digunakan harus tersedia yang berada dalam kedua batas saat pengguna mencoba menyambung.

Batas BATAS WAKTU SESI

Waktu maksimum dalam detik sesi tetap tidak aktif atau idle. 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 batasan di Amazon Redshift di Panduan Manajemen Amazon Redshift.

Saat Anda mengatur batas waktu sesi, itu hanya diterapkan pada sesi baru.

Untuk melihat informasi tentang sesi pengguna aktif, termasuk waktu mulai, nama pengguna, dan batas waktu sesi, kueri tampilan STV_SESSION sistem. Untuk melihat informasi tentang riwayat sesi pengguna, kueri STL_SESSIONS tampilan. Untuk mengambil informasi tentang pengguna database, termasuk nilai batas waktu sesi, kueri tampilan. SVL_USER_INFO

EXTERNALID_id eksternal

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 Red shift.

Catatan penggunaan

Secara default, semua pengguna memiliki hak istimewa CREATE dan USAGE pada skema PUBLIK. Untuk melarang pengguna membuat objek dalam skema PUBLIK database, gunakan perintah REVOKE untuk menghapus hak istimewa tersebut.

Saat menggunakan otentikasi IAM untuk membuat kredenSIAL pengguna database, Anda mungkin ingin membuat superuser yang dapat masuk hanya menggunakan kredenSIAL sementara. Anda tidak dapat menonaktifkan kata sandi superuser, tetapi Anda dapat membuat kata sandi yang tidak dikenal menggunakan string hash MD5 yang dibuat secara acak.

create user iam_superuser password 'md5A1234567890123456780123456789012' createuser;

Kasus nama pengguna yang terlampir 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 pembuatan database, dan batas koneksi 30.

create user dbuser with password 'abcD1234' createdb connection limit 30;

Kueri tabel katalog PG_USER_INFO 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 kata sandi peka huruf besar-kecil yang berisi karakter khusus.

create user newman with password '@AbC4321!';

Untuk menggunakan garis miring terbalik ('\') di kata sandi MD5 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 sesi idle-set menjadi 120 detik.

CREATE USER dbuser password 'abcD1234' SESSION TIMEOUT 120;

Contoh berikut membuat pengguna bernama bob. Namespace adalahmyco_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 Red shift.

CREATE USER myco_aad:bob EXTERNALID "ABC123" PASSWORD DISABLE;