Memerlukan izin untuk melampirkan akun layanan ke resource

Saat membuat resource Google Cloud tertentu, Anda memiliki opsi untuk melampirkan akun layanan. Akun layanan yang dilampirkan berfungsi sebagai identitas untuk setiap tugas yang berjalan pada resource, mengizinkan tugas tersebut dapat diautentikasi ke Google Cloud API.

Untuk sebagian besar layanan Google Cloud, pengguna memerlukan izin untuk meniru identitas akun layanan agar dapat melampirkan akun layanan tersebut ke resource. Ini berarti pengguna memerlukan izin iam.serviceAccounts.actAs di akun layanan.

Namun, sebelumnya, layanan tertentu mengizinkan pengguna melampirkan akun layanan ke resource meskipun pengguna tidak memiliki izin untuk meniru identitas akun layanan tersebut. Konfigurasi ini mungkin telah memungkinkan pengguna layanan mendapatkan izin tidak jelas yang ditingkatkan.

Tabel berikut mencantumkan layanan yang memiliki konfigurasi ini, beserta perilaku lama setiap layanan:

Layanan Perilaku lama
App Engine Pengguna dapat men-deploy aplikasi App Engine, yang menggunakan identitas akun layanan default App Engine, meskipun tidak memiliki izin untuk meniru identitas akun layanan default App Engine.
Cloud Composer Pengguna dapat melampirkan akun layanan apa pun dalam project ke lingkungan Cloud Composer, meskipun tidak memiliki izin untuk meniru identitas akun layanan project tersebut.
  • Cloud Data Fusion
  • Dataflow
  • Dataproc
Pengguna dapat melampirkan akun layanan default Compute Engine ke resource, meskipun tidak memiliki izin untuk meniru identitas akun layanan default tersebut.

Kini kami mewajibkan layanan ini memeriksa apakah pengguna memiliki izin untuk meniru identitas akun layanan saat melampirkan akun layanan ke resource. Namun, perilaku lama masih ada untuk jenis organisasi sebagai berikut:

  • Organisasi dengan pengguna yang memiliki izin untuk men-deploy aplikasi App Engine, tetapi tidak memiliki izin untuk meniru identitas akun layanan default App Engine.
  • Organisasi dengan pengguna yang memiliki izin untuk men-deploy lingkungan Cloud Composer, tetapi tidak memiliki izin untuk meniru identitas akun layanan mana pun.
  • Organisasi dengan pengguna yang memiliki izin untuk men-deploy resource Cloud Data Fusion, Dataflow, atau Dataproc, tetapi tidak memiliki izin untuk meniru identitas akun layanan default Compute Engine.

Jika organisasi Anda masih terpengaruh oleh perilaku lama, Anda akan menerima pesan yang menjelaskan cara menonaktifkannya secara manual. Anda juga dapat melihat bagian di bawah untuk petunjuk mendetail.

Mengamankan App Engine

Untuk menonaktifkan perilaku lama App Engine secara manual, pastikan bahwa pengguna memiliki izin untuk meniru identitas akun layanan App Engine. Kemudian, aktifkan batasan kebijakan organisasi untuk menerapkan pemeriksaan izin akun layanan saat men-deploy aplikasi yang menggunakan identitas akun layanan default App Engine.

  1. Opsional: Gunakan rekomendasi peran untuk memperkecil cakupan izin untuk akun layanan default App Engine dengan aman.

    Akun layanan default App Engine secara otomatis diberi peran Editor yang sangat permisif (roles/editor). Namun, sebaiknya jangan gunakan peran yang sangat permisif dalam konfigurasi produksi.

  2. Pastikan semua pengguna yang men-deploy aplikasi dapat meniru identitas akun layanan default App Engine.

    Untuk memberikan kemampuan ini, beri pengguna peran yang menyertakan izin iam.serviceAccounts.actAs, seperti peran Service Account User (roles/iam.serviceAccountUser). Anda dapat memberikan peran ini pada project atau pada akun layanan default App Engine. Untuk mendapatkan petunjuk, lihat Mengelola peniruan identitas akun layanan.

  3. Aktifkan batasan kebijakan organisasi constraints/appengine.enforceServiceAccountActAsCheck untuk menerapkan pemeriksaan izin akun layanan saat men-deploy aplikasi.

  4. Opsional: Gunakan penegak kebijakan organisasi boolean untuk mengonfirmasi bahwa batasan kebijakan organisasi diterapkan di semua project Anda.

Mengamankan Cloud Composer

Untuk menonaktifkan perilaku lama Cloud Composer secara manual, pastikan bahwa pengguna memiliki izin untuk meniru identitas akun layanan yang mereka lampirkan ke lingkungan baru. Kemudian, aktifkan batasan kebijakan organisasi untuk menerapkan pemeriksaan izin akun layanan saat melampirkan akun layanan ke lingkungan.

  1. Identifikasi semua akun layanan yang terikat ke lingkungan Cloud Composer:

    1. Di konsol Google Cloud, buka halaman Composer environments.

      Buka halaman lingkungan Composer

    2. Klik nama lingkungan.

    3. Di tab Environment configuration, temukan kolom Service account dan catat nama akun layanan.

    4. Ulangi langkah-langkah sebelumnya untuk semua lingkungan Cloud Composer dalam project Anda.

  2. Konfirmasi bahwa akun layanan ini mengikuti prinsip hak istimewa terendah:

  3. Pastikan semua pengguna yang men-deploy atau mengelola lingkungan Cloud Composer dapat meniru identitas akun layanan yang digunakan lingkungan.

    Untuk memberikan kemampuan ini, beri pengguna peran yang menyertakan izin iam.serviceAccounts.actAs, seperti peran Service Account User (roles/iam.serviceAccountUser). Anda dapat memberikan peran ini pada project atau akun layanan individual. Untuk mendapatkan petunjuk, lihat Mengelola peniruan identitas akun layanan.

  4. Aktifkan batasan kebijakan organisasi constraints/composer.enforceServiceAccountActAsCheck untuk menerapkan pemeriksaan izin akun layanan saat melampirkan akun layanan ke lingkungan.

  5. Opsional: Gunakan penegak kebijakan organisasi boolean untuk mengonfirmasi bahwa batasan kebijakan organisasi diterapkan di semua project Anda.

Mengamankan Dataproc, Dataflow, dan Cloud Data Fusion

Untuk menonaktifkan perilaku lama secara manual untuk Dataproc, Dataflow, dan Cloud Data Fusion, pastikan pengguna memiliki izin untuk meniru identitas akun layanan yang mereka lampirkan ke resource baru. Kemudian, aktifkan batasan kebijakan organisasi untuk menerapkan pemeriksaan izin akun layanan saat melampirkan akun layanan ke resource.

Ikuti petunjuk untuk jenis akun layanan yang ingin Anda lampirkan ke resource baru:

  • Jika Anda ingin berhenti menambahkan akun layanan default Compute Engine ke resource baru, ikuti langkah-langkah berikut:

    1. Buat akun layanan baru dan berikan peran yang diperlukan akun layanan tersebut untuk menjalankan tugas pada resource. Pastikan untuk mengikuti prinsip hak istimewa terendah.

      Untuk mempelajari peran yang diperlukan akun layanan untuk menjalankan tugas di resource Dataproc, Dataflow, dan Cloud Data Fusion, lihat referensi berikut:

    2. Izinkan semua pengguna yang men-deploy resource ini untuk meniru identitas akun layanan baru.

      Untuk memberikan kemampuan ini, beri pengguna peran yang menyertakan izin iam.serviceAccounts.actAs, seperti peran Service Account User (roles/iam.serviceAccountUser). Anda dapat memberikan peran ini pada project atau akun layanan. Untuk mendapatkan petunjuk, lihat Mengelola peniruan identitas akun layanan.

    3. Aktifkan batasan kebijakan organisasi berikut untuk menerapkan pemeriksaan izin akun layanan saat melampirkan akun layanan ke resource:

      • constraints/dataflow.enforceComputeDefaultServiceAccountCheck
      • constraints/dataproc.enforceComputeDefaultServiceAccountCheck

      Batasan kebijakan organisasi constraints/dataproc.enforceComputeDefaultServiceAccountCheck juga menerapkan pemeriksaan izin untuk Cloud Data Fusion.

    4. Opsional: Gunakan penemu kebijakan organisasi boolean untuk mengonfirmasi bahwa batasan kebijakan organisasi diterapkan di semua project Anda.

    5. Saat Anda men-deploy resource baru, gunakan akun layanan baru, bukan akun layanan default Compute Engine.

  • Jika Anda ingin terus menambahkan akun layanan default Compute Engine ke resource baru, ikuti langkah-langkah berikut:

    1. Opsional: Gunakan rekomendasi peran untuk memperkecil cakupan izin akun layanan default Compute Engine dengan aman

      Akun layanan default Compute Engine secara otomatis diberi peran Editor yang sangat permisif (roles/editor). Namun, sebaiknya jangan gunakan peran yang sangat permisif dalam konfigurasi produksi.

    2. Pastikan semua pengguna yang men-deploy resource ini dapat meniru identitas akun layanan default Compute Engine.

      Untuk memberikan kemampuan ini, beri pengguna peran yang menyertakan izin iam.serviceAccounts.actAs, seperti peran Service Account User (roles/iam.serviceAccountUser). Anda dapat memberikan peran ini pada project atau di akun layanan default Compute Engine. Untuk mendapatkan petunjuk, lihat Mengelola peniruan identitas akun layanan.

    3. Aktifkan batasan kebijakan organisasi berikut untuk menerapkan pemeriksaan izin akun layanan saat melampirkan akun layanan ke resource:

      • constraints/dataflow.enforceComputeDefaultServiceAccountCheck
      • constraints/dataproc.enforceComputeDefaultServiceAccountCheck
    4. Opsional: Gunakan penemu kebijakan organisasi boolean untuk mengonfirmasi bahwa batasan kebijakan organisasi diterapkan di semua project Anda.