当前位置: 首页 > news >正文

【Azure App Service】分享Python代码获取App Service Certificates (证书信息)

问题描述

分享使用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)

执行的结果

image

 

代码解答

这段脚本使用 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,这是在中国云环境下正确的做法。

 

逐行解答

# import logging
# logging.basicConfig(level=logging.DEBUG)
# logging.getLogger("azure.core.pipeline.policies.http_logging_policy").setLevel(logging.DEBUG) 

这是Python代码的日志配置,如果打开,可观察 SDK 发送的 HTTP 请求/响应流水,非常便于排查权限或终结点问题

开启日志后的输出效果图:

image

 

credentials = ClientSecretCredential(client_id=client_id,client_secret=client_secret,tenant_id=tenant_id,authority=AzureAuthorityHosts.AZURE_CHINA
)

通过 ClientSecretCredential 获取令牌,authority=AzureAuthorityHosts.AZURE_CHINA 指定中国区Azure的 AAD 发行者(login.partner.microsoftonline.cn)。没有这个设置,中国区Azure环境下会因 authority 不匹配导致无法获取令牌

 

webapp_client = WebSiteManagementClient(
  credentials,
  subscription_id="your subscription id",
  base_url="https://management.chinacloudapi.cn",
  credential_scopes=["https://management.chinacloudapi.cn/.default"]
)

初始化App Service 管理对象 webapp_client。关键点:

  • subscription_id:目标订阅。
  • base_url:Mooncake 的 **资源管理器(ARM)**终结点(非全球 management.azure.com)。
  • credential_scopes:令牌的 资源范围,在中国云应请求 https://management.chinacloudapi.cn/.default。这与公共云的 https://management.azure.com/.default 不同。

 

certificates = webapp_client.certificates.list_by_resource_group(resource_group_name="<your resource group>")

调用证书管理 API,列出资源组 (需要用真实的值替换 <your resource group>)下的所有 App Service Certificates(包括上传到 App Service 的私有证书)。

 

 

参考资料

[无]

 

http://www.rkmt.cn/news/122771.html

相关文章:

  • 文生中英双语的AI视频工具怎么选?一个英语老师的实测结论
  • MinIO再见!RustFS性能飙升5倍,我们团队全面迁移的实战全记录
  • 高精度时钟测试仪覆盖多行业的时间同步测试利器 gps时钟测试仪
  • Python构建AI Agent自主智能体系统
  • 2025.12.18
  • Springboot+Easyexcel将数据写入模板文件并导出Excel
  • 30年源头厂家!郑州新广发河南防火卷帘门,8条生产线月产8000扇直供 - 朴素的承诺
  • 郑州新广发30年专注河南抗风卷帘门!源头厂家8条生产线,月产8000扇接单无忧 - 朴素的承诺
  • 接着唠:三级缓存为啥是“刚需”?没有它Spring工厂得“停工”!
  • 超级Mini小车功能说明
  • 河南快速门优选郑州新广发!30年产地直供,8条生产线月产8000扇 - 朴素的承诺
  • 测试Mini小车的情况
  • 河南堆积门首选郑州新广发!30年源头厂家,8条生产线月产8000扇,接单无忧 - 朴素的承诺
  • 深入解析:Web安全攻防深度解析:从理论到实践的全方位防御指南
  • 我用 AI 写周报,老板居然夸我“思考更深了”
  • 2025年口碑好的河南铝合金卷帘门厂家最新权威实力榜 (2) - 朴素的承诺
  • CF1481E
  • 2025年口碑好的河南铝合金卷帘门厂家最新权威实力榜 (1) - 朴素的承诺
  • Kotaemon与Redis/Memcached集成:构建高速缓存层
  • 测试博文标题 at 12/18/2025 7:24:53 PM
  • 2025CMEF聚焦胰岛素泵厂家创新成果:阿瑞医疗如意泵引领智能控糖新生态 - 品致汇
  • Python实现Transformer神经网络时间序列模型可视化分析商超蔬菜销售数据筛选高销量单品预测|附代码数据
  • SchoolDash Alpha冲刺随笔3 - Day 5
  • zz测试18种RAG技术找到最优方案
  • 圆周运动模型
  • 详细介绍:Gemini 3 Pro深度解析:谷歌的“All in”时刻,AI霸权争夺战迎来终局?
  • 如何在国产化动环系统中实现智能调控与节能?
  • 专题:2025年脑机接口产业蓝皮书:市场规模、专利技术、投融资与临床应用|附40+份报告PDF、数据、可视化模板汇总下载
  • 基于单片机的医院病房无线呼叫系统
  • 极简边缘AI:谷歌发布 Coral NPU IP