Controle o acesso à IAM com base na sensibilidade dos dados

Esta página descreve como conceder ou negar automaticamente o acesso à gestão de identidade e acesso (IAM) aos recursos com base na sensibilidade dos dados nesses recursos.

Pode configurar o serviço de deteção de proteção de dados confidenciais para anexar automaticamente etiquetas a recursos com base nos níveis de sensibilidade calculados desses recursos. Em seguida, pode usar as condições da IAM para conceder ou negar acesso a um recurso, com base na presença ou ausência de uma chave de etiqueta ou um valor de etiqueta de nível de sensibilidade.

Suponhamos que quer que a equipa de dados da sua organização possa copiar e partilhar livremente dados do BigQuery nas suas operações diárias. No entanto, não sabe se algum desses dados contém informações de identificação pessoal (IIP) dos seus clientes. Pode executar a deteção para classificar os níveis de sensibilidade dos seus dados do BigQuery. Em seguida, conceda condicionalmente acesso à equipa de dados, de modo que só consiga aceder a tabelas do BigQuery que tenham apenas dados de baixa sensibilidade.

Para mais informações sobre como a proteção de dados confidenciais calcula a sensibilidade dos dados, consulte os níveis de risco e sensibilidade dos dados.

Para mais informações sobre a utilização de etiquetas para controlar o acesso aos recursos, consulte o artigo Etiquetas e acesso condicional na documentação da IAM. Para informações gerais sobre etiquetas, consulte a vista geral das etiquetas na documentação do Resource Manager.

Etiqueta de nível de sensibilidade

Este documento usa o termo etiqueta de nível de confidencialidade para se referir a uma etiqueta que anexa automaticamente a um recurso para indicar o nível de confidencialidade calculado dos dados nesse recurso.

Vantagens

Esta funcionalidade permite-lhe fazer o seguinte:

  • Automatize o controlo de acesso em vários recursos suportados com base nos atributos e nas classificações dos dados nesses recursos. A automatização ajuda a acompanhar o crescimento e as alterações nos dados da sua organização, pastas e projetos.
  • Restrinja o acesso aos recursos suportados até que esses recursos sejam analisados e classificados pela Proteção de dados confidenciais. Esta prática está em conformidade com o princípio seguro por predefinição.
  • Configure a descoberta para atualizar o valor da etiqueta de nível de sensibilidade sempre que cria perfis dos seus dados. Consequentemente, o acesso de um principal a um recurso muda automaticamente à medida que o nível de sensibilidade dos dados calculado para esse recurso muda.
  • Configure a descoberta para diminuir o nível de risco dos dados calculados num recurso se a descoberta detetar que existe uma etiqueta de nível de sensibilidade nesse recurso. Esta opção ajuda a medir a melhoria na sua postura de segurança e privacidade dos dados.

Recursos suportados

Com esta funcionalidade, a proteção de dados confidenciais etiqueta automaticamente os dados nos seguintes níveis:

  • Tabelas do BigQuery
  • Instâncias do Cloud SQL
  • Contentores do Cloud Storage

Como funciona

Segue-se um fluxo de trabalho de nível elevado para controlar o acesso aos recursos com base na sensibilidade dos dados. Estas tarefas não têm de ser realizadas pela mesma pessoa.

  1. Crie uma etiqueta de nível de sensibilidade
  2. Conceda acesso condicional a recursos com base no valor da etiqueta de nível de sensibilidade
  3. Ative a etiquetagem automática na configuração de descoberta
  4. Conceda autorização ao agente de serviço para anexar a etiqueta de nível de sensibilidade aos recursos

Autorizações necessárias

As autorizações de que precisa dependem da ação que tem de realizar.

Para obter estas autorizações, peça ao seu administrador para conceder a função sugerida no nível adequado da hierarquia de recursos.

Autorizações para administrar etiquetas

Consulte o artigo Administrar etiquetas na documentação do Resource Manager.

Autorizações para conceder acesso condicional a recursos

Consulte os papéis obrigatórios na documentação do IAM.

Autorizações para configurar a descoberta

Veja as funções necessárias para configurar e ver perfis de dados.

Crie uma etiqueta de nível de sensibilidade

Nesta tarefa, cria uma chave de etiqueta com valores de etiqueta que são mapeados para os níveis de confidencialidade dos dados que a Proteção de dados confidenciais usa para classificar os seus dados. Por exemplo, pode usar a seguinte chave de etiqueta e valores de etiqueta.

  1. Defina a chave de etiqueta como sensitivity-level.
  2. Defina os seguintes valores da etiqueta:

    low
    Valor da etiqueta a anexar a dados de baixa sensibilidade
    moderate
    Valor da etiqueta a anexar a dados de sensibilidade moderada
    high
    Valor da etiqueta a anexar a dados de alta sensibilidade

    Também pode criar um valor de etiqueta para recursos que tenham um nível de sensibilidade desconhecido. Em alternativa, pode reutilizar qualquer um dos valores das etiquetas low, medium ou high para esses recursos.

  3. Tenha em atenção o seguinte. Precisa destes elementos na tarefa seguinte:

    • ID da chave da etiqueta, por exemplo, tagKeys/281478077849901
    • Etiquete chaves-valores, por exemplo, tagValues/281479490918432
    • Caminhos de valores de etiquetas, por exemplo, example-project/tag-key/tag-value1

Para simplificar, este exemplo define um mapeamento individual entre um valor de etiqueta e um nível de sensibilidade. Na prática, pode personalizar os valores das etiquetas de acordo com as necessidades da sua empresa. Por exemplo, pode usar valores como confidential, PII ou SPII (IIP sensíveis).

A descoberta de dados confidenciais pode ser configurada ao nível da organização, da pasta e do projeto. Se pretender usar esta etiqueta de nível de confidencialidade para a deteção ao nível da organização ou da pasta, recomendamos que crie esta etiqueta ao nível da organização.

Para obter informações sobre como criar uma etiqueta, consulte o artigo Criar e gerir etiquetas na documentação do Resource Manager.

Conceda acesso condicional a recursos com base no valor da etiqueta de nível de confidencialidade

Nesta tarefa, concede uma função a um principal apenas se a etiqueta de nível de sensibilidade anexada ao recurso tiver um valor específico. Por exemplo, pode conceder a um principal acesso apenas a dados com os valores das etiquetas moderate e low.

Esta secção apresenta exemplos de condições formatadas para utilização com o editor de condições. O editor de condições oferece uma interface baseada em texto para introduzir manualmente uma expressão através da sintaxe CEL. Para obter informações sobre como anexar condições de IAM a associações de funções, consulte o artigo Gerir associações de funções condicionais na documentação da IAM.

Estes exemplos seguem o modelo de etiquetagem definido em Crie uma etiqueta de nível de sensibilidade nesta página.

Conceder aos principais acesso apenas a dados de baixa sensibilidade

Neste exemplo, concede acesso a um recurso se o recurso contiver apenas dados de sensibilidade baixa. Também pode usar este exemplo para restringir todo o acesso ao recurso até que a deteção de dados confidenciais seja executada nesse recurso.

resource.matchTagId("tagKeys/SENSITIVITY_LEVEL_TAG_KEY",
"tagValues/TAG_VALUE_FOR_LOW_SENSITIVITY")

Substitua o seguinte:

  • SENSITIVITY_LEVEL_TAG_KEY: o ID numérico da chave da etiqueta do nível de sensibilidade que criou
  • TAG_VALUE_FOR_LOW_SENSITIVITY: o ID numérico do valor da etiqueta que criou para dados de baixa sensibilidade

Conceder aos responsáveis acesso apenas a dados de sensibilidade moderada e baixa

Neste exemplo, concede acesso a um recurso se o recurso contiver apenas dados de sensibilidade moderada ou baixa. Tenha em atenção que existe um operador OR entre as duas condições.

resource.matchTagId("tagKeys/SENSITIVITY_LEVEL_TAG_KEY", "tagValues/TAG_VALUE_FOR_LOW_SENSITIVITY") ||
resource.matchTagId("tagKeys/SENSITIVITY_LEVEL_TAG_KEY", "tagValues/TAG_VALUE_FOR_MODERATE_SENSITIVITY")

Substitua o seguinte:

  • SENSITIVITY_LEVEL_TAG_KEY: o ID numérico da chave da etiqueta do nível de sensibilidade que criou
  • TAG_VALUE_FOR_LOW_SENSITIVITY: o ID numérico do valor da etiqueta que criou para dados de baixa sensibilidade
  • TAG_VALUE_FOR_MODERATE_SENSITIVITY: o ID numérico do valor da etiqueta que criou para dados de sensibilidade moderada

Conceda acesso aos principais apenas se a etiqueta de nível de sensibilidade estiver presente

Isto é útil, por exemplo, se quiser definir uma política da organização que exija que todo o acesso ao IAM seja condicional com base na presença de uma etiqueta de nível de sensibilidade. Também pode usar este exemplo para restringir todo o acesso ao recurso até que a deteção de dados confidenciais seja executada nesse recurso.

resource.hasTagKeyId("tagKeys/SENSITIVITY_LEVEL_TAG_KEY")

Substitua SENSITIVITY_LEVEL_TAG_KEY pelo ID numérico da chave da etiqueta do nível de sensibilidade que criou.

Exemplos de políticas de recusa

Para ver informações sobre como formar uma política de recusa para utilização com uma etiqueta de recurso, consulte o artigo Estrutura de uma política de recusa. Para ver uma lista das autorizações suportadas, consulte o artigo Autorizações suportadas pelas políticas de recusa.

Negue o acesso se não existir uma etiqueta de nível de sensibilidade

O seguinte excerto de uma política de recusa nega a autorização bigquery.googleapis.com/tables.get se o recurso não tiver a etiqueta de nível de sensibilidade.

  "rules": [
    {
      "denyRule": {
        "deniedPrincipals": [
          "principalSet://goog/group/data-team@example.com"
        ],
        "deniedPermissions": [
          "bigquery.googleapis.com/tables.get"
        ],
        "denialCondition": {
          "title": "Resource has no key",
          "expression": "!resource.hasTagKeyId("tagKeys/SENSITIVITY_LEVEL_TAG_KEY")"
        }
      }
    }
  ]

Substitua SENSITIVITY_LEVEL_TAG_KEY pelo ID numérico da chave da etiqueta do nível de sensibilidade que criou.

Negar o acesso se estiverem presentes dados de sensibilidade moderada ou elevada

O seguinte excerto de uma política de recusa nega a autorização bigquery.googleapis.com/tables.get se o recurso tiver dados de sensibilidade moderada ou alta.

  "rules": [
    {
      "denyRule": {
        "deniedPrincipals": [
          "principalSet://goog/group/data-team@example.com"
        ],
        "deniedPermissions": [
          "bigquery.googleapis.com/tables.get"
        ],
        "denialCondition": {
          "title": "Resource has moderate or high data sensitivity",
          "expression": "resource.matchTagId("tagKeys/SENSITIVITY_LEVEL_TAG_KEY", "tagValues/TAG_VALUE_FOR_MODERATE_SENSITIVITY") || resource.matchTagId("tagKeys/SENSITIVITY_LEVEL_TAG_KEY", "tagValues/TAG_VALUE_FOR_HIGH_SENSITIVITY")"
        }
      }
    }
  ]

Substitua o seguinte:

  • SENSITIVITY_LEVEL_TAG_KEY: o ID numérico da chave da etiqueta do nível de sensibilidade que criou
  • TAG_VALUE_FOR_MODERATE_SENSITIVITY: o ID numérico do valor da etiqueta que criou para dados de sensibilidade moderada
  • TAG_VALUE_FOR_HIGH_SENSITIVITY: o ID numérico do valor da etiqueta que criou para dados de alta sensibilidade

Ative a etiquetagem automática na configuração da descoberta

Nesta tarefa, ativa a ação Recursos de etiquetas. Esta ação indica à proteção de dados confidenciais que etiquete automaticamente os seus dados de acordo com o respetivo nível de sensibilidade calculado. Realiza esta tarefa quando cria ou edita uma configuração de análise de deteção.

Para etiquetar automaticamente um recurso de acordo com o respetivo nível de sensibilidade calculado, siga estes passos:

  1. Ative a opção Etiquetar recursos.
  2. Para cada nível de sensibilidade (elevado, moderado, baixo e desconhecido), introduza o caminho do valor da etiqueta que criou para o nível de sensibilidade indicado.

    Se ignorar um nível de sensibilidade, não é anexada nenhuma etiqueta para esse nível.

  3. Para diminuir automaticamente o nível de risco de dados de um recurso quando a etiqueta de nível de sensibilidade estiver presente, selecione Quando uma etiqueta é aplicada a um recurso, diminua o risco de dados do respetivo perfil para BAIXO. Esta opção ajuda a medir a melhoria na sua postura de segurança e privacidade dos dados.

  4. Selecione uma ou ambas as seguintes opções:

    • Etiquete um recurso quando este for perfilado pela primeira vez.
    • Etiquete um recurso quando o respetivo perfil for atualizado. Selecione esta opção se quiser que a proteção de dados confidenciais substitua o valor da etiqueta do nível de sensibilidade nas execuções de deteção subsequentes. Consequentemente, o acesso de um principal a um recurso é alterado automaticamente à medida que o nível de sensibilidade dos dados calculado para esse recurso aumenta ou diminui.

      Não selecione esta opção se planear atualizar manualmente os valores das etiquetas de nível de sensibilidade que o serviço de deteção anexou aos seus recursos. Se selecionar esta opção, a Proteção de dados confidenciais pode substituir as suas atualizações manuais.

A descoberta de dados confidenciais pode ser configurada ao nível da organização, da pasta e do projeto. Se pretender usar esta etiqueta de nível de sensibilidade para a deteção ao nível da organização e não quiser que as operações de deteção ao nível do projeto substituam os valores das etiquetas definidos pela deteção ao nível da organização, certifique-se de que apenas o agente de serviço da configuração de deteção ao nível da organização pode anexar esta etiqueta aos recursos. Para obter informações sobre como conceder uma função ao nível da etiqueta, consulte o artigo Gerir o acesso a etiquetas na documentação do Resource Manager.

Resolva problemas de erros

Esta secção descreve os erros que pode encontrar quando usa esta funcionalidade e como os resolver.

Número máximo de etiquetas excedido

Cada recurso pode ter um máximo de 50 pares de chave-valor anexados. A tentativa de etiquetar um recurso que já tem o número máximo de etiquetas faz com que a geração do perfil falhe. Recebe o seguinte erro:

The resource RESOURCE_NAME cannot be tagged because there are
too many existing tags bound to the resource. You can either disable automatic
tagging or delete at least one tag binding from the resource.

Para resolver este problema, desassocie uma etiqueta do recurso. Para mais informações, consulte o seguinte:

Em alternativa, desative a ação Etiquetar recursos na configuração da análise de descoberta.

Um valor de etiqueta foi eliminado ou mudado de nome, e a descoberta tentou anexá-lo a um recurso

Se um valor de etiqueta para a etiqueta de nível de sensibilidade for eliminado ou mudado de nome e a proteção de dados confidenciais tentar anexar esse valor de etiqueta a um recurso com perfil, recebe o seguinte erro:

Tag value TAG_VALUE not found, it has possibly been either deleted or renamed.

Para resolver este problema, faça uma das seguintes ações:

  • Se a etiqueta foi eliminada, recrie o valor da etiqueta eliminada. Certifique-se de que o valor da etiqueta recriada corresponde ao valor da etiqueta referenciado na configuração da análise de deteção. Para mais informações, consulte a secção Crie uma etiqueta de nível de sensibilidade nesta página.
  • Se o valor da etiqueta tiver sido mudado, atualize a configuração da análise de deteção para usar o novo nome do valor da etiqueta.

O agente do serviço não tem autorizações

Se o agente do serviço não tiver as autorizações necessárias para anexar a etiqueta de nível de confidencialidade aos recursos com perfil, recebe o seguinte erro:

The DLP service account SERVICE_AGENT_NAME is missing
permissions needed for attaching tags to resources. Check that the role
'resourcemanager.tagUser' is granted to the DLP service account.

Para resolver este problema, siga estes passos:

  1. Obtenha o ID do agente de serviço associado à configuração da análise de deteção:

    1. Aceda à lista de configurações de procura de deteção.

      Aceda às configurações de análise de deteção

    2. Na barra de ferramentas, selecione a sua organização.
    3. Selecione a configuração de análise.
    4. Na página Detalhes da configuração da análise, copie o valor do campo Agente de serviço. O ID do agente de serviço está no formato de um endereço de email.
  2. Conceda ao agente de serviço a função Utilizador de etiquetas (roles/resourcemanager.tagUser) na etiqueta de nível de sensibilidade.

    Em alternativa, pode conceder uma função personalizada na etiqueta de nível de sensibilidade. A função personalizada tem de ter a autorização resourcemanager.tagValues.get e autorizações específicas de recursos para gerir associações de etiquetas. Precisa das autorizações createTagBinding, deleteTagBinding e listEffectiveTags específicas do recurso. Por exemplo, para tabelas do BigQuery, precisa do seguinte:

    • resourcemanager.tagValues.get
    • bigquery.tables.createTagBinding
    • bigquery.tables.deleteTagBinding
    • bigquery.tables.listEffectiveTags

    Para obter informações sobre como conceder uma função ao nível da etiqueta, consulte o artigo Gerir o acesso a etiquetas na documentação do Resource Manager.

O que se segue?

  • Crie ou edite uma configuração de análise.