View a markdown version of this page

Mendefinisikan peran database untuk diberikan kepada pengguna federasi di Amazon Redshift Serverless - 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.

Mendefinisikan peran database untuk diberikan kepada pengguna federasi di Amazon Redshift Serverless

Ketika Anda menjadi bagian dari organisasi, Anda memiliki kumpulan peran terkait. Misalnya, Anda memiliki peran untuk fungsi pekerjaan Anda, seperti programmer dan manajer. Peran Anda menentukan aplikasi dan data mana yang dapat Anda akses. Sebagian besar organisasi menggunakan penyedia identitas, seperti Microsoft Active Directory, untuk menetapkan peran kepada pengguna dan grup. Penggunaan peran untuk mengontrol akses sumber daya telah berkembang, karena organisasi tidak harus melakukan banyak pengelolaan pengguna individu.

Baru-baru ini, kontrol akses berbasis peran diperkenalkan di Amazon Redshift Serverless. Menggunakan peran database, Anda dapat mengamankan akses ke data dan objek, seperti skema atau tabel, misalnya. Atau Anda dapat menggunakan peran untuk menentukan sekumpulan izin yang ditingkatkan, seperti untuk monitor sistem atau administrator database. Tetapi setelah Anda memberikan izin sumber daya ke peran database, ada langkah tambahan, yaitu menghubungkan peran pengguna dari organisasi ke peran database. Anda dapat menetapkan setiap pengguna ke peran database mereka saat masuk awal dengan menjalankan pernyataan SQL, tetapi itu banyak usaha. Cara yang lebih mudah adalah menentukan peran database untuk diberikan dan meneruskannya ke Amazon Redshift Serverless. Ini memiliki keuntungan menyederhanakan proses masuk awal.

Anda dapat meneruskan peran ke Amazon Redshift Serverless menggunakan. GetCredentials Saat pengguna masuk untuk pertama kalinya ke database Amazon Redshift Serverless, pengguna database terkait dibuat dan dipetakan ke peran database yang cocok. Topik ini merinci mekanisme untuk meneruskan peran ke Amazon Redshift Serverless.

Melewati peran database memiliki beberapa kasus penggunaan utama:

  • Ketika pengguna masuk melalui penyedia identitas pihak ketiga, biasanya dengan federasi yang dikonfigurasi, dan meneruskan peran melalui tag sesi.

  • Ketika pengguna masuk melalui kredensional masuk IAM, dan peran mereka diteruskan melalui kunci tag dan nilai.

Untuk informasi selengkapnya tentang kontrol akses berbasis peran, lihat kontrol Role-based akses (RBAC).

Mendefinisikan peran database

Sebelum Anda dapat meneruskan peran ke Amazon Redshift Serverless, Anda harus mengonfigurasi peran database di database Anda dan memberinya izin yang sesuai pada sumber daya database. Misalnya, dalam skenario sederhana, Anda dapat membuat peran database bernama sales dan memberikannya akses ke tabel kueri dengan data penjualan. Untuk informasi selengkapnya tentang cara membuat peran database dan memberikan izin, lihat CREATE ROLE dan GRANT.

Gunakan kasus untuk menentukan peran database untuk diberikan kepada pengguna federasi

Bagian ini menguraikan beberapa kasus penggunaan di mana meneruskan peran database ke Amazon Redshift Serverless dapat menyederhanakan akses ke sumber daya database.

Masuk menggunakan penyedia identitas

Kasus penggunaan pertama mengasumsikan bahwa organisasi Anda memiliki identitas pengguna dalam layanan manajemen identitas dan akses. Layanan ini dapat berbasis cloud, misalnya JumpCloud atau Okta, atau lokal, seperti Microsoft Active Directory. Tujuannya adalah untuk secara otomatis memetakan peran pengguna dari penyedia identitas ke peran database Anda ketika mereka masuk ke klien seperti Query editor V2, misalnya, atau dengan klien JDBC. Untuk mengatur ini, Anda harus menyelesaikan beberapa tugas konfigurasi. Sumber daya yang dimaksud meliputi:

  1. Konfigurasikan integrasi federasi dengan penyedia identitas (IdP) menggunakan hubungan kepercayaan. Ini adalah prasyarat. Saat Anda mengatur ini, penyedia identitas bertanggung jawab untuk mengotentikasi pengguna melalui pernyataan SAML dan memberikan kredentif masuk. Untuk informasi selengkapnya, lihat Mengintegrasikan penyedia solusi SAML pihak ketiga dengan AWS. Anda juga dapat menemukan informasi lebih lanjut di Ak ses Federate ke editor kueri Amazon Redshift V2 dengan Active Directory Federation Services (AD FS) atau akses masuk tunggal Federate ke editor kueri Amazon Redshift v2 dengan Okta.

  2. Pengguna harus memiliki izin kebijakan berikut:

    • GetCredentials- Menyediakan kredenSIAL untuk otorisasi sementara untuk masuk ke Amazon Redshift Serverless.

    • sts:AssumeRoleWithSAMLMenyediakan mekanisme untuk mengikat penyimpanan identitas perusahaan atau direktori ke akses berbasis peran AWS .

    • sts:TagSession— Izin untuk tindakan sesi tag, pada prinsip penyedia identitas.

    Dalam hal ini, AssumeRoleWithSAML mengembalikan satu set kredentif keamanan untuk pengguna yang telah diautentikasi melalui respons terautentikasi SAML. Operasi ini menyediakan mekanisme untuk mengikat penyimpanan identitas atau direktori ke AWS akses berbasis peran tanpa kredenSIAL khusus pengguna. Untuk pengguna dengan izinAssumeRoleWithSAML, penyedia identitas bertanggung jawab untuk mengelola pernyataan SAML yang digunakan untuk meneruskan informasi peran.

    Sebagai praktik terbaik, sebaiknya lampirkan kebijakan izin ke peran IAM dan kemudian menetapkannya ke pengguna dan grup sesuai kebutuhan. Untuk informasi selengkapnya, lihat Identitas dan manajemen akses di Amazon Redshift.

  3. Anda mengonfigurasi tag RedshiftDbRoles dengan nilai peran yang dipisahkan titik dua, dalam format role1:role2. Misalnya, manager:engineer. Ini dapat diambil dari implementasi tag sesi yang dikonfigurasi di penyedia identitas Anda. Permintaan otentikasi SAML melewati peran secara terprogram. Untuk informasi selengkapnya tentang meneruskan tag sesi, lihat Meneruskan tag sesi di AWS STS.

    Dalam kasus di mana Anda meneruskan nama peran yang tidak ada di database, nama itu diabaikan.

Dalam kasus penggunaan ini, ketika pengguna masuk menggunakan identitas federasi, peran mereka diteruskan dalam permintaan otorisasi melalui kunci dan nilai tag sesi. Selanjutnya, setelah otorisasiGetCredentials, meneruskan peran ke database. Setelah koneksi berhasil, peran database dipetakan dan pengguna dapat melakukan tugas database yang sesuai dengan peran mereka. Bagian penting dari operasi ini adalah bahwa tag RedshiftDbRoles sesi diberi peran dalam permintaan otorisasi awal. Untuk informasi selengkapnya tentang meneruskan tag sesi, lihat Meneruskan tag sesi menggunakan AssumeRoleWithSAML.

Masuk menggunakan kredensional IAM

Dalam kasus penggunaan kedua, peran dapat diteruskan untuk pengguna dan mereka dapat mengakses aplikasi klien database melalui kredenSIAL IAM.

  1. Pengguna yang masuk dalam kasus ini harus diberi izin kebijakan untuk tindakan berikut:

    • tag:GetResources— Mengembalikan sumber daya yang ditandai terkait dengan tag tertentu.

    • tag:GetTagKeys— Mengembalikan kunci tag yang saat ini digunakan.

      Sebagai praktik terbaik, sebaiknya lampirkan kebijakan izin ke peran IAM dan kemudian menetapkannya ke pengguna dan grup sesuai kebutuhan. Untuk informasi selengkapnya, lihat Identitas dan manajemen akses di Amazon Redshift.

  2. Izinkan izin juga diperlukan untuk mengakses layanan database, seperti Amazon Redshift Serverless.

  3. Untuk kasus penggunaan ini, konfigurasikan nilai tag untuk peran Anda di AWS Identity and Access Management. Anda dapat memilih untuk mengedit tag dan membuat kunci tag yang dipanggil RedshiftDbRoles dengan string nilai tag yang menyertainya yang berisi peran. Misalnya, manager:engineer.

Ketika pengguna masuk, peran mereka ditambahkan ke permintaan otorisasi dan diteruskan ke database. Ini dipetakan ke peran database yang ada.

Sumber daya tambahan

Seperti disebutkan dalam kasus penggunaan, Anda dapat mengonfigurasi hubungan kepercayaan antara IdP dan AWS. Untuk informasi selengkapnya, lihat Meng onfigurasi IdP SAML 2.0 Anda dengan kepercayaan pihak yang mengandalkan dan menambahkan klaim.