Asegúrate de que el administrador delegado al que se le delegue la política de acceso con alcance tenga el permiso cloudasset.assets.searchAllResources en la carpeta o el proyecto al que está vinculada la política.
El administrador delegado necesita este permiso para buscar todos los recursos de Google Cloud .
Crea una política de acceso con alcance y delega la administración a carpetas y proyectos en la organización.
Después de crear una política de acceso con alcance, no puedes cambiar el alcance de la política.
Para cambiar el alcance de una política existente, bórrala y vuelve a crearla con el alcance nuevo.
Console
En el menú de navegación de la Google Cloud consola, haz clic en Seguridad y, luego, en Controles del servicio de VPC.
Si se te solicita, selecciona tu organización, carpeta o proyecto.
En la página Controles del servicio de VPC, selecciona la política de acceso que es la superior de la política con alcance. Por ejemplo, puedes seleccionar la política de la organización default policy.
Haz clic en Administrar políticas.
En la página Administrar Controles del servicio de VPC, haz clic en Crear.
En la página Crear política de acceso, en el cuadro Nombre de la política de acceso, escribe un nombre para la política de acceso con alcance.
El nombre de la política de acceso con alcance puede tener una longitud máxima de 50 caracteres, debe comenzar con una letra y solo puede contener letras latinas ASCII (a-z, A-Z), números (0-9) o guiones bajos (_). El nombre de la política de acceso con alcance distingue mayúsculas de minúsculas y debe ser único dentro de la política de acceso de una organización.
A fin de especificar un alcance para la política de acceso, haz clic en Alcances.
Especifica un proyecto o una carpeta como alcance de la política de acceso.
Para seleccionar un proyecto que desees agregar al alcance de la política de acceso, haz lo siguiente:
En el panel Alcances, haz clic en Agregar proyecto.
En el cuadro de diálogo Agregar proyecto, selecciona la casilla de verificación de ese proyecto.
Haga clic en Listo. El proyecto agregado aparecerá en la sección Alcances.
Para seleccionar una carpeta que desees agregar al alcance de la política de acceso, haz lo siguiente:
En el panel Alcances, haz clic en Agregar carpeta.
En el cuadro de diálogo Agregar carpetas, selecciona la casilla de verificación de esa carpeta.
Haz clic en Listo. La carpeta agregada aparece en la sección Alcances.
Para delegar la administración de la política de acceso con alcance, haz clic en Principales.
Para especificar el principal y el rol que deseas vincular a la política de acceso, haz lo siguiente:
En el panel Principales, haz clic en Agregar principales.
En el cuadro de diálogo Agregar principales, selecciona uno, como un nombre de usuario o una cuenta de servicio.
Selecciona el rol que deseas asociar con la principal, como roles de editor y de lectura.
Haz clic en Guardar. El principal y el rol agregados aparecen en la sección Principales.
En la página Crear política de acceso, haz clic en Crear política de acceso.
ORGANIZATION_ID es el ID numérico de tu organización.
POLICY_TITLE es un título legible de tu política.
El título de la política puede tener una longitud máxima de 50 caracteres, debe comenzar con una letra y solo puede contener letras latinas ASCII (a-z, A-Z), números (0-9) o guiones bajos (_). El título de la política distingue mayúsculas de minúsculas y debe ser único dentro de la política de acceso de una organización.
SCOPE es la carpeta o el proyecto al que se aplica esta política. Solo puedes especificar una carpeta o un proyecto como alcance, y el alcance debe existir dentro de la organización especificada. Si no especificas un alcance, la política se aplica a toda la organización.
Create request issued
Waiting for operation [accessPolicies/POLICY_NAME/create/1521580097614100] to complete...done.
Created.
Para delegar la administración mediante la vinculación de una principal y un rol a una política de acceso con alcance, usa el comando add-iam-policy-binding.
POLICY es el ID de la política o el identificador completamente calificado para la política.
PRINCIPAL es el principal al que se agregará la vinculación. Especifica en el siguiente formato: user|group|serviceAccount:email o domain:domain.
ROLE es el nombre del rol que se asignará al principal. El nombre del rol es la ruta completa de un rol predefinido, como roles/accesscontextmanager.policyEditor, o el ID de un rol personalizado, como organizations/{ORGANIZATION_ID}/roles/accesscontextmanager.policyEditor.
API
Para crear una política de acceso con alcance, haz lo siguiente:
ORGANIZATION_ID es el ID numérico de tu organización.
SCOPE es la carpeta o el proyecto al que se aplica esta política.
POLICY_TITLE es un título legible de tu política.
El título de la política puede tener una longitud máxima de 50 caracteres, debe comenzar con una letra y solo puede contener letras latinas ASCII (a-z, A-Z), números (0-9) o guiones bajos (_). El título de la política distingue mayúsculas de minúsculas y debe ser único dentro de la política de acceso de una organización.
POST https://accesscontextmanager.googleapis.com/v1/accessPolicies
Cuerpo de la respuesta
Si tiene éxito, el cuerpo de la respuesta de la llamada contendrá un recurso Operation que proporciona detalles sobre la operación POST.
Para delegar la administración de la política de acceso con alcance, haz lo siguiente:
Crea un cuerpo de solicitud.
{"policy":"IAM_POLICY",}
Aquí:
IAM_POLICY es una colección de vinculaciones. Una vinculación une uno o más miembros, o principales, a un solo rol. Los principales pueden ser cuentas de usuario, cuentas de servicio, grupos de Google y dominios. Un rol es una lista con nombre de permisos. Cada rol puede ser un rol predefinido de IAM o un rol personalizado creado por el usuario.
[[["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-04 (UTC)"],[],[],null,["# Create a scoped access policy\n\nThis page describes how to create and delegate scoped access policies.\n\nBefore you begin\n----------------\n\n- Read about [scoped policies](/access-context-manager/docs/scoped-policies).\n\n- Read about [granting access to VPC Service Controls](/vpc-service-controls/docs/access-control).\n\n | **Note:** The access control for scoped policies is independent of the projects or folders in their scopes. Any Access Context Manager permissions granted on folders or projects have no effect on scoped policies as permissions can only be granted at the organization-level or on individual policies.\n- Make sure that the delegated administrator to whom the scoped access policy\n is delegated has the [`cloudasset.assets.searchAllResources`](/sdk/gcloud/reference/asset/search-all-resources)\n permission on the folder or the project to which the scoped policy is bound.\n This permission is required by the delegated administrator to search all Google Cloud resources.\n\n- Read about [configuring service perimeters](/vpc-service-controls/docs/service-perimeters).\n\nCreating a scoped access policy\n-------------------------------\n\nCreate a scoped access policy and delegate administration to folders and projects in the organization.\nAfter you create a scoped access policy, you cannot change the scope of the policy.\nTo change the scope of an existing policy, delete the policy, and recreate the policy with the new scope.\n**Warning:** If an organization-level access policy doesn't exist for your organization, scoped policies that you create at the folder or project-level don't work. \n\n### Console\n\n1. In the Google Cloud console navigation menu, click **Security** , and then\n click **VPC Service Controls**.\n\n [Go to VPC Service Controls](https://console.cloud.google.com/security/service-perimeter)\n2. If you are prompted, select your organization, folder, or project.\n\n3. On the **VPC Service Controls** page, select the access policy that is the\n parent of the scoped policy. For example, you can select the `default policy`\n organization policy.\n\n4. Click **Manage policies**.\n\n5. On the **Manage VPC Service Controls** page, click **Create**.\n\n6. On the **Create access policy** page, in the **Access policy name** box,\n type a name for the scoped access policy.\n\n The scoped access policy name can have a maximum length of 50 characters, must start\n with a letter, and can contain only ASCII Latin letters (a-z, A-Z),\n numbers (0-9), or underscores (`_`). The scoped access policy name is case sensitive\n and must be unique within an organization's access policy.\n7. To specify a scope for the access policy, click **Scopes**.\n\n8. Specify either a project or a folder as the scope of the access policy.\n\n - To select a project that you want to add to the scope of the access\n policy, do the following:\n\n 1. In the **Scopes** pane, click **Add project**.\n\n 2. In the **Add project** dialog, select that project's checkbox.\n\n 3. Click **Done** . The added project appears in the **Scopes** section.\n\n - To select a folder that you want to add to the scope of the access policy,\n do the following:\n\n 1. In the **Scopes** pane, click **Add folder**.\n\n 2. In the **Add folders** dialog, select that folder's checkbox.\n\n 3. Click **Done** . The added folder appears in the **Scopes** section.\n\n9. To delegate administration of the scoped access policy, click **Principals**.\n\n10. To specify the [principal](/iam/docs/overview#concepts_related_identity)\n and the role that you want to bind to the access policy, do the following:\n\n 1. In the **Principals** pane, click **Add principals**.\n\n 2. In the **Add principals** dialog, select a principal, such as a user\n name or service account.\n\n 3. Select the role that you want to associate with the principal, such\n as editor and read roles.\n\n 4. Click **Save** . The added principal and role appear in the **Principals** section.\n\n11. On the **Create access policy** page, click **Create access policy**.\n\n### gcloud\n\nTo create a scoped access policy, use the [`gcloud access-context-manager policies create`](/sdk/gcloud/reference/access-context-manager/policies/create)\ncommand. \n\n```bash\ngcloud access-context-manager policies create \\\n--organization ORGANIZATION_ID [--scopes=SCOPE] --title POLICY_TITLE\n```\n\nWhere:\n\n- \u003cvar translate=\"no\"\u003eORGANIZATION_ID\u003c/var\u003e is the numeric ID of your organization.\n\n- \u003cvar translate=\"no\"\u003ePOLICY_TITLE\u003c/var\u003e is a human-readable title for your policy.\n The policy title can have a maximum length of 50 characters, must start\n with a letter, and can contain only ASCII Latin letters (a-z, A-Z),\n numbers (0-9), or underscores (`_`). The policy title is case sensitive\n and must be unique within an organization's access policy.\n\n- \u003cvar translate=\"no\"\u003eSCOPE\u003c/var\u003e is the folder or project on which this policy is applicable. You\n can specify only one folder or project as the scope, and the scope must exist\n within the specified organization. If you don't specify a scope, the policy\n applies to the entire organization.\n\nThe following output appears (where \u003cvar translate=\"no\"\u003ePOLICY_NAME\u003c/var\u003e\nis a unique [numeric identifier for the policy](https://cloud.google.com/access-context-manager/docs/manage-access-policy#get_the_name_of_an_access_policy)\nassigned by Google Cloud): \n\n```\nCreate request issued\nWaiting for operation [accessPolicies/POLICY_NAME/create/1521580097614100] to complete...done.\nCreated.\n```\n\nTo delegate administration by binding a principal and role with a scoped access policy, use the [`add-iam-policy-binding`](/sdk/gcloud/reference/access-context-manager/policies/add-iam-policy-binding)\ncommand. \n\n```bash\ngcloud access-context-manager policies add-iam-policy-binding \\\n[POLICY] --member=PRINCIPAL --role=ROLE\n```\n\nWhere:\n\n- \u003cvar translate=\"no\"\u003ePOLICY\u003c/var\u003e is ID of the policy or fully qualified identifier for the policy.\n\n- \u003cvar translate=\"no\"\u003ePRINCIPAL\u003c/var\u003e is the principal to add the binding for. Specify in the\n following format: `user|group|serviceAccount:email` or `domain:domain`.\n\n- \u003cvar translate=\"no\"\u003eROLE\u003c/var\u003e is the role name to assign to the principal. The role name\n is the complete path of a predefined role, such as `roles/accesscontextmanager.policyEditor`,\n or the role ID for a custom role, such as\n `organizations/{ORGANIZATION_ID}/roles/accesscontextmanager.policyEditor`.\n\n### API\n\nTo create a scoped access policy, do the following:\n\n1. Create a request body.\n\n ```json\n {\n \"parent\": \"\u003cvar translate=\"no\"\u003eORGANIZATION_ID\u003c/var\u003e\",\n \"scope\": \"\u003cvar translate=\"no\"\u003eSCOPE\u003c/var\u003e\"\n \"title\": \"\u003cvar translate=\"no\"\u003ePOLICY_TITLE\u003c/var\u003e\"\n }\n ```\n\n Where:\n - \u003cvar translate=\"no\"\u003eORGANIZATION_ID\u003c/var\u003e is the numeric ID of your organization.\n\n - \u003cvar translate=\"no\"\u003eSCOPE\u003c/var\u003e is the folder or project on which this policy is applicable.\n\n - \u003cvar translate=\"no\"\u003ePOLICY_TITLE\u003c/var\u003e is a human-readable title for your policy.\n The policy title can have a maximum length of 50 characters, must start\n with a letter, and can contain only ASCII Latin letters (a-z, A-Z),\n numbers (0-9), or underscores (`_`). The policy title is case sensitive\n and must be unique within an organization's access policy.\n\n2. Create the access policy by\n calling [`accessPolicies.create`](/access-context-manager/docs/reference/rest/v1/accessPolicies/create).\n\n ```\n POST https://accesscontextmanager.googleapis.com/v1/accessPolicies\n ```\n\n#### Response body\n\nIf successful, the response body for the call contains an\n[`Operation`](/access-context-manager/docs/reference/rest/Shared.Types/Operation) resource that provides details about the\n`POST` operation.\n\nTo delegate administration of the scoped access policy, do the following:\n\n1. Create a request body.\n\n ```json\n {\n \"policy\": \"\u003cvar translate=\"no\"\u003eIAM_POLICY\u003c/var\u003e\",\n }\n ```\n\n Where:\n - \u003cvar translate=\"no\"\u003eIAM_POLICY\u003c/var\u003e is a collection of bindings. A binding binds one or more members, or principals, to a single role. Principals can be user accounts, service accounts, Google groups, and domains. A role is a named list of permissions; each role can be an IAM predefined role or a user-created custom role.\n2. Delegate the access policy by\n calling [`accessPolicies.setIamPolicy`](/access-context-manager/docs/reference/rest/v1/accessPolicies/setIamPolicy).\n\n ```\n POST https://accesscontextmanager.googleapis.com/v1/accessPolicies\n ```\n\n#### Response body\n\nIf successful, the response body contains an instance of [`policy`](/access-context-manager/docs/reference/rest/Shared.Types/Policy).\n\nWhat's next\n-----------\n\n- Learn how to [manage existing](/vpc-service-controls/docs/manage-service-perimeters) service perimeters."]]