如何通过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,这是在中国云环境下正确的做法。
阅读全文