Menggunakan antarmuka manajemen Amazon Redshift untuk cluster yang disediakan - Amazon Redshift

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

Menggunakan antarmuka manajemen Amazon Redshift untuk cluster yang disediakan

catatan

Topik ini berfokus pada antarmuka manajemen Amazon Redshift untuk cluster yang disediakan. Ada antarmuka manajemen serupa untuk Amazon Redshift Serverless dan Amazon Redshift Data API.

Amazon Redshift mendukung beberapa antarmuka manajemen yang dapat Anda gunakan untuk membuat, mengelola, dan menghapus klaster Amazon Redshift: AWS SDK, () AWS Command Line Interface ,AWS CLI dan API manajemen Amazon Redshift.

Amazon Redshift API — Anda dapat memanggil API manajemen Amazon Redshift ini dengan mengirimkan permintaan. Permintaan adalah permintaan HTTP atau HTTPS yang menggunakan kata kerja HTTP GET atau POST dengan parameter bernamaAction. Memanggil Amazon Redshift API adalah cara paling langsung untuk mengakses layanan Amazon Redshift. Namun, aplikasi Anda harus menangani detail tingkat rendah seperti penanganan kesalahan dan menghasilkan hash untuk menandatangani permintaan.

  • Untuk informasi tentang membuat dan menandatangani permintaan Amazon Redshift API, lihat. Menandatangani permintaan HTTP

  • Untuk informasi tentang tindakan Amazon Redshift API dan tipe data untuk Amazon Redshift, lihat referensi Amazon Redshift API.

AWS SDK — Anda dapat menggunakan AWS SDK untuk melakukan operasi terkait klaster Amazon Redshift. Beberapa pustaka SDK membungkus API Amazon Redshift yang mendasarinya. Mereka mengintegrasikan fungsionalitas API ke dalam bahasa pemrograman tertentu dan menangani banyak detail tingkat rendah, seperti menghitung tanda tangan, menangani percobaan ulang permintaan, dan penanganan kesalahan. Memanggil fungsi pembungkus di pustaka SDK dapat sangat menyederhanakan proses penulisan aplikasi untuk mengelola cluster Amazon Redshift.

  • Amazon Redshift didukung oleh AWS SDK untuk Java, .NET, PHP, Python, Ruby, dan Node.js. Fungsi pembungkus untuk Amazon Redshift didokumentasikan dalam manual referensi untuk setiap SDK. Untuk daftar AWS SDK dan tautan ke dokumentasinya, lihat Alat untuk Amazon Web Services.

  • Panduan ini memberikan contoh bekerja dengan Amazon Redshift menggunakan Java SDK. Untuk contoh kode AWS SDK yang lebih umum, lihatContoh kode untuk Amazon Redshift menggunakan SDK AWS.

AWS CLICLI menyediakan seperangkat alat baris perintah yang dapat Anda gunakan untuk mengelola AWS layanan dari komputer Windows, Mac, dan Linux. AWS CLI Termasuk perintah berdasarkan tindakan Amazon Redshift API.

Menandatangani permintaan HTTP

Amazon Redshift mengharuskan setiap permintaan yang Anda kirim ke API manajemen diautentikasi dengan tanda tangan. Topik ini menjelaskan cara menandatangani permintaan Anda.

Jika Anda menggunakan salah satu Kit Pengembangan Perangkat AWS Lunak (SDK) atau AWS Command Line Interface, penandatanganan permintaan ditangani secara otomatis, dan Anda dapat melewati bagian ini. Untuk informasi selengkapnya tentang menggunakan AWS SDK, lihatMenggunakan antarmuka manajemen Amazon Redshift untuk cluster yang disediakan. Untuk informasi selengkapnya tentang penggunaan Antarmuka Baris Perintah Amazon Redshift, buka referensi baris perintah Amazon Redshift.

Untuk menandatangani permintaan, Anda menghitung tanda tangan digital dengan menggunakan fungsi hash kriptografi. Hash kriptografi adalah fungsi yang mengembalikan nilai hash unik yang didasarkan pada input. Input ke fungsi hash mencakup teks permintaan Anda dan kunci akses rahasia Anda yang bisa Anda dapatkan dari kredensi sementara. Fungsi hash mengembalikan nilai hash yang Anda sertakan dalam permintaan sebagai tanda tangan Anda. Tanda tangan adalah bagian header Authorization dari permintaan Anda.

catatan

Pengguna membutuhkan akses terprogram jika mereka ingin berinteraksi dengan AWS luar. AWS Management Console Cara untuk memberikan akses terprogram tergantung pada jenis pengguna yang mengakses AWS.

Untuk memberi pengguna akses programatis, pilih salah satu opsi berikut.

Pengguna mana yang membutuhkan akses programatis? Untuk Oleh

Identitas tenaga kerja

(Pengguna yang dikelola di Pusat Identitas IAM)

Gunakan kredenal sementara untuk menandatangani permintaan terprogram ke AWS CLI, AWS SDK, atau API. AWS

Mengikuti petunjuk untuk antarmuka yang ingin Anda gunakan.

IAM Gunakan kredenal sementara untuk menandatangani permintaan terprogram ke AWS CLI, AWS SDK, atau API. AWS Mengikuti petunjuk dalam Menggunakan kredensi sementara dengan AWS sumber daya di Panduan Pengguna IAM.
IAM

(Tidak direkomendasikan)

Gunakan kredenal jangka panjang untuk menandatangani permintaan terprogram ke AWS CLI, AWS SDK, atau API. AWS

Mengikuti petunjuk untuk antarmuka yang ingin Anda gunakan.

Setelah Amazon Redshift menerima permintaan Anda, itu menghitung ulang tanda tangan dengan menggunakan fungsi hash yang sama dan input yang Anda gunakan untuk menandatangani permintaan. Jika tanda tangan yang dihasilkan cocok dengan tanda tangan dalam permintaan, Amazon Redshift memproses permintaan; jika tidak, permintaan ditolak.

Amazon Redshift mendukung otentikasi menggunakan versi AWS tanda tangan 4. Proses untuk menghitung tanda tangan terdiri dari tiga tugas. Tugas-tugas ini diilustrasikan dalam contoh berikut.

  • Tugas 1: Buat permintaan kanonik

    Atur ulang permintaan HTTP Anda ke dalam bentuk kanonik. Menggunakan bentuk kanonik diperlukan karena Amazon Redshift menggunakan bentuk kanonik yang sama untuk menghitung tanda tangan yang dibandingkan dengan yang Anda kirim.

  • Tugas 2: Buat string untuk ditandatangani

    Buat string yang akan Anda gunakan sebagai salah satu nilai input untuk fungsi hash kriptografi Anda. String, yang disebut string to sign, adalah rangkaian dari nama algoritme hash, tanggal permintaan, string cakupan kredensial, dan permintaan kanonikalisasi dari tugas sebelumnya. String lingkup kredensi itu sendiri adalah rangkaian informasi tanggal, wilayah, dan layanan.

  • Tugas 3: Hitung tanda tangan

    Hitung tanda tangan untuk permintaan Anda dengan menggunakan fungsi hash kriptografi yang menerima dua string input, string Anda untuk ditandatangani dan kunci turunan. Kunci turunan dihitung dengan memulai dengan kunci akses rahasia Anda dan menggunakan string cakupan kredensi untuk membuat serangkaian kode otentikasi pesan berbasis hash (HMAC-SHA256).

Contoh perhitungan tanda tangan

Contoh berikut memandu Anda melalui detail pembuatan tanda tangan untuk CreateClusterpermintaan. Anda dapat menggunakan contoh ini sebagai referensi untuk memeriksa metode perhitungan tanda tangan Anda sendiri. Perhitungan referensi lainnya disertakan dalam bagian Minta contoh tanda tangan pada Panduan Pengguna IAM.

Anda dapat menggunakan permintaan GET atau POST untuk mengirim permintaan ke Amazon Redshift. Perbedaan antara keduanya adalah bahwa untuk permintaan GET parameter Anda dikirim sebagai parameter string kueri. Untuk permintaan POST mereka termasuk dalam badan permintaan. Contoh di bawah ini menunjukkan permintaan POST.

Contoh tersebut mengasumsikan sebagai berikut:

  • Stempel waktu permintaan adalah Fri, 07 Dec 2012 00:00:00 GMT.

  • Titik akhirnya adalah Wilayah AS Timur (Virginia Utara),us-east-1.

Sintaks permintaan umum adalah:

https://redshift.us-east-1.amazonaws.com/ ?Action=CreateCluster &ClusterIdentifier=examplecluster &MasterUsername=masteruser &MasterUserPassword=12345678Aa &NumberOfNode=2 &NodeType=dc2.large &Version=2012-12-01 &x-amz-algorithm=AWS4-HMAC-SHA256 &x-amz-credential=AKIAIOSFODNN7EXAMPLE/20121207/us-east-1/redshift/aws4_request &x-amz-date=20121207T000000Z &x-amz-signedheaders=content-type;host;x-amz-date

Bentuk kanonik permintaan yang dihitung untuk Tugas 1: Membuat Permintaan Kanonik adalah:

POST / content-type:application/x-www-form-urlencoded; charset=utf-8 host:redshift.us-east-1.amazonaws.com x-amz-date:20121207T000000Z content-type;host;x-amz-date 55141b5d2aff6042ccd9d2af808fdf95ac78255e25b823d2dbd720226de1625d

Baris terakhir dari permintaan kanonik adalah hash dari isi permintaan. Baris ketiga dalam permintaan kanonik kosong karena tidak ada parameter kueri untuk API ini.

String yang akan ditandatangani untuk Tugas 2: Buat String untuk Ditandatangani adalah:

AWS4-HMAC-SHA256 20121207T000000Z 20121207/us-east-1/redshift/aws4_request 06b6bef4f4f060a5558b60c627cc6c5b5b5a959b9902b5ac2187be80cbac0714

Baris pertama string to sign adalah algoritme, baris kedua adalah stempel waktu, baris ketiga adalah cakupan kredensial, dan baris terakhir adalah hash permintaan kanonik dari Tugas 1: Membuat Permintaan Kanonik. Nama layanan untuk digunakan dalam cakupan kredensial adalah redshift.

Untuk Tugas 3: Hitung Tanda Tangan, kunci turunan dapat direpresentasikan sebagai:

derived key = HMAC(HMAC(HMAC(HMAC("AWS4" + YourSecretAccessKey,"20121207"),"us-east-1"),"redshift"),"aws4_request")

Kunci turunan dihitung sebagai rangkaian fungsi hash. Mulai dari pernyataan HMAC dalam rumus di atas, Anda menggabungkan frasa AWS4 dengan kunci akses rahasia Anda dan menggunakan ini sebagai kunci untuk hash data “us-east-1". Hasil hash ini menjadi kunci untuk fungsi hash berikutnya.

Setelah Anda menghitung kunci turunan, Anda menggunakannya dalam fungsi hash yang menerima dua string input, string Anda untuk ditandatangani dan kunci turunan. Misalnya, jika Anda menggunakan kunci akses rahasia wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY dan string untuk menandatangani yang diberikan sebelumnya, maka tanda tangan yang dihitung adalah sebagai berikut:

9a6b557aa9f38dea83d9215d8f0eae54100877f3e0735d38498d7ae489117920

Langkah terakhir adalah membangun header Authorization. Untuk access key demonstrasi AKIAIOSFODNN7EXAMPLE, header (dengan jeda baris yang ditambahkan untuk keterbacaan) adalah:

Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20121207/us-east-1/redshift/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=9a6b557aa9f38dea83d9215d8f0eae54100877f3e0735d38498d7ae489117920

Menyiapkan Amazon Redshift CLI

Bagian ini menjelaskan cara mengatur dan menjalankan alat baris AWS CLI perintah untuk digunakan dalam mengelola Amazon Redshift. Alat baris perintah Amazon Redshift berjalan di AWS Command Line Interface (AWS CLI), yang pada gilirannya menggunakan Python (https://www.python.org/). Ini AWS CLI dapat dijalankan pada sistem operasi apa pun yang mendukung Python.

Petunjuk pemasangan

Untuk mulai menggunakan alat baris perintah Amazon Redshift, Anda terlebih dahulu mengatur AWS CLI, dan kemudian Anda menambahkan file konfigurasi yang menentukan opsi Amazon Redshift CLI.

Jika Anda telah menginstal dan mengkonfigurasi AWS CLI untuk AWS layanan lain, Anda dapat melewati prosedur ini.

Untuk menginstal AWS Command Line Interface
  1. Pergi ke Instal atau perbarui ke versi terbaru dari AWS CLI, dan kemudian ikuti petunjuk untuk menginstal AWS CLI.

    Untuk akses CLI, Anda memerlukan ID kunci akses dan kunci akses rahasia. Gunakan kredensyal sementara alih-alih kunci akses jangka panjang jika memungkinkan. Kredensi sementara mencakup ID kunci akses, kunci akses rahasia, dan token keamanan yang menunjukkan kapan kredensialnya kedaluwarsa. Untuk informasi selengkapnya, lihat Menggunakan kredensi sementara dengan AWS sumber daya di Panduan Pengguna IAM.

  2. Buat file yang berisi informasi konfigurasi seperti kunci akses, wilayah default, dan format output perintah. Kemudian atur variabel AWS_CONFIG_FILE lingkungan untuk referensi file itu. Untuk instruksi terperinci, buka Mengkonfigurasi antarmuka baris AWS perintah di Panduan AWS Command Line Interface Pengguna.

  3. Jalankan perintah uji untuk mengonfirmasi bahwa AWS CLI antarmuka berfungsi. Misalnya, perintah berikut harus menampilkan informasi bantuan untuk AWS CLI:

    aws help

    Perintah berikut akan menampilkan informasi bantuan untuk Amazon Redshift:

    aws redshift help

Untuk materi referensi tentang perintah Amazon Redshift CLI, buka Amazon Redshift di Referensi. AWS CLI