Java 8 telah mencapai akhir dukungan
dan akan dihentikan penggunaannya
pada 31 Januari 2026. Setelah penghentian penggunaan, Anda tidak akan dapat men-deploy aplikasi Java 8, meskipun organisasi Anda sebelumnya menggunakan kebijakan organisasi untuk mengaktifkan kembali deployment runtime lama. Aplikasi Java 8 yang ada akan terus berjalan dan menerima traffic setelah
tanggal penghentiannya. Sebaiknya Anda bermigrasi ke versi Java terbaru yang didukung.
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Aplikasi App Engine memerlukan akun layanan agar dapat mengakses layanan Google Cloud
lainnya dan menjalankan tugas. Secara default, akun layanan default App Engine digunakan sebagai identitas aplikasi App Engine Anda. Anda juga dapat menentukan akun layanan yang dikelola pengguna yang berbeda untuk digunakan sebagai identitas bagi versi tertentu dari aplikasi App Engine Anda. Dengan begitu, Anda dapat memberikan hak istimewa yang berbeda untuk setiap versi, berdasarkan tugas spesifik yang dijalankannya, dan menghindari pemberian hak istimewa yang lebih dari yang diperlukan.
Panduan ini membahas cara menentukan akun layanan yang dikelola pengguna yang berbeda saat men-deploy versi baru. Jika Anda tidak perlu membuat akun layanan yang berbeda saat men-deploy versi aplikasi tertentu, Anda dapat terus menggunakan akun layanan default dengan tidak menentukan akun layanan.
Membuat akun layanan yang dikelola pengguna
Untuk membuat akun layanan yang dikelola pengguna, lihat petunjuk ini.
Saat menentukan peran Identity and Access Management (IAM) untuk diberikan ke akun layanan, Anda dapat melihat Peran yang Memberikan Akses ke App Engine.
Setelah membuat akun layanan yang dikelola pengguna, Anda dapat memperbarui akun layanan default tingkat aplikasi untuk aplikasi dengan menggunakan salah satu metode berikut:
SERVICE_ACCOUNT_NAME dengan nama akun layanan yang Anda buat.
PROJECT_ID dengan ID project Google Cloud tempat Anda ingin menetapkan
akun layanan.
Setiap versi baru yang Anda deploy setelah pembaruan ini akan menggunakan akun layanan
default tingkat aplikasi baru, kecuali jika Anda secara eksplisit menetapkan akun layanan khusus versi.
Konsol
Buka tab Setelan Aplikasi App Engine di konsol dan klik
Edit Setelan Aplikasi.
Pilih akun layanan default tingkat aplikasi dari Pilih akun layanan,
lalu klik Simpan.
Anda akan dialihkan ke tab Setelan Aplikasi tempat Anda dapat melihat alamat
email akun layanan default level aplikasi yang telah diupdate. Contoh:
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com.
Setiap versi baru yang Anda deploy setelah pembaruan ini akan menggunakan akun layanan
default tingkat aplikasi baru, kecuali jika Anda secara eksplisit menetapkan akun layanan khusus versi.
Menentukan akun layanan saat men-deploy aplikasi Anda
gcloud
Jalankan perintah gcloud app deploy dan tentukan akun layanan Anda:
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-11 UTC."],[[["\u003cp\u003eApp Engine apps use a service account to access other Google Cloud services, with the App Engine default service account being the default identity.\u003c/p\u003e\n"],["\u003cp\u003eYou can use a user-managed service account instead of the default for a specific version of your App Engine app, allowing for tailored privileges.\u003c/p\u003e\n"],["\u003cp\u003eUser-managed service accounts can be specified when deploying a new version of your app via the \u003ccode\u003egcloud app deploy\u003c/code\u003e command or within the \u003ccode\u003eappengine-web.xml\u003c/code\u003e file.\u003c/p\u003e\n"],["\u003cp\u003eIt is important not to remove the App Engine standard environment service agent in your project, as it delegates the user-managed service account as the identity for your app.\u003c/p\u003e\n"],["\u003cp\u003eWhen specifying a user-managed service account, if it's set in both the \u003ccode\u003eapp.yaml\u003c/code\u003e file and through the \u003ccode\u003egcloud\u003c/code\u003e CLI, the \u003ccode\u003egcloud\u003c/code\u003e setting will be prioritized.\u003c/p\u003e\n"]]],[],null,["# Using user-managed service accounts\n\nApp Engine apps require a service account in order to access other Google Cloud\nservices and execute tasks. By default, the\n\n[App Engine default service account](/appengine/docs/legacy/standard/java/service-account)\n\nis used as the identity of your App Engine app. You may also specify a\ndifferent [user-managed service\naccount](/iam/docs/service-account-types#user-created) to be used as the\nidentity for a specific version of your App Engine app. This allows you\nto grant different privileges to each version, based on the specific tasks it\nperforms, and avoid granting more privileges than necessary.\n\nThis guide covers how to specify a different user-managed service account when\ndeploying a new version. If you don't need to create a distinct service account\nwhen deploying a specific version of your app, you can continue to use the\ndefault service account by not specifying a service account.\n\nCreating a user-managed service account\n---------------------------------------\n\nTo create a user-managed service account, see\n[these instructions](/appengine/docs/legacy/standard/java/access-control#service_account).\nWhen defining the Identity and Access Management (IAM) roles to grant your service\naccount, you can refer to\n[Roles that Grant Access to App Engine](/appengine/docs/legacy/standard/java/roles).\n\nIf you need to review IAM concepts before creating your service account, see\n[IAM concepts overview](/iam/docs/overview) and\n[service accounts](/iam/docs/service-accounts) guides.\n| **Warning:** Do not remove the existing App Engine standard environment service agent in your project. The [service agent](/iam/docs/service-agents) delegates the user-managed service account as the identity for your app. If you remove the service agent, you will see IAM permission errors.\n\nAfter you create your user-managed service account, you can update the\napp-level default service account for your application by using one of the\nfollowing methods:\n**Important:** Only versions deployed after the update will use the new app-level default service account. All previously deployed versions will not use the new app-level default service account until you re-deploy that version. \n\n### gcloud\n\nRun the `gcloud app update` command. \n\n gcloud app update --service-account=\u003cvar translate=\"no\"\u003eSERVICE_ACCOUNT_NAME\u003c/var\u003e@\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e.iam.gserviceaccount.com\n\nReplace:\n\n- `SERVICE_ACCOUNT_NAME` with the name of the service account that you created.\n- `PROJECT_ID` with ID of the Google Cloud project in which you want to assign the service account.\n\nEach new version that you deploy after this update uses the new app-level default service\naccount unless you explicitly assign a version-specific service account.\n\n### Console\n\n1. Go to the App Engine **Application Settings** tab in the console and click\n **Edit Application Settings**.\n\n [Go to Application Settings](https://console.cloud.google.com/appengine/settings)\n2. Choose an app-level default service account from **Select a Service account**\n and click **Save**.\n\n You will be redirected to the **Application Settings** tab where you can view the email\n address of your updated app-level default service account. Example:\n \u003cvar translate=\"no\"\u003eSERVICE_ACCOUNT_NAME\u003c/var\u003e`@`\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`.iam.gserviceaccount.com`.\n\n Each new version that you deploy after this update uses the new app-level default service\n account unless you explicitly assign a version-specific service account.\n\nSpecifying a service account when deploying your app\n----------------------------------------------------\n\n**Note:** If a user-managed service account is specified in both the `app.yaml` file and in the gcloud CLI, the `gcloud` setting is used. \n\n### gcloud\n\nRun the `gcloud app deploy` command and specify your service account: \n\n gcloud app deploy --service-account=\u003cvar translate=\"no\"\u003eSERVICE_ACCOUNT_NAME\u003c/var\u003e@\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e.iam.gserviceaccount.com\n\n### appengine-web.xml\n\nIn your [`appengine-web.xml`](/appengine/docs/legacy/standard/java/config/appref) file, specify your service account by adding the\n[`\u003cservice-account\u003e`](/appengine/docs/legacy/standard/java/config/appref#service-account) element: \n\n \u003cservice-account\u003e\u003cvar translate=\"no\"\u003eSERVICE_ACCOUNT_NAME\u003c/var\u003e@\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e.iam.gserviceaccount.com\u003c/service-account\u003e\n\nNext steps\n----------\n\nFollow [best practices for working with service accounts](/iam/docs/best-practices-service-accounts)."]]