Mengkonfigurasi otentikasi dan SSL - Amazon Redshift

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

Mengkonfigurasi otentikasi dan SSL

Untuk melindungi data dari akses yang tidak sah, penyimpanan data Amazon Redshift memerlukan semua koneksi untuk diautentikasi menggunakan kredensyal pengguna. Beberapa penyimpanan data juga memerlukan koneksi yang harus dibuat melalui protokol Secure Sockets Layer (SSL), baik dengan atau tanpa otentikasi satu arah.

Driver Amazon Redshift JDBC versi 2.1 memberikan dukungan penuh untuk protokol otentikasi ini.

Versi SSL yang didukung driver tergantung pada versi JVM yang Anda gunakan. Untuk informasi tentang versi SSL yang didukung oleh setiap versi Java, lihat Mendiagnosis TLS, SSL, dan HTTPS di Blog Manajemen Produk Grup Platform Java.

Versi SSL yang digunakan untuk koneksi adalah versi tertinggi yang didukung oleh driver dan server, yang ditentukan pada waktu koneksi.

Konfigurasikan driver Amazon Redshift JDBC versi 2.1 untuk mengautentikasi koneksi Anda sesuai dengan persyaratan keamanan server Redshift yang Anda sambungkan.

Anda harus selalu memberikan nama pengguna dan kata sandi Redshift Anda untuk mengautentikasi koneksi. Bergantung pada apakah SSL diaktifkan dan diperlukan di server, Anda mungkin juga perlu mengonfigurasi driver untuk terhubung melalui SSL. Atau Anda mungkin menggunakan otentikasi SSL satu arah sehingga klien (driver itu sendiri) memverifikasi identitas server.

Anda memberikan informasi konfigurasi ke driver di URL koneksi. Untuk informasi selengkapnya tentang sintaks URL koneksi, lihatMembangun URL koneksi.

SSL menunjukkan TLS/SSL, baik Transport Layer Security dan Secure Sockets Layer. Driver mendukung versi standar industri TLS/SSL.

Hanya menggunakan nama pengguna dan kata sandi

Jika server yang Anda sambungkan tidak menggunakan SSL, maka Anda hanya perlu memberikan nama pengguna dan kata sandi Redshift Anda untuk mengautentikasi koneksi.

Untuk mengonfigurasi autentikasi hanya menggunakan nama pengguna dan kata sandi Redshift
  1. Setel UID properti ke nama pengguna Redshift Anda untuk mengakses server Amazon Redshift.

  2. Setel properti PWD ke kata sandi yang sesuai dengan nama pengguna Redshift Anda.

Menggunakan SSL tanpa verifikasi identitas

Jika server yang Anda sambungkan menggunakan SSL tetapi tidak memerlukan verifikasi identitas, maka Anda dapat mengonfigurasi driver untuk menggunakan pabrik SSL yang tidak memvalidasi.

Untuk mengonfigurasi koneksi SSL tanpa verifikasi identitas
  1. Setel UID properti ke nama pengguna Redshift Anda untuk mengakses server Amazon Redshift.

  2. Atur PWD properti ke kata sandi yang sesuai dengan nama pengguna Redshift Anda.

  3. Atur SSLFactory properti kecom.amazon.redshift.ssl.NonValidatingFactory.

Menggunakan otentikasi SSL satu arah

Jika server yang Anda sambungkan menggunakan SSL dan memiliki sertifikat, maka Anda dapat mengonfigurasi driver untuk memverifikasi identitas server menggunakan otentikasi satu arah.

Otentikasi satu arah memerlukan sertifikat SSL yang ditandatangani dan tepercaya untuk memverifikasi identitas server. Anda dapat mengonfigurasi driver untuk menggunakan sertifikat tertentu atau mengakses TrustStore yang berisi sertifikat yang sesuai. Jika Anda tidak menentukan sertifikat atau TrustStore, maka driver menggunakan Java default TrustStore (biasanya salah satu jssecacerts ataucacerts).

Untuk mengonfigurasi otentikasi SSL satu arah
  1. Setel properti UID ke nama pengguna Redshift Anda untuk mengakses server Amazon Redshift.

  2. Setel properti PWD ke kata sandi yang sesuai dengan nama pengguna Redshift Anda.

  3. Setel properti SSL ke true.

  4. Setel RootCert properti SSL ke lokasi sertifikat CA root Anda.

  5. Jika Anda tidak menggunakan salah satu Java default TrustStores, lakukan salah satu hal berikut:

    • Untuk menentukan sertifikat server, atur RootCert properti SSL ke jalur lengkap sertifikat.

    • Untuk menentukan TrustStore, lakukan hal berikut:

      1. Gunakan program keytool untuk menambahkan sertifikat server ke TrustStore yang ingin Anda gunakan.

      2. Tentukan TrustStore dan kata sandi yang akan digunakan saat memulai aplikasi Java menggunakan driver. Sebagai contoh:

        -Djavax.net.ssl.trustStore=[TrustStoreName] -Djavax.net.ssl.trustStorePassword=[TrustStorePassword] -Djavax.net.ssl.trustStoreType=[TrustStoreType]
  6. Pilih salah satu:

    • Untuk memvalidasi sertifikat, setel properti SSLMode ke verify-ca.

    • Untuk memvalidasi sertifikat dan memverifikasi nama host dalam sertifikat, setel properti SSLMode ke verify-full.

Mengkonfigurasi otentikasi IAM

Jika Anda terhubung ke server Amazon Redshift menggunakan autentikasi IAM, setel properti berikut sebagai bagian dari string koneksi sumber data Anda.

Untuk informasi selengkapnya tentang autentikasi IAM, lihat. Manajemen identitas dan akses di Amazon Redshift

Untuk menggunakan otentikasi IAM, gunakan salah satu format string koneksi berikut:

String koneksi Deskripsi

jdbc:redshift:iam:// [host]:[port]/[db]

String koneksi biasa. Pengemudi menyimpulkan clusterID dan Region dari host.

jdbc:redshift:iam:// [cluster-id]: [region]/[db]

Pengemudi mengambil informasi host, mengingat ClusterID dan Region.

jdbc:redshift:iam:// [host]/[db]

Driver default ke port 5439, dan menyimpulkan ClusterID dan Region dari host. Bergantung pada port yang Anda pilih saat membuat, memodifikasi, atau memigrasi klaster, izinkan akses ke port yang dipilih.

Menentukan profil

Jika Anda menggunakan otentikasi IAM, Anda dapat menentukan properti koneksi tambahan yang diperlukan atau opsional di bawah nama profil. Dengan melakukan ini, Anda dapat menghindari meletakkan informasi tertentu secara langsung di string koneksi. Anda menentukan nama profil dalam string koneksi Anda menggunakan properti Profil.

Profil dapat ditambahkan ke file AWS kredensyal. Lokasi default untuk file ini adalah: ~/.aws/credentials

Anda dapat mengubah nilai default dengan mengatur jalur dalam variabel lingkungan berikut: AWS_CREDENTIAL_PROFILES_FILE

Untuk informasi selengkapnya tentang profil, lihat Bekerja dengan AWS Kredensyal di. AWS SDK for Java

Menggunakan kredensial profil instance

Jika Anda menjalankan aplikasi pada instans Amazon EC2 yang dikaitkan dengan peran IAM, Anda dapat terhubung menggunakan kredensyal profil instans.

Untuk melakukan ini, gunakan salah satu format string koneksi IAM di tabel sebelumnya, dan atur properti koneksi dbuser ke nama pengguna Amazon Redshift yang Anda sambungkan sebagai.

Untuk informasi selengkapnya tentang profil instans, lihat Manajemen Akses di Panduan Pengguna IAM.

Menggunakan penyedia kredensi

Driver juga mendukung plugin penyedia kredenal dari layanan berikut:

  • Layanan Federasi Direktori Aktif (ADFS)

  • Layanan Token Web JSON (JWT)

  • Layanan Microsoft Azure Active Directory (AD) dan Layanan Browser Microsoft Azure Active Directory (AD)

  • Layanan Okta

  • PingFederate Layanan

  • Browser SAMP untuk layanan SAMP seperti Okta, Ping, atau ADFS

Jika Anda menggunakan salah satu layanan ini, URL koneksi perlu menentukan properti berikut:

  • Plugin_Name - Jalur kelas yang sepenuhnya memenuhi syarat untuk kelas plugin penyedia kredensil Anda.

  • IDP_host: — Host untuk layanan yang Anda gunakan untuk mengautentikasi ke Amazon Redshift.

  • IDP_port — Port tempat host untuk layanan otentikasi mendengarkan. Tidak diperlukan untuk Okta.

  • User - Nama pengguna untuk server idp_host.

  • Kata sandi — Kata sandi yang terkait dengan nama pengguna idp_host.

  • DbUser— Nama pengguna Amazon Redshift yang Anda sambungkan sebagai.

  • SSL_insecure - Menunjukkan apakah sertifikat server IDP harus diverifikasi.

  • Client_ID — ID klien yang terkait dengan nama pengguna di portal Azure AD. Hanya digunakan untuk Azure AD.

  • Client_Secret — Rahasia klien yang terkait dengan ID klien di portal Azure AD. Hanya digunakan untuk Azure AD.

  • IDP_Tenant - ID penyewa Azure AD untuk aplikasi Amazon Redshift Anda. Hanya digunakan untuk Azure AD.

  • App_ID — ID aplikasi Okta untuk aplikasi Amazon Redshift Anda. Hanya digunakan untuk Okta.

  • App_Name — Nama aplikasi Okta opsional untuk aplikasi Amazon Redshift Anda. Hanya digunakan untuk Okta.

  • Partner_SPID — Nilai SPID mitra opsional (ID penyedia layanan). Hanya digunakan untuk PingFederate.

Jika Anda menggunakan plugin browser untuk salah satu layanan ini, URL koneksi juga dapat mencakup:

  • Login_URL —URL untuk sumber daya di situs web penyedia identitas saat menggunakan layanan Security Assertion Markup Language (SAMP) atau Azure AD melalui plugin browser. Parameter ini diperlukan jika Anda menggunakan plugin browser.

  • Listen_Port — Port yang digunakan driver untuk mendapatkan respons SAMP dari penyedia identitas saat menggunakan layanan SAMP atau Azure AD melalui plugin browser.

  • IDP_Response_Timeout — Jumlah waktu, dalam hitungan detik, driver menunggu respons SAMP dari penyedia identitas saat menggunakan layanan SAMP atau Azure AD melalui plugin browser.

Untuk informasi tentang properti string koneksi tambahan, lihatOpsi untuk konfigurasi driver JDBC versi 2.1.