命名空间:microsoft.graph
重要
Microsoft Graph /beta
版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
将其他证书颁发机构详细信息追加到 certificateBasedAuthPki 资源。 一次只能运行一个作,此作最多可能需要 30 分钟才能完成。 若要了解是否正在进行另一个上传,请调用 Get certificateBasedAuthPki。
状态属性将具有值 running
。
此 API 可用于以下国家级云部署。
全局服务 |
美国政府 L4 |
美国政府 L5 (DOD) |
由世纪互联运营的中国 |
✅ |
✅ |
✅ |
✅ |
权限
为此 API 选择标记为最低特权的权限。
只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
权限类型 |
最低特权权限 |
更高特权权限 |
委派(工作或学校帐户) |
PublicKeyInfrastructure.ReadWrite.All |
不可用。 |
委派(个人 Microsoft 帐户) |
不支持。 |
不支持。 |
应用程序 |
PublicKeyInfrastructure.ReadWrite.All |
不可用。 |
重要
在具有工作或学校帐户的委托方案中,如果已登录用户对其他用户进行作,则必须为他们分配受支持的Microsoft Entra角色或具有受支持角色权限的自定义角色。 此作支持以下最低特权角色。
HTTP 请求
POST /directory/publicKeyInfrastructure/certificateBasedAuthConfigurations/{certificateBasedAuthPkiId}/upload
名称 |
说明 |
Authorization |
持有者 {token}。 必填。 详细了解 身份验证和授权。 |
Content-Type |
application/json. 必需。 |
请求正文
在请求正文中,提供参数的 JSON 表示形式。
下表列出了调用此作时所需的参数。
参数 |
类型 |
说明 |
uploadUrl |
String |
服务可在其中下载 PKI 文件并填充 certificateAuthorities 的 URL。 这可以是任何 http 或 https 可公开访问的面向 Internet 的 URL。 |
sha256FileHash |
String |
一系列数字和字母,检查下载的更新文件的副本与原始文件相同。 这可以使用 Get_FileHash cmdlet 进行计算。 |
响应
如果成功,此操作返回 204 No Content
响应代码。 如果当前正在进行另一个上传,此 API 将返回“400 错误请求”错误消息。 尝试上传重复证书会导致出现“400 错误请求错误代码,存在重复证书”错误消息。
示例
请求
以下示例显示了一个请求。
POST https://graph.microsoft.com/beta/directory/publicKeyInfrastructure/certificateBasedAuthConfigurations/{certificateBasedAuthPkiId}/upload
Content-Type: application/json
{
"uploadUrl": "https://microsoft.sharepoint.com/CBA/demo/CBARootPKI.p7b",
"sha256FileHash": "D7F9....61E6F"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.DirectoryNamespace.PublicKeyInfrastructure.CertificateBasedAuthConfigurations.Item.Upload;
var requestBody = new UploadPostRequestBody
{
UploadUrl = "https://microsoft.sharepoint.com/CBA/demo/CBARootPKI.p7b",
Sha256FileHash = "D7F9....61E6F",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Directory.PublicKeyInfrastructure.CertificateBasedAuthConfigurations["{certificateBasedAuthPki-id}"].Upload.PostAsync(requestBody);
mgc-beta directory public-key-infrastructure certificate-based-auth-configurations upload post --certificate-based-auth-pki-id {certificateBasedAuthPki-id} --body '{\
"uploadUrl": "https://microsoft.sharepoint.com/CBA/demo/CBARootPKI.p7b",\
"sha256FileHash": "D7F9....61E6F"\
}\
'
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphdirectory "github.com/microsoftgraph/msgraph-beta-sdk-go/directory"
//other-imports
)
requestBody := graphdirectory.NewUploadPostRequestBody()
uploadUrl := "https://microsoft.sharepoint.com/CBA/demo/CBARootPKI.p7b"
requestBody.SetUploadUrl(&uploadUrl)
sha256FileHash := "D7F9....61E6F"
requestBody.SetSha256FileHash(&sha256FileHash)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Directory().PublicKeyInfrastructure().CertificateBasedAuthConfigurations().ByCertificateBasedAuthPkiId("certificateBasedAuthPki-id").Upload().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.directory.publickeyinfrastructure.certificatebasedauthconfigurations.item.upload.UploadPostRequestBody uploadPostRequestBody = new com.microsoft.graph.beta.directory.publickeyinfrastructure.certificatebasedauthconfigurations.item.upload.UploadPostRequestBody();
uploadPostRequestBody.setUploadUrl("https://microsoft.sharepoint.com/CBA/demo/CBARootPKI.p7b");
uploadPostRequestBody.setSha256FileHash("D7F9....61E6F");
graphClient.directory().publicKeyInfrastructure().certificateBasedAuthConfigurations().byCertificateBasedAuthPkiId("{certificateBasedAuthPki-id}").upload().post(uploadPostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const upload = {
uploadUrl: 'https://microsoft.sharepoint.com/CBA/demo/CBARootPKI.p7b',
sha256FileHash: 'D7F9....61E6F'
};
await client.api('/directory/publicKeyInfrastructure/certificateBasedAuthConfigurations/{certificateBasedAuthPkiId}/upload')
.version('beta')
.post(upload);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Directory\PublicKeyInfrastructure\CertificateBasedAuthConfigurations\Item\Upload\UploadPostRequestBody;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new UploadPostRequestBody();
$requestBody->setUploadUrl('https://microsoft.sharepoint.com/CBA/demo/CBARootPKI.p7b');
$requestBody->setSha256FileHash('D7F9....61E6F');
$graphServiceClient->directory()->publicKeyInfrastructure()->certificateBasedAuthConfigurations()->byCertificateBasedAuthPkiId('certificateBasedAuthPki-id')->upload()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
$params = @{
uploadUrl = "https://microsoft.sharepoint.com/CBA/demo/CBARootPKI.p7b"
sha256FileHash = "D7F9....61E6F"
}
Invoke-MgBetaUploadDirectoryPublicKeyInfrastructureCertificateBasedAuthConfiguration -CertificateBasedAuthPkiId $certificateBasedAuthPkiId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.directory.publickeyinfrastructure.certificatebasedauthconfigurations.item.upload.upload_post_request_body import UploadPostRequestBody
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = UploadPostRequestBody(
upload_url = "https://microsoft.sharepoint.com/CBA/demo/CBARootPKI.p7b",
sha256_file_hash = "D7F9....61E6F",
)
await graph_client.directory.public_key_infrastructure.certificate_based_auth_configurations.by_certificate_based_auth_pki_id('certificateBasedAuthPki-id').upload.post(request_body)
响应
以下示例显示了相应的响应。
HTTP/1.1 204 No Content