Petunjuk dan persyaratan penyiapan lab
Lindungi akun dan progres Anda. Selalu gunakan jendela browser pribadi dan kredensial lab untuk menjalankan lab ini.

Mengamankan Instance Cloud SQL untuk PostgreSQL

Lab 35 menit universal_currency_alt 1 Kredit show_chart Pengantar
info Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Konten ini belum dioptimalkan untuk perangkat seluler.
Untuk pengalaman terbaik, kunjungi kami dengan komputer desktop menggunakan link yang dikirim melalui email.

GSP920

Logo lab mandiri Google Cloud

Ringkasan

Dengan kunci enkripsi yang dikelola pelanggan (CMEK), Anda dapat menggunakan kunci kriptografis Anda sendiri untuk data dalam penyimpanan di Cloud SQL. Setelah menambahkan kunci enkripsi yang dikelola pelanggan, setiap kali panggilan API dilakukan, Cloud SQL akan menggunakan kunci Anda untuk mengakses data.

Lab ini memberikan panduan langkah demi langkah tentang cara mengamankan instance Cloud SQL untuk PostgreSQL. Pertama-tama, Anda akan men-deploy instance Cloud SQL baru menggunakan CMEK. Setelah membuat instance Cloud SQL untuk PostgreSQL, Anda akan mengonfigurasi pgAudit guna mencatat dan melacak operasi SQL yang dilakukan terhadap instance tersebut secara selektif. Terakhir, Anda akan mengonfigurasi dan menguji autentikasi database IAM Cloud SQL.

Yang akan Anda lakukan

  • Menyiapkan CMEK untuk Cloud SQL untuk PostgreSQL.
  • Mengaktifkan dan mengonfigurasi pgAudit pada instance Cloud SQL untuk PostgreSQL.
  • Mengonfigurasi autentikasi database IAM Cloud SQL untuk PostgreSQL.

Target Audiens

Konten lab praktik ini akan sangat sesuai untuk Administrator Database PostgreSQL. Lab ini dirancang untuk memberi pengalaman langsung kepada para profesional dalam menyiapkan dan mengonfigurasi resource Google Cloud untuk mendukung PostgreSQL.

Penyiapan dan persyaratan

Sebelum mengklik tombol Start Lab

Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer yang dimulai saat Anda mengklik Start Lab akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.

Lab interaktif ini dapat Anda gunakan untuk melakukan aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.

Untuk menyelesaikan lab ini, Anda memerlukan:

  • Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran (direkomendasikan) atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
  • Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.

Cara memulai lab dan login ke Google Cloud Console

  1. Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran. Di sebelah kiri ada panel Lab Details yang berisi hal-hal berikut:

    • Tombol Open Google Cloud console
    • Waktu tersisa
    • Kredensial sementara yang harus Anda gunakan untuk lab ini
    • Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
  2. Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).

    Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.

    Tips: Atur tab di jendela terpisah secara berdampingan.

    Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
  3. Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.

    {{{user_0.username | "Username"}}}

    Anda juga dapat menemukan Username di panel Lab Details.

  4. Klik Next.

  5. Salin Password di bawah dan tempel ke dialog Welcome.

    {{{user_0.password | "Password"}}}

    Anda juga dapat menemukan Password di panel Lab Details.

  6. Klik Next.

    Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda. Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
  7. Klik halaman berikutnya:

    • Setujui persyaratan dan ketentuan.
    • Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
    • Jangan mendaftar uji coba gratis.

Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.

Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di kolom Search. Ikon Navigation menu dan kolom Search

Tugas 1. Membuat instance Cloud SQL untuk PostgreSQL dengan CMEK diaktifkan

Dalam tugas ini, Anda akan membuat instance Cloud SQL untuk PostgreSQL dengan CMEK diaktifkan. Anda harus menjaga keamanan kunci karena Anda tidak dapat mengelola database tanpa kunci tersebut.

Membuat akun layanan per-produk dan per-project untuk Cloud SQL

Anda dapat membuat akun layanan yang diperlukan untuk CMEK Cloud SQL menggunakan perintah gcloud beta services identity create.

  1. Di Cloud Shell, jalankan perintah berikut untuk membuat akun layanan:
export PROJECT_ID=$(gcloud config list --format 'value(core.project)') gcloud beta services identity create \ --service=sqladmin.googleapis.com \ --project=$PROJECT_ID
  1. Klik tombol Authorize jika diminta.

Tindakan ini akan membuat akun layanan yang akan Anda ikat ke CMEK pada langkah selanjutnya.

Membuat keyring dan kunci Cloud Key Management Service

Di bagian ini, Anda akan membuat keyring dan kunci Cloud KMS untuk digunakan dengan CMEK.

  1. Di Cloud Shell, jalankan perintah berikut untuk membuat keyring Cloud KMS:
export KMS_KEYRING_ID=cloud-sql-keyring export ZONE=$(gcloud compute instances list --filter="NAME=bastion-vm" --format=json | jq -r .[].zone | awk -F "/zones/" '{print $NF}') export REGION=${ZONE::-2} gcloud kms keyrings create $KMS_KEYRING_ID \ --location=$REGION
  1. Di Cloud Shell, jalankan perintah berikut untuk membuat kunci Cloud KMS:
export KMS_KEY_ID=cloud-sql-key gcloud kms keys create $KMS_KEY_ID \ --location=$REGION \ --keyring=$KMS_KEYRING_ID \ --purpose=encryption
  1. Di Cloud Shell, jalankan perintah berikut untuk mengikat kunci ke akun layanan:
export PROJECT_NUMBER=$(gcloud projects describe ${PROJECT_ID} \ --format 'value(projectNumber)') gcloud kms keys add-iam-policy-binding $KMS_KEY_ID \ --location=$REGION \ --keyring=$KMS_KEYRING_ID \ --member=serviceAccount:service-${PROJECT_NUMBER}@gcp-sa-cloud-sql.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

Nama akun layanan adalah nama yang sama yang ditampilkan oleh perintah gcloud beta services identity create pada sub-tugas sebelumnya.

Membuat instance Cloud SQL dengan CMEK diaktifkan

Di bagian ini, Anda akan membuat instance Cloud SQL untuk PostgreSQL dengan CMEK diaktifkan. Instance yang ada tidak dapat di-patch untuk mengaktifkan CMEK, jadi Anda harus mengingat hal ini jika berencana menggunakan CMEK untuk mengenkripsi data Anda.

Untuk mengakses instance Cloud SQL dari lingkungan pengembangan atau aplikasi eksternal, Anda dapat mengonfigurasi instance Cloud SQL dengan alamat IP publik dan mengontrol akses dengan memasukkan alamat IP lingkungan tersebut ke dalam daftar yang diizinkan. Tindakan ini membatasi akses ke antarmuka publik untuk rentang alamat yang Anda tentukan.

Anda akan memperlakukan instance VM Compute Engine di lab sebagai lingkungan pengembangan, dan oleh karena itu perlu memasukkan alamat IP eksternal instance tersebut ke dalam daftar yang diizinkan. Anda juga akan menambahkan alamat IP eksternal Cloud Shell ke daftar yang diizinkan untuk mempermudah penyelesaian tugas nanti di lab.

  1. Di Cloud Shell, jalankan perintah berikut untuk menemukan alamat IP eksternal instance VM bastion-vm:
export AUTHORIZED_IP=$(gcloud compute instances describe bastion-vm \ --zone=$ZONE \ --format 'value(networkInterfaces[0].accessConfigs.natIP)') echo Authorized IP: $AUTHORIZED_IP
  1. Di Cloud Shell, jalankan perintah berikut untuk menemukan alamat IP eksternal Cloud Shell:
export CLOUD_SHELL_IP=$(curl ifconfig.me) echo Cloud Shell IP: $CLOUD_SHELL_IP
  1. Di Cloud Shell, jalankan perintah berikut untuk membuat instance Cloud SQL untuk PostgreSQL:
export KEY_NAME=$(gcloud kms keys describe $KMS_KEY_ID \ --keyring=$KMS_KEYRING_ID --location=$REGION \ --format 'value(name)') export CLOUDSQL_INSTANCE=postgres-orders gcloud sql instances create $CLOUDSQL_INSTANCE \ --project=$PROJECT_ID \ --authorized-networks=${AUTHORIZED_IP}/32,$CLOUD_SHELL_IP/32 \ --disk-encryption-key=$KEY_NAME \ --database-version=POSTGRES_13 \ --cpu=1 \ --memory=3840MB \ --region=$REGION \ --root-password=supersecret!
  1. Masukkan 'y' jika diminta setelah memasukkan perintah.
Membuat instance Cloud SQL dengan CMEK diaktifkan

Tugas 2. Mengaktifkan dan mengonfigurasi pgAudit pada database Cloud SQL untuk PostgreSQL

Dalam tugas ini, Anda akan mengaktifkan dan mengonfigurasi ekstensi database pgAudit yang memungkinkan kontrol terperinci atas logging semua jenis aktivitas database.

  1. Di Cloud Shell, jalankan perintah berikut untuk menambahkan flag database pgAudit ke instance Cloud SQL Anda:
gcloud sql instances patch $CLOUDSQL_INSTANCE \ --database-flags cloudsql.enable_pgaudit=on,pgaudit.log=all
  1. Masukkan 'y' jika diminta untuk mengonfirmasi dan melanjutkan.
Catatan: Tunggu hingga perintah patch selesai sebelum melanjutkan. Saat melihat pesan Patching Cloud SQL instance...done, Anda dapat melanjutkan ke langkah berikutnya.
  1. Di Konsol Cloud, pada Navigation menu (Ikon Navigation menu), klik SQL.

  2. Klik instance Cloud SQL bernama postgres-orders.

  3. Di panel Overview Cloud SQL, pada menu teratas, klik Restart untuk memulai ulang instance setelah patch yang Anda jalankan pada langkah 1.

Jika diminta lagi, klik Restart lagi di dialog pop-up.

Catatan: Mungkin perlu waktu beberapa menit untuk memulai ulang instance Cloud SQL untuk PostgreSQL. Saat melihat pesan bahwa instance berhasil dimulai ulang (Restarted postgres-orders), Anda dapat melanjutkan ke langkah berikutnya.
  1. Di Konsol Cloud, di bagian Connect to this instance, klik Open Cloud Shell.
Catatan: Jika Anda menerima pesan error dan tidak dapat terhubung, tunggu beberapa menit setelah memulai ulang agar instance dapat diakses lagi, lalu ulangi langkah 6.

Perintah untuk menghubungkan ke instance akan otomatis terisi di Cloud Shell.

  1. Jalankan perintah tersebut apa adanya, dan masukkan sandi supersecret! saat diminta.

Sesi psql akan dimulai di Cloud Shell.

  1. Di psql, jalankan perintah berikut untuk membuat database orders dan mengaktifkan ekstensi pgAudit untuk mencatat semua operasi baca dan tulis:
CREATE DATABASE orders; \c orders;
  1. Masukkan kembali sandi supersecret!.

  2. Di psql, jalankan perintah berikut untuk membuat dan mengonfigurasi ekstensi database:

CREATE EXTENSION pgaudit; ALTER DATABASE orders SET pgaudit.log = 'read,write';

Mengaktifkan Logging Audit di Konsol Cloud

Di bagian ini, Anda akan mengaktifkan Logging Audit di Konsol Cloud.

  1. Di Konsol Cloud, pada Navigation menu (Ikon Navigation menu), klik IAM & Admin > Audit Logs.
Catatan: Jika Anda melihat pesan di bagian atas halaman yang menyatakan you don't have permission to view inherited audit logs configuration data for one or more parent resources (Anda tidak memiliki izin untuk melihat data konfigurasi log audit yang diwarisi untuk satu atau beberapa resource induk), Anda dapat mengabaikan pesan tersebut dan melanjutkan ke langkah berikutnya.
  1. Di kotak Filter di bagian Data access audit logs configuration, ketik Cloud SQL, lalu pilih entri di menu drop-down.

  2. Centang kotak untuk Cloud SQL di sebelah kiri, lalu centang kotak berikut di Info Panel di sebelah kanan:

  • Admin read
  • Data read
  • Data write
  1. Klik Save di Info Panel.

Mengisi database di Cloud SQL untuk PostgreSQL

Di bagian ini, Anda akan mengisi database orders dengan data yang diberikan kepada Anda.

  1. Klik ikon + pada kolom judul Cloud Shell untuk membuka tab baru di Cloud Shell.

  2. Di tab baru, jalankan perintah berikut untuk mendownload skrip pengisian database dan data:

export SOURCE_BUCKET=gs://spls/gsp920 gsutil -m cp ${SOURCE_BUCKET}/create_orders_db.sql . gsutil -m cp ${SOURCE_BUCKET}/DDL/distribution_centers_data.csv . gsutil -m cp ${SOURCE_BUCKET}/DDL/inventory_items_data.csv . gsutil -m cp ${SOURCE_BUCKET}/DDL/order_items_data.csv . gsutil -m cp ${SOURCE_BUCKET}/DDL/products_data.csv . gsutil -m cp ${SOURCE_BUCKET}/DDL/users_data.csv .
  1. Lanjutkan di tab baru, lalu jalankan perintah berikut untuk membuat dan mengisi database:
export CLOUDSQL_INSTANCE=postgres-orders export POSTGRESQL_IP=$(gcloud sql instances describe $CLOUDSQL_INSTANCE --format="value(ipAddresses[0].ipAddress)") export PGPASSWORD=supersecret! psql "sslmode=disable user=postgres hostaddr=${POSTGRESQL_IP}" \ -c "\i create_orders_db.sql"
  1. Keluar dari sesi terminal di tab baru:
exit
  1. Kembali ke sesi psql di tab Cloud Shell awal, lalu jalankan perintah berikut untuk mencatat lebih lanjut semua operasi SELECT pada relasi tertentu (seperti tabel order_items):
CREATE ROLE auditor WITH NOLOGIN; ALTER DATABASE orders SET pgaudit.role = 'auditor'; GRANT SELECT ON order_items TO auditor;
  1. Jalankan kueri SELECT pertama di bawah :
SELECT users.id AS users_id, users.first_name AS users_first_name, users.last_name AS users_last_name, COUNT(DISTINCT order_items.order_id ) AS order_items_order_count, COALESCE(SUM(order_items.sale_price ), 0) AS order_items_total_revenue FROM order_items LEFT JOIN users ON order_items.user_id = users.id GROUP BY 1, 2, 3 ORDER BY 4 DESC LIMIT 500; SELECT products.id AS products_id, products.name AS products_name, products.sku AS products_sku, products.cost AS products_cost, products.retail_price AS products_retail_price, products.distribution_center_id AS products_distribution_center_id, COUNT(DISTINCT order_items.order_id ) AS order_items_order_count, COALESCE(SUM(order_items.sale_price ), 0) AS order_items_total_revenue FROM order_items LEFT JOIN inventory_items ON order_items.inventory_item_id = inventory_items.id LEFT JOIN products ON inventory_items.product_id = products.id GROUP BY 1, 2, 3, 4, 5, 6 ORDER BY 7 DESC LIMIT 500; SELECT order_items.order_id AS order_id, distribution_centers.id AS distribution_centers_id, distribution_centers.name AS distribution_centers_name, distribution_centers.latitude AS distribution_centers_latitude, distribution_centers.longitude AS distribution_centers_longitude FROM order_items LEFT JOIN inventory_items ON order_items.inventory_item_id = inventory_items.id LEFT JOIN products ON inventory_items.product_id = products.id LEFT JOIN distribution_centers ON products.distribution_center_id = distribution_centers.id GROUP BY 1, 2, 3, 4, 5 ORDER BY 2 LIMIT 500;
  1. Outputnya memiliki panjang 500 baris, jadi Anda dapat memasukkan q untuk menutup hasil dan kembali ke perintah orders=>.

  2. Ulangi langkah 5-6 untuk dua tab kueri lainnya di blok kode.

  3. Jalankan perintah berikut untuk keluar dari psql:

\q

Melihat log pgAudit

Pada langkah ini, Anda akan melihat logging pembaruan dan kueri database di log pgAudit.

  1. Pada Konsol Cloud, di Navigation menu (Ikon Navigation menu), klik View all products. Di bagian Observability, klik Logging untuk membuka halaman Logs Explorer.

  2. Di tab Query pada Logs Explorer, tempelkan kode berikut, lalu klik Run query:

resource.type="cloudsql_database" logName="projects/{{{project_0.project_id|(GCP Project)}}}/logs/cloudaudit.googleapis.com%2Fdata_access" protoPayload.request.@type="type.googleapis.com/google.cloud.sql.audit.v1.PgAuditEntry"
  1. Dalam histogram yang ditampilkan, Anda dapat melihat aktivitas audit yang terkait dengan penyisipan DDL dan kueri SELECT yang Anda jalankan sebelumnya.

Contoh histogram dengan tujuh batang.

  1. Klik batang terakhir pada histogram, yang sesuai dengan kueri SELECT yang Anda jalankan.

Di panel Query results di bawah histogram, entri log dicantumkan.

  1. Luaskan entri log, dan di bagian protoPayload.request, Anda akan melihat kueri SELECT.
Mengaktifkan dan mengonfigurasi pgAudit di database Cloud SQL untuk PostgreSQL

Tugas 3. Mengonfigurasi autentikasi database IAM Cloud SQL

Dalam tugas ini, Anda akan mengonfigurasi autentikasi database IAM Cloud SQL. Semua tugas akses dan pembaruan database yang telah Anda lakukan sejauh ini menggunakan akun pengguna PostgreSQL bawaan. Anda juga dapat membuat pengguna Cloud SQL untuk PostgreSQL menggunakan akun Cloud IAM. Pengguna database dapat melakukan autentikasi ke Cloud SQL menggunakan Cloud IAM, bukan menggunakan akun database bawaan, dan izin terperinci di tingkat database dapat diberikan kepada pengguna tersebut.

Dalam tugas ini, Anda akan mengonfigurasi akun pengguna lab sebagai pengguna IAM Cloud SQL, memberikan akses pengguna tersebut ke tabel database orders.order_items menggunakan akun administrator postgres, lalu menguji akses ke tabel database orders.order_items dari command line menggunakan utilitas command line psql.

Proses autentikasi yang digunakan dalam tugas ini dijelaskan secara mendetail dalam dokumentasi autentikasi IAM untuk Cloud SQL untuk PostgreSQL.

Uji akses database menggunakan pengguna Cloud IAM sebelum autentikasi IAM Cloud SQL dikonfigurasi.

Anda akan mencoba mengakses database menggunakan pengguna Cloud IAM sebelum autentikasi IAM Cloud SQL diaktifkan untuk memastikan bahwa pengguna Cloud IAM tidak dapat mengakses data pada awalnya. Anda akan melihat upaya koneksi ini gagal sebelum melanjutkan ke bagian berikutnya untuk mengatasi masalah ini.

  • Di Cloud Shell, uji akses ke database orders menggunakan akun siswa lab sebagai nama pengguna:
export USERNAME=$(gcloud config list --format="value(core.account)") export CLOUDSQL_INSTANCE=postgres-orders export POSTGRESQL_IP=$(gcloud sql instances describe $CLOUDSQL_INSTANCE --format="value(ipAddresses[0].ipAddress)") export PGPASSWORD=$(gcloud auth print-access-token) psql --host=$POSTGRESQL_IP $USERNAME --dbname=orders

Upaya koneksi ini gagal, dan Anda melihat pesan autentikasi gagal yang mirip dengan berikut karena pengguna IAM Cloud SQL belum dibuat:

psql --host=$POSTGRESQL_IP $USERNAME --dbname=orders psql: error: connection to server at "35.226.251.234", port 5432 failed: FATAL: password authentication failed for user "student-01-22fa974575e4@qwiklabs.net" connection to server at "35.226.251.234", port 5432 failed: FATAL: password authentication failed for user "student-01-22fa974575e4@qwiklabs.net"

Autentikasi database IAM Cloud SQL menggunakan token akses OAuth 2.0 adalah sandi pengguna IAM Cloud, yang berumur pendek dan hanya valid selama satu jam. Jadi, Anda harus membuat ulang token setiap kali perlu melakukan autentikasi. Token akses harus selalu diteruskan ke perintah psql menggunakan variabel lingkungan PGPASSWORD karena buffer untuk parameter sandi psql terlalu kecil untuk menyimpan string token OAuth 2.0.

Membuat pengguna IAM Cloud SQL

Di bagian ini, Anda akan membuat pengguna IAM Cloud SQL dan mengonfirmasi bahwa autentikasi pengguna IAM Cloud SQL telah diaktifkan.

  1. Di Konsol Cloud, pada Navigation menu (Ikon Navigation menu), klik SQL.

  2. Klik instance Cloud SQL bernama postgres-orders.

Di panel Configuration di sebelah kanan, perhatikan bahwa daftar Database flags and parameters hanya mencakup pgAudit.log dan cloudsql.enable_pgaudit.

  1. Di SQL menu (panel kiri) di bagian Primary instance, klik Users untuk membuka panel Users.

  2. Klik Add user account.

  3. Pilih Cloud IAM.

  4. Di kotak Principal, masukkan nama siswa lab:

  5. Klik Add.

Tunggu hingga pengguna baru berhasil ditambahkan.

Misalnya, di halaman ringkasan utama, pada panel Configuration di sebelah kanan, perhatikan bahwa cloudsql.iam_authentication telah ditambahkan ke daftar Database flags and parameters.

Memberi pengguna Cloud IAM akses ke tabel database Cloud SQL

Sekarang Anda terhubung ke instance postgres-orders menggunakan akun administrator postgres bawaan dan memberikan akses ke tabel orders.order_items kepada pengguna Cloud IAM.

  1. Di halaman ringkasan utama untuk instance, di bagian Connect to this instance, klik Open Cloud Shell.

Perintah untuk menghubungkan ke instance akan otomatis terisi di Cloud Shell.

  1. Jalankan perintah tersebut apa adanya, dan masukkan sandi supersecret! saat diminta.

  2. Masukkan perintah SQL berikut untuk beralih ke database orders:

\c orders

Saat diminta memasukkan sandi, masukkan kembali supersecret!.

  1. Masukkan perintah SQL berikut untuk memberikan semua izin kepada pengguna lab pada tabel order_items. Nama pengguna Cloud IAM untuk lab telah dimasukkan ke dalam kueri ini untuk Anda.
GRANT ALL PRIVILEGES ON TABLE order_items TO "{{{user_0.username|[IAM Username]}}}"; \q

Uji akses database menggunakan pengguna Cloud IAM setelah autentikasi IAM Cloud SQL dikonfigurasi.

Selanjutnya, ulangi upaya mengakses database memakai pengguna Cloud IAM setelah autentikasi IAM Cloud SQL diaktifkan. Ini ditujukan untuk memastikan bahwa pengguna Cloud IAM kini dapat mengakses data.

Sekarang Anda dapat kembali menguji akses ke database memakai pengguna Cloud IAM, bukan pengguna postgres bawaan:

  1. Di Cloud Shell, jalankan perintah berikut untuk terhubung ke database memakai pengguna database Cloud IAM:
export PGPASSWORD=$(gcloud auth print-access-token) psql --host=$POSTGRESQL_IP $USERNAME --dbname=orders

Koneksi ini berhasil, dan Anda kini terhubung ke instance menggunakan autentikasi pengguna Cloud IAM.

  1. Uji izin akses Anda dengan menjalankan kueri ini:
SELECT COUNT(*) FROM order_items;

Sekarang, hasil yang efektif akan ditampilkan:

orders=> SELECT COUNT(*) FROM order_items; count -------- 198553 (1 row)
  1. Pastikan Anda tidak memiliki akses ke salah satu tabel lainnya dengan menjalankan kueri ini:
SELECT COUNT(*) FROM users;

Kueri ini tidak menampilkan hasil yang efektif:

orders=> SELECT COUNT(*) FROM users; ERROR: permission denied for table users Mengonfigurasi autentikasi database IAM Cloud SQL

Selamat!

Di lab ini, Anda telah mengamankan data dalam penyimpanan di Cloud SQL untuk PostgreSQL menggunakan kunci enkripsi yang dikelola pelanggan (CMEK), mengaktifkan pgAudit, dan mengonfigurasi autentikasi pengguna database IAM Cloud SQL.

Sertifikasi dan pelatihan Google Cloud

...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.

Manual Terakhir Diperbarui pada 3 September 2025

Lab Terakhir Diuji pada 2 Juli 2025

Hak cipta 2026 Google LLC. Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.

Sebelum memulai

  1. Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
  2. Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
  3. Di kiri atas layar, klik Start lab untuk memulai

Gunakan penjelajahan rahasia

  1. Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
  2. Klik Open console dalam mode pribadi

Login ke Konsol

  1. Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
  2. Setujui persyaratan, dan lewati halaman resource pemulihan
  3. Jangan klik End lab kecuali jika Anda sudah menyelesaikan lab atau ingin mengulanginya, karena tindakan ini akan menghapus pekerjaan Anda dan menghapus project

Konten ini tidak tersedia untuk saat ini

Kami akan memberi tahu Anda melalui email saat konten tersedia

Bagus!

Kami akan menghubungi Anda melalui email saat konten tersedia

Satu lab dalam satu waktu

Konfirmasi untuk mengakhiri semua lab yang ada dan memulai lab ini

Gunakan penjelajahan rahasia untuk menjalankan lab

Menggunakan jendela Samaran atau browser pribadi adalah cara terbaik untuk menjalankan lab ini. Langkah ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa, yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.