Como gerenciar o login do SO em uma organização

Se você usa o login do SO para gerenciar o acesso às instâncias, é possível definir as configurações no nível de organização para sua conta do Cloud Identity. Por exemplo, controle quem pode usar diretamente a API OS Login, ative o login do SO em todas as instâncias de VM de uma organização, conceda acesso a usuários externos etc.

Neste tópico, abordamos as seguintes tarefas:

Antes de começar

Como ativar o login do SO usando uma política da organização

Configure uma restrição de login do SO na organização para garantir que todos os novos projetos e as instâncias de VM criadas neles tenham esse recurso ativado.

Quando essa restrição é configurada, as seguintes condições são aplicadas:

  • enable-oslogin é definido como true nos metadados do projeto para todos os novos projetos.
  • As solicitações de atualização para definir enable-oslogin como false nos metadados da instância ou do projeto são rejeitadas.

Limitações

  • Essa restrição não é aplicável retroativamente. O login do SO não é ativado automaticamente em instâncias e projetos criados antes da aplicação da restrição.
  • As instâncias em execução no Google Kubernetes Engine não permitem login do SO. A ativação da restrição de login do SO em um projeto com instâncias do Google Kubernetes Engine pode fazer com que elas não funcionem corretamente.

Para ativar a política de login do SO, é possível definir a restrição desse recurso em projetos e pastas específicos usando a ferramenta de linha de comando gcloud. É possível também definir essa restrição em toda a organização usando o Console do Google Cloud Platform ou a ferramenta de linha de comando gcloud.

Console

Para definir a política da organização de login do SO no console, conclua as seguintes etapas:

  1. Acesse a página Políticas da organização.

    Acessar a página "Políticas da organização"

  2. Na lista de políticas, clique em Requer login do SO para ver as restrições de login do SO.
  3. Clique em Editar para editar suas restrições de login do SO atuais.
  4. Na página Editar, selecione Personalizar.
  5. Para ativar a aplicação dessa restrição, selecione Ativado.
  6. Clique em Salvar para aplicar as configurações da restrição.

gcloud

Para definir a política da organização de login do SO, use o comando gcloud beta resource-manager org-policies enable-enforce (em inglês).

  1. Encontre o ID da sua organização

    gcloud organizations list
    
  2. Defina a restrição na sua organização.

    gcloud beta resource-manager org-policies enable-enforce \
    compute.requireOsLogin --organization=[ORGANIZATION_ID]
    

    em que [ORGANIZATION_ID] é o ID da organização.

É possível também aplicar a política da organização de login do SO a uma pasta ou um projeto com as sinalizações --folder ou --project e o ID da pasta e do projeto, respectivamente.

Para pastas, execute o seguinte comando:

gcloud beta resource-manager org-policies enable-enforce \
compute.requireOsLogin --folder=[FOLDER_ID]

Para projetos, execute o seguinte comando:

gcloud beta resource-manager org-policies enable-enforce \
compute.requireOsLogin --project=[PROJECT_ID]

em que:

Como conceder acesso à instância para usuários de fora da organização

Por padrão, os usuários de fora da organização não podem definir chaves SSH para instâncias da organização nem receber acesso a elas. Em algumas situações, talvez seja necessário conceder acesso a instâncias para usuários que façam parte de uma organização diferente ou que tenham uma conta gmail.com do Google de uso doméstico.

O papel do IAM roles/compute.osLoginExternalUser permite que contas do Google externas interajam com os outros papéis de login do SO para que configurem informações da conta POSIX.

Para conceder roles/compute.osLoginExternalUser e outros papéis com acesso a instâncias de login do SO necessárias para usuários de fora da sua organização, conclua as seguintes etapas:

  1. Acesse a página de seleção do projeto e da organização.

    Acessar a página de seleção do projeto e da organização

  2. No menu suspenso Organização, selecione sua organização.
    1. Clique em Tudo para ver todas as organizações.
    2. Clique no nome da organização.
  3. Clique em Adicionar para conceder um novo papel a um usuário.
  4. Especifique o nome de usuário para quem você quer configurar o acesso à instância.
  5. Clique em Selecionar um papel para especificar os papéis que você quer conceder aos usuários.
  6. Na lista de papéis do Compute Engine, selecione Usuário externo do login do SO do Compute.
  7. Clique em Adicionar para confirmar a concessão do papel selecionado ao usuário.
  8. Conceda os outros papéis de acesso à instância do login do SO ao usuário no nível do projeto ou da organização, se ainda não tiver feito isso.

Agora o usuário pode se conectar a instâncias do projeto que tenham o login do SO ativado.

Como controlar o acesso à API OS Login

Os membros da sua organização podem usar a API OS Login para modificar as contas deles. No nível da organização, é possível restringir o acesso à API OS Login ao configurar os controles de administrador do G Suite. Para fazer isso ou visualizar as opções de configuração, consulte Controlar quem usa o Google Cloud Platform na sua organização.

Como fazer auditoria de eventos de login do SO

Como administrador do G Suite, use o SDK Admin do G Suite para fazer auditoria das ações realizadas com a API OS Login. Ao analisar esses eventos, é possível rastrear quando um usuário adiciona, exclui ou atualiza uma chave SSH ou exclui informações da conta POSIX.

Para recuperar eventos de atividades de auditoria da API OS Login usando o SDK Admin do G Suite, chame Activities.list() com applicationName=gcp. Para mais informações, consulte a seção de eventos de atividades de login do SO do Cloud (em inglês) na documentação de relatórios do SDK Admin do G Suite.

Como modificar contas de usuário usando a API Directory

O login do SO aplica as configurações de usuário do Cloud Identity ou do G Suite para se conectar a uma instância. Se você é administrador de uma organização, use a API Directory para concluir as seguintes tarefas nas contas de usuário do G Suite ou do Cloud Identity:

  • Modificar as configurações de login da instância.
  • Tornar o usuário um administrador.
  • Modificar as propriedades do usuário, como nome da conta e e-mail.
  • Adicionar e remover chaves SSH de um usuário.
  • Modificar informações da conta POSIX.
  • Alterar o nome de usuário com que ele se conecta à instância.

Para mais informações sobre as propriedades da conta que podem ser editadas, consulte a referência da API Directory (em inglês).

Por exemplo, crie uma solicitação PUT para o método directory.users.update e especifique uma ou mais propriedades a serem alteradas na conta de usuário:

PUT https://www.googleapis.com/admin/directory/v1/users/[USER_ID_KEY]

{
 "posixAccounts": [
   {
    "username": "[USER_NAME]",
    "uid": "[UID]",
    "gid": "[GID]",
    "homeDirectory": "[USER_HOME_PATH]",
    "shell": "[SHELL_PATH]"
   }
  ],
}

Em que:

  • [USER_ID_KEY] é um ID imutável para o usuário;
  • [USER_NAME] é o nome de usuário que o Compute Engine adiciona à instância para o usuário. Esse valor precisa ser exclusivo na sua organização;
  • [UID] é o ID do usuário na instância dele. Essa propriedade precisa ser um valor entre 1001 e 60000 ou entre 65535 e 2147483647. Para acessar um Container-Optimized OS, o UID precisa ter um valor entre 65536 e 214748646. O UID precisa ser exclusivo na sua organização;
  • [GID] é o ID do grupo na instância a que este usuário pertence;
  • [USER_HOME_PATH] é o diretório principal na instância para este usuário. Por exemplo, /home/example_username;
  • [SHELL_PATH] é o caminho para o shell padrão do usuário depois que ele se conecta à instância. Por exemplo, /bin/bash ou /bin/sh.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine