Como criar um nível de acesso básico

Nesta página, você verá, de maneira geral, como criar níveis de acesso básicos. Para criar níveis de acesso personalizados e usar o Modo avançado no console Google Cloud , consulte Como criar um nível de acesso personalizado.

Nesta página, há implementações mais específicas dos níveis de acesso. Veja os exemplos a seguir:

Antes de começar

Criar um nível de acesso básico

Console

Para criar um nível de acesso básico:

  1. Abra a página Access Context Manager no console Google Cloud .

    Abrir a página do Access Context Manager

  2. Se solicitado, selecione a organização.

  3. Na parte superior da página do Access Context Manager, clique em Novo.

  4. No painel Novo nível de acesso, faça o seguinte:

    1. Na caixa Título do nível de acesso, digite um título para o nível de acesso. O título precisa ter no máximo 50 caracteres, começar com uma letra e pode conter apenas números, letras, sublinhados e espaços.

    2. Na seção Condições, clique no botão Adicionar para o tipo de atributo que você quer adicionar e forneça os valores que serão aplicados a ele.

      Para uma lista completa dos atributos que podem ser adicionados, veja atributos de nível de acesso.

      Por exemplo, se quiser que o nível de acesso leve em consideração a origem de uma solicitação que vem de dentro da rede, selecione o atributo Sub-redes de IP.

      Repita esse passo para adicionar vários atributos à mesma condição. Quando uma condição tiver vários atributos, todos eles precisarão ser atendidos pela solicitação de acesso.

      Uma condição de nível de acesso pode incluir um atributo de cada tipo. Alguns atributos incluem outras opções, como o atributo da Política do dispositivo.

      Os níveis de acesso aceitam condições com base na identidade do usuário. No entanto, para adicionar identidades a uma condição, crie ou atualize o nível de acesso usando a CLI gcloud ou a API.

    3. Use a opção Quando a condição for atendida, retornar para especificar se a condição precisa exigir que uma solicitação atenda a todos os atributos especificados (VERDADEIRO) ou se a solicitação precisa atender a qualquer critério, menos a esses atributos (FALSO).

      Por exemplo, se quiser negar solicitações de um determinado intervalo de endereços IP da rede, especifique-o usando o atributo Sub-redes de IP e defina a condição como FALSO.

    4. Outra opção é Adicionar outra condição ao nível de acesso e repetir as duas etapas anteriores. Basta clicar nessa opção.

      Por exemplo, para negar acesso a um subconjunto de endereços IP dentro de um intervalo de endereços IP mais amplo, crie uma nova condição, especifique o intervalo do subconjunto de endereços IP para o atributo Sub-rede de IP e defina a condição para retornar FALSO.

      Repita esse passo para adicionar várias condições ao mesmo nível de acesso.

    5. Se você criou mais de uma condição, use Combinar condição com para especificar se o nível de acesso precisa exigir que uma solicitação atenda a pelo menos uma das condições (OR) ou a todas elas (AND).

    6. Clique em Salvar.

gcloud

Antes de começar

Para criar um nível de acesso usando a ferramenta de linha de comando gcloud, use o comando gcloud access-context-manager levels create.

gcloud access-context-manager levels create LEVEL_NAME OPTIONS \
    --policy=POLICY

Onde:

  • LEVEL_NAME é o nome exclusivo do nível de acesso. Ele precisa começar com uma letra e incluir apenas letras, números e sublinhados; O nome pode ter no máximo 50 caracteres.

  • OPTIONS são as opções necessárias da tabela a seguir.

    Opções
    basic-level-spec

    Um arquivo YAML que especifica uma ou mais condições para o nível de acesso.

    title

    Um título curto para o nível de acesso. O título do nível de acesso é exibido no console do Google Cloud .

    combine-function

    (Opcional) Determina como as condições são combinadas.

    Valores válidos: AND, OR

    description

    (Opcional) Uma descrição detalhada do nível de acesso.

  • POLICY é o ID da política de acesso da organização. Se você tiver uma política padrão definida, esse parâmetro será opcional.

Outra opção é incluir qualquer uma das sinalizações da gcloud.

Arquivo YAML basic-level-spec

Ao usar a ferramenta de linha de comando gcloud para criar um nível de acesso, você precisa fornecer um arquivo YAML para a opção basic-level-spec. O arquivo YAML define uma ou mais condições para o nível de acesso. As condições precisam conter pelo menos um atributo. Quando uma condição contém mais de um atributo, eles são combinados como uma operação AND (todos precisam ser verdadeiros) ou NAND (nenhum pode ser verdadeiro), dependendo se o atributo negate está incluído na condição.

Para uma lista completa dos atributos que podem ser incluídos no arquivo YAML, leia sobre atributos de nível de acesso.

Para mais informações sobre níveis de acesso e YAML, consulte o exemplo YAML para um nível de acesso.

Exemplo de comando

gcloud access-context-manager levels create Device_Trust \
    --basic-level-spec=corpdevspec.yaml \
    --combine-function=AND \
    --description='Access level that conforms to corporate spec.' \
    --title='Device_Trust Extended' \
    --policy=1521580097614100

API

Antes de começar

Para criar um nível de acesso, ligue para accessLevels.create.

POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY/accessLevels

Em que:

  • POLICY é o ID da política de acesso da organização.

Corpo da solicitação

O corpo da solicitação precisa incluir um recurso AccessLevel que especifique as condições que você quer para o novo nível de acesso. Cada Condition tem um ou mais atributos que são avaliados como uma operação AND (todos precisam ser verdadeiros) ou como uma operação NAND (nenhum pode ser verdadeiro), dependendo se o campo negate está definido como true. A avaliação resultante determina se a condição é atendida ou não.

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.

Exemplos de implementações

Os exemplos a seguir abordam algumas maneiras práticas que sua organização pode usar para implementar os níveis de acesso. Eles pressupõem que a organização já tenha uma política de acesso.

Limitar o acesso em uma rede corporativa

Neste exemplo, você verá como criar uma condição de nível de acesso que permita o acesso apenas de um intervalo especificado de endereços IP (por exemplo, aqueles dentro de uma rede corporativa).

Ao restringir o intervalo de endereços IP que recebem acesso, é possível dificultar a extração de dados para um invasor que esteja dentro ou fora da organização.

Neste exemplo, suponha que você queira criar um nível de acesso que permita que um grupo de auditores internos acesse o serviço de Cloud Logging para um projeto chamado dados confidenciais. Todos os dispositivos para eles recebem IPs em uma sub-rede que varia entre 203.0.113.0 e 203.0.113.127. Você sabe que não haverá dispositivos designados para essa sub-rede além daqueles usados pelos auditores.

Se você quiser usar um intervalo de endereços IP particulares (por exemplo, 192.168.0.0/16 ou 172.16.0.0/12), consulte Permitir o acesso a recursos protegidos de um endereço IP interno para mais informações e um exemplo de implementação usando o VPC Service Controls.

Console

  1. Abra a página Access Context Manager no console Google Cloud .

    Abrir a página do Access Context Manager

  2. Se solicitado, selecione a organização.

  3. Na parte superior da página do Access Context Manager, clique em Novo.

  4. No painel Novo nível de acesso, na seção Condições, clique em Adicionar atributo e, em seguida, clique em Sub-redes de IP.

  5. Na caixa Sub-redes de IPs, selecione IP público ou IP privado.

    • Se você selecionar IP público, insira um ou mais intervalos IPv4 ou IPv6 formatados como blocos CIDR.

      Neste exemplo, para limitar o acesso apenas aos auditores, insira 203.0.113.0/25 na caixa Sub-redes de IP.

    • Se você selecionar IP particular, clique em Selecionar redes VPC. É possível especificar redes VPC usando uma das três opções disponíveis na lista Opções de importação.

      • Opção 1:

        1. Selecione Procure redes VPC na sua organização e escolha as redes VPC.

        2. Clique em Adicionar redes VPC selecionadas.

        3. Clique em Selecionar sub-redes IP e escolha as sub-redes.

        4. Clique em Adicionar sub-redes IP.

      • Opção 2:

        1. Selecione Inserir manualmente o endereço da rede VPC e insira uma ou mais redes VPC.

        2. Clique em Adicionar rede VPC.

        3. Clique em Selecionar sub-redes IP e escolha as sub-redes.

        4. Clique em Adicionar sub-redes IP.

      • Opção 3:

        1. Selecione Fazer upload do arquivo CSV (substitui as redes atuais).

          Se você usar um arquivo CSV para adicionar redes VPC e sub-redes a um nível de acesso, o Access Context Manager vai substituir as redes VPC e sub-redes selecionadas anteriormente.

        2. Clique em Procurar e faça o upload do arquivo CSV. No arquivo CSV, especifique as redes VPC e as sub-redes no seguinte formato:

          VPC_NETWORK_NAME_1       | IP_RANGE_1       | IP_RANGE_2       | ...
          VPC_NETWORK_NAME_2       | .                | .                | ...
          .                        | .                | .                | ...
          .                        | .                | .                | ...
          
        3. Clique em Importar redes.

          Usando o arquivo CSV, o Access Context Manager preenche os nomes das redes VPC e as informações de sub-rede nas caixas Endereço da rede VPC e Sub-redes IP, respectivamente.

      Para informações sobre o nome da rede VPC e o formato do endereço IP privado, consulte Usar endereço IP interno em níveis de acesso.

  6. Clique em Salvar.

gcloud

  1. Crie um arquivo YAML para um nível de acesso que inclua um ou mais intervalos IPv4 ou IPv6 formatados como blocos CIDR.

    Neste exemplo, para limitar o acesso apenas aos auditores, insira o seguinte no arquivo YAML:

    - ipSubnetworks:
      - 203.0.113.0/25
    

    Se você quiser usar um endereço IP privado, insira as seguintes informações no arquivo YAML: