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 deLOGIN
,PASSWORD
ouSECURITY_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 declientId
. 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