Configure os controlos de sessão para a reautenticação

Os controlos de sessão permitem-lhe configurar a frequência com que os utilizadores têm de fazer novamente a autenticação depois de lhes ser concedido acesso e se é necessário um início de sessão completo, apenas com palavra-passe ou com uma chave de segurança de hardware.

Pode aplicar controlos de sessão para fazer o seguinte:

  • Aplique a reautenticação frequente para utilizadores privilegiados Exija que os utilizadores com privilégios elevados, como proprietários de projetos e administradores de faturação, voltem a fazer a autenticação com maior frequência.
  • Configurar sessões mais longas para determinadas aplicações Permitir que determinadas aplicações, como as aplicações de IA baseadas no contexto, como o Gemini, tenham durações de sessão mais longas para preservar a grande capacidade de resposta necessária para um desempenho ideal.

Defina a duração da sessão e os métodos de reautenticação

Pode definir controlos de sessão quando cria uma associação do Access Context Manager. Para ver detalhes sobre os controlos de sessão, consulte o artigo Aplique políticas a grupos de utilizadores através de associações de acesso.

gcloud

  • Defina controlos de sessão predefinidos para todas as aplicações

    Use a flag --session-length para definir a duração da sessão e a flag --session-reauth-method para especificar o método de reautenticação. Por exemplo, pode definir um tempo de duração da sessão de 30 minutos (30 m) e um método de reautenticação de LOGIN, PASSWORD ou SECURITY_KEY.

    Isto é aplicado a todas as aplicações, a menos que seja substituído por definições específicas da aplicação.

  • Defina controlos de sessão específicos da aplicação

    Defina scopedAccessSettings num ficheiro YAML para especificar controlos de sessão para aplicações específicas através de clientId. Isto permite-lhe substituir os controlos de sessão predefinidos para essas aplicações. Em seguida, pode transmitir o ficheiro YAML através do comando --binding-file flag.

API

Defina os campos sessionLength e sessionReauthMethod no elemento sessionSettings object no corpo JSON do seu pedido POST para criar ou atualizar uma associação GcpUserAccessBinding. Use scopedAccessSettings para definir controlos de sessão específicos da aplicação. Consulte o artigo Defina configurações para aplicações específicas para ver detalhes.

Principais considerações ao definir controlos de sessão:

  • Não pode especificar a Google Cloud consola através de clientId. Para aplicar controlos de sessão à consola Google Cloud , defina-a como predefinição e, em seguida, crie exceções para outras aplicações.
  • Apenas a associação de acesso criada mais recentemente que corresponda ao pedido é usada quando resolve as definições de controlo de sessão.

Exemplo de configuração de políticas

Segue-se um exemplo que demonstra como criar um controlo de sessão que requer reautenticação a cada 18 horas por predefinição com LOGIN e a cada duas horas para uma aplicação específica (SENSITIVE_APP_ID) com SECURITY_KEY.

Predefinições

As flags --level, --session-length e --session-reauth-method no comando da CLI do Google Cloud (ou os campos correspondentes no corpo JSON para a chamada API) definem o comportamento predefinido para todas as aplicações não definidas explicitamente em scopedAccessSettings.

Definições específicas da aplicação

A secção scopedAccessSettings no ficheiro YAML (ou no corpo JSON) permite-lhe substituir as definições predefinidas de aplicações específicas. No exemplo, definimos um requisito de reautenticação de duas horas com SECURITY_KEY para a aplicação com o ID de cliente SENSITIVE_APP_ID.

Para isentar determinadas apps do controlo da sessão, defina o campo sessionLength como 0s ou sessionLengthEnabled para false. O método sessionReauthMethod é ignorado.

gcloud

A configuração das definições:

scopedAccessSettings:
  scope:
    clientScope:
      restrictedClientApplication:
        clientId: SENSITIVE_APP_ID
  activeSettings:
    sessionSettings:
      sessionLength: 7200s
      sessionReauthMethod: SECURITY_KEY
      sessionLengthEnabled: true

Crie a associação de acesso:

gcloud access-context-manager cloud-bindings create \
    --organization ORG_ID \
    --group-key GROUP_ID \
    --binding-file BINDING_FILE_PATH \
    --level DEFAULT_ACCESS_LEVEL
    --session-length 18h \
    --session-reauth-method LOGIN

API

Corpo JSON:

{
  "groupKey": "GROUP_ID",
  "accessLevels": [
    "accessPolicies/POLICY_ID/accessLevels/DEFAULT_ACCESS_LEVEL"
  ],
  "scopedAccessSettings": [
    {
      "scope": {
        "clientScope": {
          "restrictedClientApplication": {
            "clientId": "SENSITIVE_APP_ID"
          }
        }
      },
      "activeSettings": {
        "accessLevels": [
          "accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME"
        ],
        "sessionSettings": [
          {
            "sessionLength": "2h",
            "sessionReauthMethod": "SECURITY_KEY",
            "sessionLengthEnabled": true
          }
        ]
      }
    }
  ]

Pedido de publicação:

POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings