微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

要求时打印苛刻的天蓝色密钥库secret.name

如何解决要求时打印苛刻的天蓝色密钥库secret.name

我检查了所有相关问题,但没有找到合适的答案。

我成功设置了一个密钥库密钥,并且可以使用以下代码使用python毫无问题地访问并将其解析到我的ArcGIS在线服务中;

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时,会显示密钥。我不希望出于安全原因而发生这种情况。是否有地方确保可以将其传递到服务中,但是在打印时,密钥以特殊字符“ *****”或“ ####”的形式出现?

解决方法

似乎您不能仅为secret.value更改打印方法。因此,禁用print方法会更好。

您可以使用blockPrint()来禁用print

def blockPrint():
    sys.stdout = open(os.devnull,'w')

enter image description here

,

这是一个代码示例,用于打印出您的秘密值。

## CALL TO KEY VAULT TO GET SECRET
secret = client.get_secret("test").value

## OUTPUT SECRET VALUE TO CONSOLE
print(secret)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。