Les commandes de session vous permettent de configurer la fréquence à laquelle les utilisateurs doivent se réauthentifier après avoir été autorisés à accéder à l'application, et si une connexion complète, un mot de passe uniquement ou une clé de sécurité matérielle est requise.
Vous pouvez appliquer des contrôles de session pour effectuer les opérations suivantes:
- Exiger une réauthentification fréquente pour les utilisateurs disposant de droits élevés : exigez des utilisateurs disposant de droits élevés, tels que les propriétaires de projet et les administrateurs de compte de facturation, de se réauthentifier plus fréquemment.
- Configurer des sessions plus longues pour certaines applications Autorisez certaines applications, telles que les applications d'IA basées sur le contexte comme Gemini, à avoir des durées de session plus longues afin de préserver la grande fenêtre de contexte requise pour des performances optimales.
Définir la durée de la session et les méthodes de réauthentification
Vous pouvez définir des commandes de session lorsque vous créez une liaison Access Context Manager. Pour en savoir plus sur les commandes de session, consultez Appliquer des règles à des groupes d'utilisateurs à l'aide de liaisons d'accès.
gcloud
Définir les commandes de session par défaut pour toutes les applications
Utilisez l'option
--session-length
pour définir la durée de la session et l'option--session-reauth-method
pour spécifier la méthode de réauthentification. Par exemple, vous pouvez définir une durée de session de 30 minutes (30 mn) et une méthode de réauthentificationLOGIN
,PASSWORD
ouSECURITY_KEY
.Cette valeur s'applique à toutes les applications, sauf si elle est remplacée par des paramètres spécifiques à l'application.
Définir des contrôles de session spécifiques à l'application
Définissez
scopedAccessSettings
dans un fichier YAML pour spécifier les commandes de session pour des applications spécifiques à l'aide declientId
. Vous pouvez ainsi remplacer les contrôles de session par défaut pour ces applications. Vous pouvez ensuite transmettre le fichier YAML à l'aide de--binding-file flag
.
API
Définissez les champs sessionLength
et sessionReauthMethod
dans le sessionSettings object
dans le corps JSON de votre requête POST pour créer ou mettre à jour une liaison GcpUserAccessBinding
. Utilisez scopedAccessSettings
pour définir des commandes de session spécifiques à l'application.
Pour en savoir plus, consultez la section Définir des configurations pour des applications spécifiques.
Éléments clés à prendre en compte lors de la définition des commandes de session:
- Vous ne pouvez pas spécifier la console Google Cloud à l'aide de
clientId
. Pour appliquer des contrôles de session à la console Google Cloud , définissez-la par défaut, puis créez des exceptions pour les autres applications. - Seule la liaison d'accès créée la plus récemment qui correspond à la requête est utilisée lors de la résolution des paramètres de contrôle de session.
Exemple de configuration de règles
Vous trouverez ci-dessous un exemple illustrant comment créer un contrôle de session qui nécessite une réauthentification toutes les 18 heures par défaut avec LOGIN
et toutes les deux heures pour une application spécifique (SENSITIVE_APP_ID
) avec SECURITY_KEY
.
Paramètres par défaut
Les options --level
, --session-length
et --session-reauth-method
de la commande Google Cloud CLI (ou les champs correspondants dans le corps JSON de l'appel d'API) définissent le comportement par défaut pour toutes les applications qui ne sont pas définies explicitement dans scopedAccessSettings
.
Paramètres spécifiques à l'application
La section scopedAccessSettings
du fichier YAML (ou du corps JSON) vous permet de remplacer les paramètres par défaut pour des applications spécifiques. Dans l'exemple, nous avons défini une exigence de réauthentification de deux heures avec SECURITY_KEY
pour l'application avec l'ID client SENSITIVE_APP_ID
.
gcloud
Configuration des paramètres:
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
Créez la liaison d'accès:
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
Corps 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
}
]
}
}
]
Requête POST:
POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings