Resolva problemas de mensagens de erro de autorização

Este documento aborda as mensagens de erro com que se pode deparar se não tiver as autorizações de acesso necessárias para um recurso e descreve como pode resolver estes erros.

Mensagens de erro de autorização

A Cloud de Confiance consola, a CLI do Google Cloud e a API REST apresentam mensagens de erro quando tenta aceder a um recurso ao qual não tem autorização de acesso.

Estas mensagens de erro podem dever-se a qualquer um dos seguintes motivos:

  • Existe uma política de recusa a bloquear o acesso. Se uma política de recusa impedir a utilização de quaisquer autorizações necessárias, o Cloud de Confiance apresenta uma mensagem de erro.
  • O recurso não existe. Se o recurso não existir, o íconeCloud de Confiance apresenta uma mensagem de erro.

As secções seguintes mostram o aspeto destas mensagens de erro para a Cloud de Confiance consola, a CLI gcloud e a API REST.

Cloud de Confiance mensagens de erro da consola

Na Cloud de Confiance consola, as mensagens de erro são semelhantes às seguintes:

Estas mensagens de erro contêm as seguintes informações:

  • O recurso ao qual tentou aceder: o nome do recurso aparece no título da página de erro e indica o recurso ao qual estava a tentar aceder quando encontrou o erro de autorização.
  • As autorizações obrigatórias em falta: uma lista das autorizações que precisa de ter para aceder ao recurso.
  • Uma lista de funções de IAM que contêm as autorizações necessárias: esta lista não é exaustiva. Contém uma lista organizada de funções que Cloud de Confiance sugere para resolver o problema de acesso. A ordenação baseia-se no tipo de ações permitidas pela função, na relevância do serviço e no número de autorizações.

    Se tiver as autorizações necessárias para conceder funções, esta secção tem o título Selecione uma função a conceder. Se não tiver as autorizações necessárias, esta secção tem o título Peça uma função específica.

    Pode clicar numa função para saber mais sobre a mesma e pedir que lhe seja concedida. Se tiver as autorizações necessárias para conceder funções, pode conceder a função a si próprio em vez de a pedir.

Mensagens de erro da CLI gcloud e da API REST do Google Cloud

A redação exata da mensagem de erro depende do comando que executar. No entanto, normalmente, contém as seguintes informações:

  • A autorização necessária
  • O recurso no qual tentou realizar uma ação
  • A conta de autenticação

Por exemplo, se não tiver autorização para listar contentores num projeto, é apresentada uma mensagem de erro semelhante à seguinte:

gcloud

ERROR: (gcloud.storage.buckets.list) HTTPError 403:
EMAIL_ADDRESS does not have
storage.buckets.list access to the Google Cloud project. Permission
'storage.buckets.list' denied on resource (or it may not exist). This command
is authenticated as EMAIL_ADDRESS which
is the active account specified by the [core/account] property.

REST

{
  "error": {
    "code": 403,
    "message": "EMAIL_ADDRESS does not have storage.buckets.list access to the Google Cloud project. Permission 'storage.buckets.list' denied on resource (or it may not exist).",
    "errors": [
      {
        "message": "EMAIL_ADDRESS does not have storage.buckets.list access to the Google Cloud project. Permission 'storage.buckets.list' denied on resource (or it may not exist).",
        "domain": "global",
        "reason": "forbidden"
      }
    ]
  }
}

Peça autorizações em falta

Se não tiver autorização para modificar as políticas relacionadas com o acesso na sua organização, não pode resolver os erros de autorização sozinho. No entanto, pode enviar um pedido de acesso a um administrador através do contexto da mensagem de erro.

Pode pedir acesso das seguintes formas:

Se estiver a usar a Cloud de Confiance consola e tiver as autorizações necessárias para atribuir funções, pode atribuir a função a si próprio diretamente a partir da mensagem de erro, em vez de a pedir. Para mais informações, consulte o artigo Conceda-se uma função na Cloud de Confiance consola.

Peça as autorizações necessárias

Para pedir as autorizações necessárias, faça o seguinte:

Consola

  1. Na lista de autorizações em falta, clique em Pedir autorizações.

  2. No painel Pedir acesso, escolha como quer notificar o seu administrador:

    • Se a sua organização suportar os contactos essenciais e permitir emails de pedido de acesso gerados automaticamente, pode enviar um email gerado automaticamente ao contacto essencial técnico da sua organização. Para enviar este email, faça o seguinte:

      1. Selecione Enviar email gerado automaticamente.
      2. Adicione qualquer contexto acerca do pedido que queira incluir.
      3. Clique em Enviar solicitação.
    • Para copiar o pedido de acesso e colá-lo no seu sistema de gestão de pedidos preferencial, faça o seguinte:

      1. Se a sua organização suportar contactos essenciais e permitir emails gerados automaticamente, mas quiser enviar a notificação manualmente, selecione Notificar manualmente.
      2. Adicione qualquer contexto acerca do pedido que queira incluir.
      3. Clique em Copiar mensagem.
      4. Cole o pedido no seu sistema preferencial de gestão de pedidos.

      O administrador recebe o seu pedido de acesso, juntamente com qualquer contexto adicional que tenha fornecido.

gcloud

Copie a lista de autorizações em falta da mensagem de erro e, em seguida, use o seu sistema de gestão de pedidos preferencial para pedir a um administrador que lhe conceda estas autorizações.

REST

Copie a lista de autorizações em falta da mensagem de erro e, em seguida, use o seu sistema de gestão de pedidos preferencial para pedir a um administrador que lhe conceda estas autorizações.

Peça uma função

Se o erro de autorização for causado por uma política de permissão, pode pedir a um administrador que lhe conceda uma função com as autorizações necessárias para resolver o erro.

Se o erro for causado por um tipo de política diferente ou se não tiver a certeza de que tipo de política está a causar o erro, peça as autorizações necessárias.

Consola

  1. Na secção Peça uma função específica, reveja a lista de funções recomendadas e escolha a que quer pedir. Pode clicar nas funções para ver mais detalhes sobre as mesmas. Esta secção só é visível se o erro de autorização for causado por uma política de autorização.

  2. Clique na função que escolheu e, de seguida, clique em Pedir função.

  3. No painel Pedir acesso, escolha uma das opções para notificar o administrador:

    • Se a sua organização suportar os contactos essenciais e permitir emails de pedido de acesso gerados automaticamente, pode enviar um email gerado automaticamente para o contacto essencial técnico da sua organização. Para enviar este email, faça o seguinte:

      1. Selecione Enviar email gerado automaticamente.
      2. Adicione qualquer contexto acerca do pedido que queira incluir.
      3. Clique em Enviar solicitação.
    • Para copiar o pedido de acesso e colá-lo no seu sistema de gestão de pedidos preferencial, faça o seguinte:

      1. Se a sua organização suportar contactos essenciais e permitir emails gerados automaticamente, mas quiser enviar a notificação manualmente, selecione Notificar manualmente.
      2. Adicione qualquer contexto acerca do pedido que queira incluir.
      3. Clique em Copiar mensagem.
      4. Cole o pedido no seu sistema de gestão de pedidos preferencial.

    O administrador recebe o seu pedido de acesso, juntamente com qualquer contexto adicional que tenha fornecido.

gcloud

  1. Identifique uma função de IAM que contenha as autorizações em falta.

    Para ver todas as funções nas quais uma determinada autorização está incluída, pesquise a autorização no índice de autorizações e funções de IAM e, de seguida, clique no nome da autorização.

    Se nenhuma das funções predefinidas corresponder ao seu exemplo de utilização, pode criar uma função personalizada.

  2. Use o seu sistema de gestão de pedidos preferencial para pedir a um administrador que lhe atribua a função.

REST

  1. Identifique uma função de IAM que contenha as autorizações em falta.

    Para ver todas as funções nas quais uma determinada autorização está incluída, pesquise a autorização no índice de autorizações e funções de IAM e, de seguida, clique no nome da autorização.

    Se nenhuma das funções predefinidas corresponder ao seu exemplo de utilização, pode criar uma função personalizada.

  2. Use o seu sistema de gestão de pedidos preferencial para pedir a um administrador que lhe atribua a função.

Conceda-se uma função na Cloud de Confiance consola

Se encontrar um erro de autorização na Cloud de Confiance consola e tiver as autorizações necessárias para conceder funções, pode conceder-se uma função diretamente a partir da mensagem de erro de autorização:

  1. Na secção Selecione uma função a conceder, reveja a lista de funções recomendadas e escolha a que quer pedir. Pode clicar nas funções para ver mais detalhes sobre as mesmas.

  2. Para conceder a função que escolheu, clique na função e, de seguida, em Conceder acesso.

Resolva erros de autorização de pedidos de acesso

Se for administrador, pode receber pedidos de acesso de utilizadores que encontraram erros de autorização na Cloud de Confiance consola. Normalmente, estes pedidos são enviados às seguintes pessoas:

  • O contacto técnico essencial da sua organização. Se a sua organização tiver ativado os contactos essenciais e permitir emails de pedido de acesso gerados automaticamente, os utilizadores que encontrem erros de autorização na consolaCloud de Confiance têm a opção de enviar um pedido de acesso gerado automaticamente ao contacto essencial técnico da respetiva organização.

  • Contactos configurados através do seu sistema de gestão de pedidos preferencial. Os utilizadores que encontram erros de autorização na Cloud de Confiance consola têm a opção de copiar uma mensagem de pedido de acesso e, em seguida, enviá-la através do respetivo sistema de gestão de pedidos preferencial.

Normalmente, estas mensagens têm o seguinte formato:

user@example.com is requesting a role on the resource example.com:example-project.

Requestor's message:

"I need access to example-project to complete my work."

You may be able to resolve this request by granting access directly at:

ACCESS_REQUEST_PANEL_URL

Or use the Policy Troubleshooter to determine what's preventing access for user@example.com:

POLICY_TROUBLESHOOTER_URL

Pode responder a estas solicitações das seguintes formas:

  • Resolva o acesso diretamente: os pedidos de acesso contêm um link para um painel de pedidos de acesso na Cloud de Confiance consola. Se o erro de autorização for causado por uma política de permissão, pode resolver o acesso diretamente a partir desse painel.

    No painel de pedido de acesso, pode rever os detalhes do pedido e escolher como quer responder ao pedido. Pode responder das seguintes formas:

    • Conceda a função pedida
    • Adicione o utilizador a um grupo existente que já tenha o acesso necessário
    • Negar o pedido
  • Veja detalhes adicionais na ferramenta de resolução de problemas de políticas: os pedidos de acesso contêm um link para a ferramenta de resolução de problemas de políticas, que lhe permite ver que políticas estão a bloquear o acesso do utilizador. Pode usar estas informações para decidir como resolver o problema de acesso do utilizador. Para mais informações, consulte o artigo Identifique as políticas que causam erros de autorização nesta página.

  • Corrija problemas de acesso com a resolução de problemas de políticas (Pré-visualização): os pedidos de acesso também contêm um link para um resumo da correção de políticas, que descreve os detalhes do pedido, incluindo o principal, o recurso e a autorização que estão a fazer o pedido. No resumo da correção de políticas, pode resolver diretamente pedidos de acesso que envolvam políticas de autorização e obter mais informações sobre as políticas que estão a bloquear o acesso dos utilizadores.

    Para mais informações sobre a resolução de solicitações de acesso através do resumo da correção de políticas, consulte o artigo Corrija problemas de acesso.

Resolva manualmente erros de autorização

Se for um administrador com autorização para modificar as políticas relacionadas com o acesso na sua organização, pode usar estas estratégias para resolver erros de autorização, independentemente do tipo de política que está a causar o erro.

Para resolver erros de autorização, primeiro tem de determinar que políticas (permitir ou negar) estão a causar o erro. Em seguida, pode resolver o erro.

Identifique as políticas que causam erros de autorização

Para determinar que políticas estão a causar um erro de autorização, use a resolução de problemas de políticas.

A resolução de problemas de políticas ajuda a compreender se um principal pode aceder a um recurso. Dado um principal, um recurso e uma autorização, a resolução de problemas de políticas examina as políticas de permissão, as políticas de negação e as políticas de limite de acesso principal (PAB) que afetam o acesso do principal. Em seguida, indica se, com base nessas políticas, o principal pode usar a autorização especificada para aceder ao recurso. Também indica as políticas relevantes e explica como afetam o acesso do principal.

Para saber como resolver problemas de acesso e interpretar os resultados do resolutor de problemas de políticas, consulte o artigo Resolva problemas de autorizações IAM.

As mensagens de erro na Cloud de Confiance consola contêm um link para uma página de remediação do solucionador de problemas de políticas (pré-visualização) para o principal, as autorizações e o recurso envolvidos no pedido. Para ver este link, clique em Ver detalhes da resolução de problemas e, de seguida, clique em Resolução de problemas de políticas. Para mais informações, consulte o artigo Corrija pedidos de acesso.

Atualize o acesso para resolver erros de autorização

Depois de saber que políticas estão a causar um erro de autorização, pode tomar medidas para resolver o erro.

Muitas vezes, a resolução de um erro envolve a criação ou a atualização de políticas de permissão ou recusa.

No entanto, existem outras opções para resolver erros que não envolvem a atualização de políticas. Por exemplo, pode adicionar o utilizador a um grupo que tenha as autorizações necessárias ou adicionar etiquetas para isentar um recurso de uma política.

Para saber as diferentes formas de resolver erros de autorização causados por cada um dos diferentes tipos de políticas, consulte o seguinte:

Resolva erros de autorização da política de permissão

Para resolver erros de autorização causados por políticas de permissão, faça uma das seguintes ações.

Conceda uma função com as autorizações necessárias

Para encontrar e conceder uma função com as autorizações necessárias, faça o seguinte:

  1. Identifique uma função de IAM que contenha as autorizações em falta.

    Para ver todas as funções nas quais uma determinada autorização está incluída, pesquise a autorização no índice de autorizações e funções de IAM e, de seguida, clique no nome da autorização.

    Se nenhuma das funções predefinidas corresponder ao seu exemplo de utilização, pode criar uma função personalizada.

  2. Identifique um principal ao qual conceder a função:

    • Se o utilizador for a única pessoa que precisa da autorização, atribua a função diretamente ao utilizador.
    • Se o utilizador fizer parte de um grupo Google que contenha utilizadores que precisam de autorizações semelhantes, considere atribuir a função ao grupo. Se conceder a função ao grupo, todos os membros desse grupo podem usar essa autorização, a menos que lhes tenha sido explicitamente recusada a utilização da mesma.
  3. Conceda a função ao principal.

Adicione o utilizador a um grupo Google

Se for concedida uma função a um grupo Google num recurso, todos os membros desse grupo podem usar as autorizações nessa função para aceder ao recurso.

Se já tiver sido concedida a um grupo existente uma função com as autorizações necessárias, pode conceder a um utilizador as autorizações necessárias adicionando-o a esse grupo:

  1. Identifique um grupo que tenha uma função com as autorizações necessárias. Se já usou a resolução de problemas de políticas para resolver problemas do pedido, pode rever os resultados da resolução de problemas de políticas para identificar um grupo com as autorizações necessárias.

    Em alternativa, pode usar o analisador de políticas para identificar um grupo com as autorizações necessárias.

  2. Adicione o utilizador ao grupo.

Resolva erros de autorização de políticas de negação

Para resolver erros de autorização relacionados com políticas de recusa, faça uma das seguintes ações.

Isente-se de uma política de recusa

Se uma regra de recusa estiver a bloquear o acesso de um utilizador a um recurso, pode fazer uma das seguintes ações para isentar o utilizador da regra:

  • Adicione o utilizador como um principal de exceção na regra de recusa. Os principais de exceção são principais que não são afetados pela regra de recusa, mesmo que façam parte de um grupo incluído na regra de recusa.

    Para adicionar um principal de exceção a uma regra de recusa, siga os passos para atualizar a política de recusa. Quando atualizar a política de negação, procure a regra de negação que bloqueia o acesso e, em seguida, adicione o identificador principal do utilizador como um principal de exceção.

  • Adicione o utilizador a um grupo isento da regra. Se um grupo for apresentado como um principal de exceção, todos os membros desse grupo estão isentos da regra de recusa.

    Para adicionar o utilizador a um grupo isento, faça o seguinte:

    1. Use a resolução de problemas de políticas para identificar as políticas de recusa que estão a bloquear o acesso ao recurso.
    2. Veja a política de recusa.
    3. Verifique a lista de principais de exceção para grupos.
    4. Se identificar um grupo isento, adicione o utilizador ao grupo.

Remova a autorização da política de negação

As regras de recusa impedem que os principais listados usem autorizações específicas. Se uma regra de negação estiver a bloquear o acesso de um utilizador a um recurso, pode remover as autorizações de que necessita da regra de negação.

Para remover autorizações de uma regra de recusa, siga os passos para atualizar a política de recusa. Quando atualizar a política de recusa, encontre a regra de recusa que bloqueia o acesso e, em seguida, faça uma das seguintes ações:

  • Se a política de recusa listar as autorizações necessárias individualmente, encontre as autorizações necessárias e remova-as da regra de recusa.
  • Se a regra de recusa usar grupos de autorizações, adicione as autorizações necessárias como autorizações de exceção. As autorizações de exceção são autorizações que não são bloqueadas pela regra de recusa, mesmo que façam parte de um grupo de autorizações incluído na regra.

Exclua o recurso da política de recusa

Pode usar condições em políticas de recusa para aplicar uma regra de recusa com base nas etiquetas de um recurso. Se as etiquetas do recurso não cumprirem a condição na regra de recusa, a regra de recusa não se aplica.

Se uma regra de recusa estiver a bloquear o acesso a um recurso, pode editar as condições na regra de recusa ou as etiquetas no recurso para garantir que a regra de recusa não se aplica ao recurso.

O que se segue?