#azure #gis #arcgis #azure-keyvault #password-encryption
#azure #гис #arcgis #azure-keyvault #пароль-шифрование
Вопрос:
Я проверил все связанные вопросы, но не нашел подходящего ответа.
У меня успешно установлен секрет keyvault, и я могу получить доступ к нему и проанализировать его в моем онлайн-сервисе ArcGIS с помощью python без каких-либо проблем, используя следующий код;
from arcgis.gis import GIS
from azure.identity import DefaultAzureCredential
from azure.keyvault.secrets import SecretClient
credential = DefaultAzureCredential()
secret_client = SecretClient(vault_url="vaulturl", credential=credential)
secret = secret_client.get_secret("papa-mama-Secret")
gis = GIS("urlGIS", "AGOLaccountname", secret.value)
Проблема в том, что при печати secret.value
отображается секретный ключ. Я не хочу, чтобы это происходило по соображениям безопасности. Есть ли способ убедиться, что его можно передать в службу, но при печати ключ отображается в виде специальных символов, например ***** или ####?
Ответ №1:
Похоже, вы не смогли изменить метод печати только для secret.value
. Итак, лучше отключить этот print
метод.
Вы могли бы использовать blockPrint()
для отключения print
.
def blockPrint():
sys.stdout = open(os.devnull, 'w')
Комментарии:
1. Это интересное предложение, и я благодарю вас за него, потому что у меня его не было в запасе. Однако я надеялся, что в Azure есть встроенные механизмы, которые шифруют ключ при печати, но расшифровывают его при разборе во встроенный код.
Ответ №2:
Вот пример кода для распечатки значения вашего секрета.
## CALL TO KEY VAULT TO GET SECRET
secret = client.get_secret("test").value
## OUTPUT SECRET VALUE TO CONSOLE
print(secret)
Комментарии:
1. пожалуйста, прочитайте вопрос еще раз. Моя задача состоит в том, как убедиться, что любые попытки печати выводят непонятный текст.