Enable token encryption on macOS #27176
Labels
Account
az login/account
Auto-Assign
Auto assign by bot
Auto-Resolve
Auto resolve by bot
Azure CLI Team
The command of the issue is owned by Azure CLI team
customer-reported
Issues that are reported by GitHub users external to the Azure organization.
Feature Candidate
feature-request
Milestone
Describe the bug
By default, on macOS,
azure login
places its OAuth tokens in.azure/msal_token_cache.json
.The only documentation for how to protect the tokens using Keychain appears to be in the code here:
azure-cli/src/azure-cli-core/azure/cli/core/util.py
Lines 1353 to 1361 in 3ae3c61
The comment here is misleading, as it says
EXPERIMENTAL: Use core.encrypt_token_cache=False to turn off token cache encryption.
as if the default value is True, but it's actually False.At least,
encrypt_token_cache
does not appear in the list of "core" configuration values here:https://learn.microsoft.com/en-us/cli/azure/azure-cli-configuration#cli-configuration-values-and-environment-variables
MSAL for Python also gives a somewhat misleading summary of its security properties, as it says:
https://github.com/AzureAD/microsoft-authentication-extensions-for-python#microsoft-authentication-extensions-for-python
Which is not true in the configuration that the azure CLI actually uses it.
Finally, once
encrypt_token_cache
is set to true, the keychain service name and account name are set to"my_service_name"
and"my_account_name"
here:azure-cli/src/azure-cli-core/azure/cli/core/auth/persistence.py
Line 44 in 3ae3c61
I verified that this is actually how it's stored in Keychain Access:
Related command
az login
Errors
No errors.
Issue script & Debug output
No relevant debug output.
Expected behavior
In general the credential storage situation just ought to be tightened up:
encrypt_token_cache
ought to be documentedThere's also the
msal_http_cache.bin
file which contains cookies and stuff, which maybe should also be encrypted somewhere; i don't know the privilege level of these cookies but it seems relevant to look at them.Environment Summary
Additional context
I am filing this as a regular bug and not as a security issue because I don't see an exploit here per se, and the tools don't directly claim any security properties that are subverted by this misconfiguration.
The text was updated successfully, but these errors were encountered: