Cloud Deployment Manager akan mencapai akhir dukungan pada 31 Desember 2025. Jika saat ini Anda menggunakan Deployment Manager, migrasikan ke Infrastructure Manager atau teknologi deployment alternatif paling lambat 31 Desember 2025 untuk memastikan layanan Anda berlanjut tanpa gangguan.
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Untuk mengontrol akses ke resource Anda di Google Cloud, Anda menggunakan
Identity and Access Management (IAM). Dengan IAM, Anda dapat menetapkan izin
yang menentukan siapa yang memiliki jenis akses apa ke resource mana di project Anda. Untuk pengantar IAM, lihat Ringkasan IAM.
Saat men-deploy resource, Anda juga dapat mengontrol siapa yang memiliki akses ke resource ini dengan menetapkan kebijakan IAM secara preventif dalam konfigurasi Anda. Misalnya, jika Anda berencana membuat Topik Pub/Sub yang dapat dikelola oleh pengguna tertentu, Anda dapat menyatakannya ke Deployment Manager dengan menentukan kebijakan IAM dalam konfigurasi Anda. Saat Anda membuat atau mengupdate deployment, Deployment Manager memanggil IAM API untuk menetapkan izin yang sesuai pada resource.
Sebelum memulai
Jika Anda ingin menggunakan contoh command line dalam panduan ini, instal alat command line`gcloud`.
Jika Anda ingin menggunakan contoh API dalam panduan ini, siapkan akses API.
Menggunakan kebijakan IAM di Deployment Manager
Kebijakan IAM adalah kumpulan pengguna dan perannya. Anda menetapkan kebijakan IAM di
level project, menggunakan peran dasar atau peran yang telah ditetapkan. Beberapa layanan,
seperti Cloud Pub/Sub, juga mendukung penetapan kebijakan IAM di tingkat resource.
Jika layanan tidak mendukung penetapan kebijakan IAM di tingkat resource,
Deployment Manager akan menampilkan error NO_METHOD_TO_UPDATE_ACCESS_CONTROL.
Untuk mengetahui daftar peran dan resource yang dapat Anda terapkan, lihat Memahami Peran.
Memberikan izin Deployment Manager untuk menetapkan kebijakan IAM
Deployment Manager menggunakan
Akun Layanan Google API
untuk memanggil Google API lain dan mengelola Google Cloud resource atas nama Anda. Anda harus memberikan peran roles/owner dasar kepada akun layanan Google API project Anda agar akun tersebut dapat menerapkan kebijakan IAM yang Anda tentukan dalam konfigurasi.
Buka halaman IAM di konsol project Anda. Google Cloud
Selanjutnya, dalam konfigurasi atau template, Anda dapat menetapkan kebijakan IAM dengan mengikuti petunjuk berikut:
Tambahkan bagian accessControl ke konfigurasi tingkat teratas untuk setiap
resource yang ingin Anda terapkan kebijakan kontrol aksesnya.
Tentukan gcpIamPolicy yang diinginkan untuk resource. Setiap kebijakan IAM dapat
berisi daftar binding. Setiap binding mengikat sekumpulan anggota ke peran.
[[["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-19 UTC."],[[["\u003cp\u003eIAM in Google Cloud controls who has what access to which resources within a project.\u003c/p\u003e\n"],["\u003cp\u003eDeployment Manager can set IAM policies preemptively during resource deployment, specifying user access rights.\u003c/p\u003e\n"],["\u003cp\u003eThe Google APIs service account, with the \u003ccode\u003eroles/owner\u003c/code\u003e role, is necessary for Deployment Manager to apply IAM policies.\u003c/p\u003e\n"],["\u003cp\u003eIAM policies are set using the \u003ccode\u003eaccessControl\u003c/code\u003e section within resource configurations, binding users or service accounts to specific roles.\u003c/p\u003e\n"],["\u003cp\u003eSetting up the \u003ccode\u003eaccessControl\u003c/code\u003e section in Deployment Manager's resource configuration allows you to add bindings that assign specific roles to different users.\u003c/p\u003e\n"]]],[],null,["# Setting access control in a configuration\n\nTo control access to your resources in Google Cloud, you use\n[Identity and Access Management (IAM)](/iam). With IAM, you set permissions\nspecifying **who** has **what** kind of access to **which** resources in your\nproject. For an introduction to IAM, see the [IAM Overview](/iam/docs/overview).\n\nWhen you deploy resources, you can also control who has access to these\nresources by setting an IAM policy preemptively in your configuration. For\nexample, if you plan to create Pub/Sub Topics that can be managed by specific\nusers, you can express this to Deployment Manager by specifying an\nIAM policy in your configuration. When you create or update your deployment,\nDeployment Manager calls the IAM API to set the appropriate permissions on\nthe resource.\n\nBefore you begin\n----------------\n\n- If you want to use the command-line examples in this guide, install the [\\`gcloud\\` command-line tool](/sdk).\n- If you want to use the API examples in this guide, set up [API access](/deployment-manager/docs/reference/latest).\n\nUsing IAM policies in Deployment Manager\n----------------------------------------\n\nAn IAM policy is a collection of users and their roles. You set an IAM policy at\nthe project level, using either basic or predefined roles. Some services,\nsuch as Cloud Pub/Sub, also support setting IAM policies at the resource level.\n\nIf a service does not support setting IAM policies at the resource level,\nDeployment Manager returns a `NO_METHOD_TO_UPDATE_ACCESS_CONTROL` error.\n\nFor a list of roles and the resources you can apply them to, see [Understanding\nRoles](/iam/docs/understanding-roles).\n\nGranting Deployment Manager permission to set IAM policies\n----------------------------------------------------------\n\nDeployment Manager uses the\n[Google APIs Service Account](/deployment-manager/docs/access-control#access_control_for_deployment_manager)\nto call other Google APIs and manage Google Cloud resources on your\nbehalf. You must grant your project's Google APIs service account the basic\n`roles/owner` role so it can apply the IAM policies you define in your\nconfigurations.\n\n1. Go to the IAM page in the Google Cloud console of your project. [Go to the IAM page](https://console.cloud.google.com/iam-admin/iam/)\n\n2. If prompted, select your project from the list.\n3. Look for the **Google APIs service account**, which has the email\n address in the following format:\n\n [PROJECT_NUMBER]@cloudservices.gserviceaccount.com\n\n | **Note:** This email address requires the project number, not the project ID. To learn how to identify the project number, see [Identifying projects](/compute/docs/projects#projectids).\n4. Grant the APIs service account the `roles/owner` roles:\n\n\n ### Console\n\n 1. While still in the Google Cloud console, expand the **Roles** dropdown for the Google APIs service account and select **Project \\\u003e Owner**.\n 2. Click **Save** to save your changes.\n\n ### gcloud\n\n With the Google Cloud CLI, add a binding to the IAM policy for the project: \n\n ```\n gcloud projects add-iam-policy-binding [PROJECT_ID] \\\n --member serviceAccount:[SERVICE_ACCOUNT_EMAIL] --role roles/owner\n ```\n\n where:\n - `[PROJECT_ID]` is the ID of the project.\n - `[SERVICE_ACCOUNT_EMAIL]` is the email of the service account.\n\n For example: \n\n ```\n gcloud projects add-iam-policy-binding database-images \\\n --member serviceAccount:123456789012@cloudservices.gserviceaccount.com \\\n --role roles/owner\n ```\n\n ### API\n\n In the API, make a `POST` request to the following URL, where\n `[PROJECT_ID]` is the ID of the project: \n\n POST https://cloudresourcemanager.googleapis.com/v1/projects/$[PROJECT_ID]:setIamPolicy\n\n The request body should contain the list of bindings you want to apply\n to this project. The `roles/owner` role should be part\n of the binding. For example: \n\n {\n \"policy\": {\n \"version\": \"0\",\n \"bindings\": [\n {\n \"role\": \"roles/owner\",\n \"members\": [\n \"user:example@gmail.com\",\n \"serviceAccount:123456789012@cloudservices.gserviceaccount.com\"\n ]\n }\n ]\n }\n }\n\n \u003cbr /\u003e\n\nSetting an IAM policy in your configuration\n-------------------------------------------\n\nNext, in your configuration or template, you can set an IAM policy by following\nthese instructions:\n\n1. Add the `accessControl` section to the top-level configuration for each\n resource for which you want to apply access control policies.\n\n2. Specify the desired `gcpIamPolicy` for the resource. Each IAM policy can\n contain a list of bindings. Each binding binds a list of members to a role.\n\n | **Note:** If you use the `accessControl` section to grant roles to accounts, including service accounts, we recommend that you use Deployment Manager to manage roles for that account. If you change the account's roles outside Deployment Manager and then update the original deployment, the roles from the deployment configuration are applied to the account.\n\n If you're using `accessControl` to manage service accounts,\n [learn more about managing service accounts](/iam/docs/creating-managing-service-accounts).\n\nFor example, the following `accessControl` section adds bindings that grant\nthese roles to users:\n\n resources:\n - name: a-new-pubsub-topic\n type: pubsub.v1.topic\n properties:\n ...\n\n accessControl:\n gcpIamPolicy:\n bindings:\n - role: roles/pubsub.editor\n members:\n - \"user:alice@example.com\"\n - role: roles/pubsub.publisher\n members:\n - \"user:jane@example.com\"\n - \"serviceAccount:my-other-app@appspot.gserviceaccount.com\"\n\nFor more information on IAM policies, read the\n[IAM documentation](/iam/docs/granting-changing-revoking-access)."]]