Verifique se o administrador delegado a quem a política de acesso com escopo está delegada tem a permissão cloudasset.assets.searchAllResources na pasta ou no projeto a que a política com escopo está vinculada.
O administrador delegado precisa dessa permissão para pesquisar todos os recursos Google Cloud .
Criar uma política de acesso com escopo e delegar a administração a pastas e projetos na organização.
Depois de criar uma política de acesso com escopo, não é possível alterar o escopo da política.
Para alterar o escopo de uma política existente, exclua a política e recrie a política com o novo escopo.
Console
No Google Cloud menu de navegação do console, clique em Segurança e depois
em VPC Service Controls.
Se solicitado, selecione a organização, a pasta ou o projeto.
Na página VPC Service Controls, selecione a política de acesso que é a mãe da política com escopo. Por exemplo, é possível selecionar a política da organização default policy.
Clique em Gerenciar políticas.
Na página Gerenciar VPC Service Controls, clique em Criar.
Na página Criar política de acesso, na caixa Nome da política de acesso, digite um nome para a política de acesso com escopo.
O nome da política de acesso com escopo pode ter no máximo 50 caracteres, precisa começar com uma letra e pode conter apenas letras latinas ASCII (az, AZ), números (0-9) ou sublinhados (_). O nome da política de acesso com escopo diferencia maiúsculas de minúsculas e precisa ser exclusivo na política de acesso de uma organização.
Para especificar um escopo para a política de acesso, clique em Escopos.
Especifique um projeto ou uma pasta como o escopo da política de acesso.
Para selecionar um projeto que você quer adicionar ao escopo da política de acesso, faça o seguinte:
No painel Escopos, clique em Adicionar projeto.
Na caixa de diálogo Adicionar projeto, marque a caixa de seleção do projeto.
Clique em Concluído. O projeto adicionado aparece na seção Escopos.
Para selecionar uma pasta que você quer adicionar ao escopo da política de acesso,
faça o seguinte:
No painel Escopos, clique em Adicionar pasta.
Na caixa de diálogo Adicionar pastas, marque a caixa de seleção da pasta em questão.
Clique em Concluído. A pasta adicionada aparece na seção Escopos.
Para delegar a administração da política de acesso com escopo, clique em Diretores.
Para especificar o diretor e o papel que você quer vincular à política de acesso, faça o seguinte:
No painel Diretores, clique em Adicionar diretores.
Na caixa de diálogo Adicionar diretores, selecione um diretor, como um nome de usuário
ou uma conta de serviço.
Selecione o papel que você quer associar ao diretor, como
papéis de editor e leitura.
Clique em Save. O diretor e a função adicionados aparecem na seção Diretores.
Na página Criar política de acesso, clique em Criar política de acesso.
ORGANIZATION_ID é o código numérico da organização;
POLICY_TITLE é um título para a política que seja legível.
O título da política pode ter no máximo 50 caracteres, precisa começar com uma letra e conter apenas letras latinas ASCII (az, A-Z), números (0-9) ou sublinhados (_). O título da política diferencia maiúsculas de minúsculas e precisa ser exclusivo na política de acesso de uma organização.
SCOPE é a pasta ou o projeto em que essa política é aplicável. Só é possível especificar uma pasta ou um projeto como o escopo, que precisa existir na organização especificada. Se você não especificar um escopo, a política será aplicada à organização inteira.
POLICY é o ID da política ou o identificador totalmente qualificado da política.
PRINCIPAL é o diretor para quem a vinculação deve ser adicionada. Especifique no seguinte formato: user|group|serviceAccount:email ou domain:domain.
ROLE é o nome do papel a ser atribuído ao diretor. O nome do papel é o caminho completo de um papel predefinido, como roles/accesscontextmanager.policyEditor, ou o ID do papel, como organizations/{ORGANIZATION_ID}/roles/accesscontextmanager.policyEditor.
API
Para criar uma política de acesso com escopo, faça o seguinte:
ORGANIZATION_ID é o código numérico da organização;
SCOPE é a pasta ou o projeto em que essa política é aplicável.
POLICY_TITLE é um título para a política que seja legível.
O título da política pode ter no máximo 50 caracteres, precisa começar com uma letra e conter apenas letras latinas ASCII (az, A-Z), números (0-9) ou sublinhados (_). O título da política diferencia maiúsculas de minúsculas e precisa ser exclusivo na política de acesso de uma organização.
POST https://accesscontextmanager.googleapis.com/v1/accessPolicies
Corpo da resposta
Caso a chamada seja bem-sucedida, o corpo da resposta incluirá um recurso de
Operation que fornece detalhes sobre a
operação POST.
Para delegar a administração da política de acesso com escopo, faça o seguinte:
Crie um corpo da solicitação.
{"policy":"IAM_POLICY",}
Em que:
IAM_POLICY é um conjunto de vinculações. Uma vinculação vincula um ou mais membros, ou diretores, a um único papel. Os diretores podem ser contas de
usuário, contas de serviço, Grupos do Google e domínios. Um papel é uma lista nomeada de permissões. Cada um pode ser predefinido pelo IAM ou criado pelo usuário.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-01 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."]]