Controlar o acesso e organizar instâncias com tags

Nesta página, descrevemos como usar as tags do Google Cloud para gerenciar o acesso aos seus instâncias do Spanner.

A tag do Google Cloud um par de chave-valor que pode ser anexado aos recursos do Google Cloud, como projetos ou instâncias do Spanner. É possível usar tags para agrupar e organizar as instâncias e configurar condicionalmente políticas de acesso do Identity and Access Management (IAM) com base se uma instância tem uma tag específica. É possível criar e gerenciar Tags da instância do Spanner usando a Google Cloud CLI ou console do Google Cloud. Depois de criar suas tags, você pode criar uma vinculação de tags para anexar a tag aos recursos do Google Cloud. As vinculações de tags são herdadas filhos do recurso de acordo com a hierarquia de recursos do Google Cloud. Por exemplo, se você anexar uma tag ao seu projeto, todas as instâncias dele herdam a tag. Você também pode usar marcadores. para organizar os recursos do Google Cloud, mas não os rótulos para definir e as condições do IAM nas políticas do IAM.

Para saber mais sobre tags, consulte Visão geral de tags.

Casos de uso comuns das tags de instância do Spanner

Alguns casos de uso comuns para tags incluem:

  • Tags do Identity and Access Management (IAM):conceder o Identity and Access Management (IAM) com base no fato de uma instância ter ou não uma tag específica. O a presença ou ausência de um valor de tag é a condição para essa política do IAM, e ajuda a controlar o acesso à instância do Spanner.
  • Tags de estado:indicam e gerenciam o estado de uma instância criando tags. Por exemplo, state:active, state:todelete e state:archive.
  • Tags de ambiente:especificar ambientes de produção, teste e desenvolvimento. para instâncias criando pares de chave-valor, como env:prod, env:dev e env:test.

Como criar e gerenciar tags de instância do Spanner

As tags são estruturadas como pares de chave-valor. Você cria uma chave de tag recurso da organização e anexar valores de tag à chave de tag (por exemplo, uma chave de tag environment com os valores prod e dev). Em seguida, você pode criar uma tag vinculação que vincula o valor da tag a um recurso do Google Cloud, como um projeto ou do Spanner. Não é possível atribuir uma tag a um no seu banco de dados.

Permissões necessárias

As permissões necessárias dependem da ação que você precisa realizar. Para mais informações, consulte as Permissões necessárias no Resource Manager na documentação do Google Cloud.

Criar chaves e valores de tags

Antes de anexar uma tag à instância, é preciso criar a tag e e atribuir o valor dele. Para criar chaves e valores de tag, consulte Como criar uma tag. e Como adicionar um valor de tag.

Anexar uma tag a uma instância

Depois de criar seus pares de chave-valor de tag, você pode criar uma vinculação de tag e anexá-lo à sua instância do Spanner.

Console

  1. No console do Google Cloud, acesse as Instâncias do Spanner página.

    Acessar "Instâncias do Spanner"

  2. Selecione a instância à qual você quer anexar uma tag.

  3. Clique em Tags.

  4. Se a organização não aparecer no painel Tags, clique em Selecionar escopo. Selecione sua organização e clique em Abrir.

  5. No painel "Tags", selecione Adicionar tag.

  6. No campo Chave, selecione a chave da tag que você quer anexar da lista. É possível filtrar a lista digitando palavras-chave.

  7. No campo Valor, selecione o valor da tag que você quer anexar. da lista. É possível filtrar a lista digitando palavras-chave.

  8. Para anexar mais tags, clique em Adicionar tag e selecionar a chave e o valor de cada uma.

  9. Clique em Salvar.

  10. Na caixa de diálogo Confirmar, clique em Confirmar para anexar a tag.

    Uma notificação confirma que suas tags foram atualizadas.

gcloud

Para criar uma vinculação de tag e anexá-la à instância, execute o seguinte: comando:

gcloud resource-manager tags bindings create
--parent=//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID
--tag-value=ORG_ID/KEY_NAME/VALUE_NAME
--location=LOCATION
  • PROJECT_ID: o ID do projeto
  • INSTANCE_ID: o ID da instância.
  • ORG_ID: o ID da organização.
  • KEY_NAME: o nome de exibição (curto) da sua tag de dados. Por exemplo, env.
  • VALUE_NAME: o nome de exibição (curto) da sua tag . Por exemplo, prod.
  • LOCATION: o local da instância. Por exemplo, us-east1.

Por exemplo, para criar uma vinculação de tag na instância do Spanner my-instance com o par de chave-valor da tag env:prod, execute o seguinte: comando:

gcloud resource-manager tags bindings create
--parent=//spanner.googleapis.com/projects/my-project/instances/my-instance
--tag-value=123456789012/env/prod
--location=us-east1

Condições e tags do IAM

É possível usar tags e condições do IAM para conceder vinculações de papéis condicionalmente a usuários. Se uma política do IAM com vinculações de papéis condicionais for aplicada, alterar ou excluir a tag anexada a um recurso pode remover o acesso do usuário a ele. recurso.

Para mais informações, consulte Visão geral das condições do IAM.

Console

Para usar tags para conceder vinculações de papéis condicionalmente aos usuários, consulte Como gerenciar o acesso a tags.

gcloud

Para aplicar uma condição baseada em tag a uma política do IAM, verifique se você tem a as permissões necessárias e execute o seguinte comando:

gcloud organizations add-iam-policy-binding ORG_ID
--role=roles/ROLE --member=PRINCIPAL
--condition=resource.matchTag('PROJECT_ID/KEY_NAME', 'VALUE_NAME')
  • ORG_ID: o ID da organização.
  • ROLE: o nome do papel a ser atribuído ao principal. O O nome do papel é o caminho completo de um papel predefinido, como roles/logging.viewer ou o ID de um papel personalizado, como organizations/{ORG_ID}/roles/logging.viewer.
  • PRINCIPAL: a principal a que você quer adicionar a vinculação de papel. Ele deve estar no formato user|group|serviceAccount:email ou domain:domain. Por exemplo: user:test-user@gmail.com, group:admins@example.com. serviceAccount:test123@example.domain.com ou domain:example.domain.com.
  • PROJECT_ID: o ID do projeto
  • KEY_NAME: o nome de exibição (curto) da sua tag de dados. Por exemplo, env.
  • VALUE_NAME: o nome de exibição (curto) da sua tag . Por exemplo, prod.

Esse comando adiciona uma vinculação de política do IAM à política do IAM de uma organização. Uma vinculação de política consiste em um membro, um papel e uma condição opcional.

Por exemplo, para conceder condicionalmente a user1@example.com o Papel spanner.backupAdmin em todos os recursos do projeto 123456789012 com o env:prod, execute o comando:

gcloud organizations add-iam-policy-binding my-project
--member=user1@example.com --role=roles/spanner.backupAdmin
--condition=resource.matchTag('123456789012/env', 'prod')

Listar tags anexadas a uma instância

Você pode ver uma lista de vinculações de tags diretamente anexadas ou herdadas pela instância.

gcloud

Para ver uma lista de vinculações de tags anexadas a um recurso, use o comando gcloud resource-manager tags bindings list: Se você adicionar o parâmetro --effective, você também verá todas as vinculações de tags herdadas por ele recurso.

Para listar todas as vinculações de tags anexadas a uma instância, execute o seguinte comando:

gcloud resource-manager tags bindings list
--parent=//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID
--location=LOCATION
--effective
  • PROJECT_ID: o ID do projeto
  • INSTANCE_ID: o ID da instância.
  • LOCATION: o local da instância. Por exemplo, us-east1.

Excluir uma vinculação de tags

Ao remover uma chave de tag ou uma definição de valor, verifique se a tag está separada da instância. É necessário excluir as vinculações de tag atuais antes de excluí-la.

Console

  1. No console do Google Cloud, acesse as Instâncias do Spanner página.

    Acessar "Instâncias do Spanner"

  2. Selecione a instância em que você quer excluir uma vinculação de tag.

  3. Clique em Tags.

  4. No painel "Tags", ao lado da tag que você quer remover, clique em Excluir item.

  5. Clique em Salvar.

  6. Na caixa de diálogo Confirmar, clique em Confirmar para remover a tag.

    Uma notificação confirma que suas tags foram atualizadas.

gcloud

Para excluir uma vinculação de tag, execute o seguinte comando:

gcloud resource-manager tags bindings delete
--parent=//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID
--tag-value=ORG_ID/KEY_NAME/KEY_VALUE
--location=LOCATION
  • PROJECT_ID: o ID do projeto
  • INSTANCE_ID: o ID da instância.
  • ORG_ID: o ID da organização.
  • KEY_NAME: o nome de exibição (curto) da sua tag de dados. Por exemplo, env.
  • VALUE_NAME: o nome de exibição (curto) da sua tag . Por exemplo, prod.
  • LOCATION: o local da instância. Por exemplo, us-east1.

Excluir uma tag

Depois de excluir a vinculação de tags, você pode excluí-la. Para excluir a tag chaves e valores de tag, consulte Como excluir tags.

A seguir