如何通过API删除Azure AD中为Snowflake创建的签名证书
删除Azure AD应用的SAML签名证书(Microsoft Graph API)
必备条件
- 权限要求:需要
Application.ReadWrite.All或Application.ReadWrite.OwnedBy权限,Delegated或Application权限均可,根据你的认证方式选择 - 准备信息:目标应用的
applicationId(即客户端ID)、要删除证书的keyId
第一步:获取证书的keyId
如果不清楚目标证书的keyId,先调用API列出应用的所有密钥凭证:
GET https://graph.microsoft.com/v1.0/applications/{applicationId}/keyCredentials
在返回结果中找到usage字段为Sign的条目(这就是SAML签名证书),记下对应的keyId值
第二步:执行删除操作
使用DELETE请求删除指定证书:
DELETE https://graph.microsoft.com/v1.0/applications/{applicationId}/keyCredentials/{keyId}
注意事项
- 区分证书类型:
keyCredentials中usage为Sign的是签名证书,usage为Verify的是加密证书,避免误删 - PowerShell调用示例(假设已获取access token):
$headers = @{ "Authorization" = "Bearer $accessToken" "Content-Type" = "application/json" } Invoke-RestMethod -Method Delete -Uri "https://graph.microsoft.com/v1.0/applications/{applicationId}/keyCredentials/{keyId}" -Headers $headers
- 删除后若存在其他可用签名证书,应用会自动切换;若无剩余证书,需重新创建才能继续使用SAML SSO
内容的提问来源于stack exchange,提问作者Ravindra
相关产品推荐
相关产品推荐

