如何通过Python代码获取Azure App Service证书详细信息?
摘要:问题描述 分享使用Python 代码列举出全部 Azure App Service 的证书信息。 最关键的信息是证书的过期时间,如果即将过期,可以及时发现并更新证书,避免因证书而导致站点不可访问。 代码示例: from azure.iden
问题描述
分享使用Python 代码列举出全部 Azure App Service 的证书信息。
最关键的信息是证书的过期时间,如果即将过期,可以及时发现并更新证书,避免因证书而导致站点不可访问。
代码示例:
from azure.identity import ClientSecretCredential
from azure.identity import AzureAuthorityHosts
from azure.mgmt.web import WebSiteManagementClient
# import logging
# logging.basicConfig(level=logging.DEBUG)
# logging.getLogger("azure.core.pipeline.policies.http_logging_policy").setLevel(logging.DEBUG)
client_id=" "
client_secret=" "
tenant_id=""
# sdk ClientSecretCredential 方式认证
credentials = ClientSecretCredential(
client_id=client_id,
client_secret=client_secret,
tenant_id=tenant_id,
authority=AzureAuthorityHosts.AZURE_CHINA
)
webapp_client = WebSiteManagementClient(credentials,subscription_id=" ",base_url="https://management.chinacloudapi.cn", credential_scopes=["https://management.chinacloudapi.cn/.default"])
certificates = webapp_client.certificates.list_by_resource_group(resource_group_name="<your resource group name>")
print("Certificates in resource group :")
for i in certificates:
# print(i.as_dict())
print( i.thumbprint, i.expiration_date,i.name)
执行的结果
代码解答
这段脚本使用 Azure SDK for Python(azure-identity 与 azure-mgmt-web)在 Azure 中国(21V) 环境下,通过客户端机密方式获取管理访问令牌,然后调用 WebSiteManagementClient 列出某个资源组中的 App Service 证书(certificates.list_by_resource_group),并打印每个证书的 指纹(thumbprint)、到期时间(expiration_date) 和 资源名称(name)。
代码采用了中国区Azure 管理终结点与 Authority Host,这是在中国云环境下正确的做法。
