Si inhabilitas la concesión automática de roles, debes decidir qué roles se deben otorgar a las cuentas
de servicio predeterminadas y, luego, otorgar estos
roles a ti mismo.
Si la cuenta de servicio predeterminada ya tiene el rol de editor, te recomendamos que reemplaces el
rol de editor por roles menos permisivos.Para modificar de forma segura los roles de la cuenta de servicio, usa Policy Simulator para ver el impacto
del cambio y, luego, otorga y revoca los
roles adecuados.
Estos son algunos ejemplos de los permisos de acceso y los roles obligatorios para diferentes situaciones:
Para extraer imágenes de contenedores de los repositorios de Artifact Registry, debes otorgarle a la cuenta de servicio de Compute Engine el rol de lector de Artifact Registry (roles/artifactregistry.reader). Además, asegúrate de que el alcance de accesoread-only esté configurado para los buckets de almacenamiento de Cloud Storage.
Deseas que la instancia de VM se suba a repositorios. En este caso, debes configurar un permiso de acceso con acceso de escritura al almacenamiento: read-write, cloud-platform o full-control.
La instancia de VM se encuentra en un proyecto diferente al de los repositorios a los que deseas acceder. En el proyecto con los repositorios, otorga los permisos necesarios a la cuenta de servicio de la instancia.
Los repositorios se encuentran en el mismo proyecto, pero no quieres que la cuenta de servicio predeterminada tenga el mismo nivel de acceso en todos los repositorios. En este caso, debes otorgar los permisos adecuados al nivel de repositorio y revocar los permisos de Artifact Registry a nivel de proyecto.
La VM está asociada con una cuenta de servicio personalizada. Asegúrate de que la cuenta de servicio tenga los permisos y el permiso de acceso necesarios.
Usas funciones personalizadas para otorgar permisos, y la función personalizada no incluye los permisos necesarios de Artifact Registry. Agrega los permisos necesarios a la función.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-02 (UTC)"],[[["\u003cp\u003eCompute Engine can directly pull containers from Artifact Registry repositories.\u003c/p\u003e\n"],["\u003cp\u003eThe Compute Engine service account requires Artifact Registry access to pull container images.\u003c/p\u003e\n"],["\u003cp\u003eDisabling the automatic Editor role grant for the default service account is recommended and may require you to manually grant specific roles.\u003c/p\u003e\n"],["\u003cp\u003eTo pull images, the service account needs the Artifact Registry Reader role, and \u003ccode\u003eread-only\u003c/code\u003e access scope should be set for Cloud Storage.\u003c/p\u003e\n"],["\u003cp\u003eWhen working with multiple projects, or custom service accounts, ensure the appropriate permissions and access scopes are configured for the specific account.\u003c/p\u003e\n"]]],[],null,["# Deploying to Compute Engine\n\nCompute Engine can pull containers directly from Artifact Registry\nrepositories.\n\nRequired permissions\n--------------------\n\nThe Compute Engine service account needs access to Artifact Registry in\norder to pull container images.\n\n\nDepending on your organization policy configuration, the default service account might\nautomatically be granted the [Editor role](/iam/docs/roles-overview#basic) on your\nproject. We strongly recommend that you disable the automatic role grant by [enforcing the `iam.automaticIamGrantsForDefaultServiceAccounts` organization policy\nconstraint](/resource-manager/docs/organization-policy/restricting-service-accounts#disable_service_account_default_grants). If you created your organization after May 3, 2024, this\nconstraint is enforced by default.\n\n\nIf you disable the automatic role grant, you must decide which roles to grant to the default\nservice accounts, and then [grant these\nroles](/iam/docs/granting-changing-revoking-access) yourself.\n\n\nIf the default service account already has the Editor role, we recommend that you replace the\nEditor role with less permissive roles.To safely modify the service account's roles, use [Policy Simulator](/policy-intelligence/docs/simulate-iam-policies) to see the impact of\nthe change, and then [grant and revoke the\nappropriate roles](/iam/docs/granting-changing-revoking-access).\n\n\u003cbr /\u003e\n\nSome examples of required access scopes and required roles for different\nscenarios are as follows:\n\n- To pull container images from Artifact Registry repositories, you must grant the Compute Engine service account the Artifact Registry Reader role (`roles/artifactregistry.reader`). Additionally, ensure the `read-only` [access scope](/storage/docs/oauth-scopes) is set for Cloud Storage storage buckets.\n- You want the VM instance to upload to repositories. In this case, you must configure an [access scope](/storage/docs/oauth-scopes) with write access to storage: `read-write`, `cloud-platform`, or `full-control`.\n- The VM instance is in a different project than the repositories that you want to access. In the project with the repositories, [grant](/artifact-registry/docs/access-control#grant) the required permissions to the instance's service account.\n- The repositories are in the same project, but you don't want the default service account to have the same level of access across all repositories. In this case, you must grant the appropriate permissions at the repository level and revoke the Artifact Registry permissions at the project level.\n- The VM is associated with a custom service account. Ensure that the service account has the required permissions and access scope.\n- You are using custom roles to grant permissions and the custom role does not include the required Artifact Registry permissions. Add the required [permissions](/artifact-registry/docs/access-control#permissions) to the role."]]