首页 > 解决方案 > 是否有 Azure 服务连接的预设查询以使用 azure-devops-api 检索证书信息?

问题描述

我正在开发前端应用程序功能,以从所有密钥保管库证书中获取详细信息以及它们何时到期。该应用使用服务连接进行身份验证,并使用 azure-devops-sdk 和 azure-devops-api 为 api 调用拉回数据。我目前正在获取有关密钥保管库中内容的数据,但它只列出了证书的权限 - https://docs.microsoft.com/en-us/rest/api/keyvault/getcertificate/getcertificates。我尝试在 api 调用结束时附加 /certificates ,但它不是有效的端点。

我知道返回此数据的 azure rest api - https://docs.microsoft.com/en-us/rest/api/keyvault/vaults/get但我不确定如何通过服务连接来实现这一点。

有人对我如何通过服务连接获取这些数据有任何想法吗?

export async function getCertInfoFromAzure(endpoint) {
    requestInitialData = await getRequestInitialData();
    const {project, settings, client} = requestInitialData;
    const subscriptionId = endpoint.data.subscriptionId;
    const apiVersion = providerMap['Microsoft.KeyVault'.toLowerCase()];
    const resourceId = '/subscriptions/<subscription name> /resourceGroups/<resource group name>/providers/Microsoft.KeyVault/vaults/<key vault name>/';
    const seRequest: ServiceEndpointRequest = createRequestObject(
        `{{{endpoint.url}}}${resourceId}?api-version=${`2019-09-01`}`,
        'jsonpath:$');
    const response = await client.executeServiceEndpointRequest(seRequest, project.id, endpoint.id);
    console.log('response', response);
    console.log(JSON.parse(response.result));
    console.log('seRequest', seRequest)
    return {
        response: JSON.parse(response.result[0]),
    };
}

标签: azureazure-devopsazure-keyvaultazure-rest-api

解决方案


推荐阅读