Aller au contenu principal

Jetons de refresh à usage unique

Cette page explique les jetons de refresh à usage unique pour les applications OAuth intégrées à Databricks et décrit comment les configurer à l'aide de l'API Databricks. Les jetons de refresh à usage unique renforcent la sécurité en exigeant une rotation des jetons après chaque utilisation.

Que sont les jetons de refresh à usage unique ?

Les intégrations d’applications personnalisées et publiées utilisent des jetons refresh à usage unique (également appelés rotation des jetons refresh) dans le flux d’authentification user-to-machine (U2M). Ils améliorent la sécurité d'OAuth en permettant à chaque jeton refresh d'être utilisé une seule fois. Lorsqu’une application cliente utilise un jeton refresh pour obtenir de nouveaux identifiants d’accès, Databricks émet un nouveau jeton refresh et invalide l’ancien.

Les jetons d'actualisation à usage unique sont activés par default pour :

Pour la plupart des autres applications publiées et intégrations OAuth personnalisées, utilisez l'API Databricks pour activer cette fonctionnalité.

La plupart des applications clientes OAuth modernes gèrent automatiquement les jetons de refresh à usage unique sans aucun changement de comportement pour les utilisateurs finaux. Toutes les applications clientes ne prennent pas en charge cette fonctionnalité. Si une application cliente ne fonctionne pas correctement avec les jetons de refresh à usage unique activés, vous pouvez désactiver la fonctionnalité pour revenir aux jetons de refresh à usages multiples.

Configurez des jetons de refresh à usage unique.

Vous pouvez configurer des jetons de refresh à usage unique via l'API Databricks ou la CLI Databricks. Pour plus d'informations sur l'API, consultez la documentation de l'API Databricks. Pour plus d'informations sur la CLI Databricks, consultez la CLI Databricks.

Pour activer les jetons d'actualisation à usage unique et définir la durée de vie (TTL) de la session OAuth, spécifiez les champs enable_single_use_refresh_tokens et absolute_session_lifetime_in_minutes sous token_access_policy.

JSON
{
"confidential": true,
"name": "Example Tableau Server",
"redirect_urls": ["https://example.online.tableau.com/auth/add_oauth_token"],
"scopes": ["all-apis", "offline_access"],
"token_access_policy": {
"access_token_ttl_in_minutes": 60,
"refresh_token_ttl_in_minutes": 1440,
"enable_single_use_refresh_tokens": true,
"absolute_session_lifetime_in_minutes": 43200
}
}