Жесткое хранилище ключей azure secret.name по запросу o печать

#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. пожалуйста, прочитайте вопрос еще раз. Моя задача состоит в том, как убедиться, что любые попытки печати выводят непонятный текст.