バックエンドでの認証に使用される証明書を作成または更新します。
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}?api-version=2022-08-01
URI パラメーター
名前 |
/ |
必須 |
型 |
説明 |
certificateId
|
path |
True
|
string
|
証明書エンティティの識別子。 現在のAPI Management サービス インスタンスで一意である必要があります。
Regex pattern: ^[^*#&+:<>?]+$
|
resourceGroupName
|
path |
True
|
string
|
リソース グループの名前。 名前の大文字と小文字は区別されます。
|
serviceName
|
path |
True
|
string
|
API Management サービスの名前。
Regex pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$
|
subscriptionId
|
path |
True
|
string
|
ターゲット サブスクリプションの ID。
|
api-version
|
query |
True
|
string
|
この操作に使用する API バージョン。
|
名前 |
必須 |
型 |
説明 |
If-Match
|
|
string
|
エンティティの ETag。 エンティティを作成する場合は必須ではありませんが、エンティティを更新する場合は必須です。
|
要求本文
名前 |
型 |
説明 |
properties.data
|
string
|
アプリケーション/x-pkcs12 表現を使用して Base 64 でエンコードされた証明書。
|
properties.keyVault
|
KeyVaultContractCreateProperties
|
証明書の KeyVault の場所の詳細。
|
properties.password
|
string
|
証明書のパスワード
|
応答
セキュリティ
azure_auth
Azure Active Directory OAuth2 フロー。
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
名前 |
説明 |
user_impersonation
|
ユーザー アカウントの借用
|
例
ApiManagementCreateCertificate
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/tempcert?api-version=2022-08-01
{
"properties": {
"data": "****************Base 64 Encoded Certificate *******************************",
"password": "****Certificate Password******"
}
}
/** Samples for Certificate CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateCertificate.json
*/
/**
* Sample code: ApiManagementCreateCertificate.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateCertificate(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.certificates()
.define("tempcert")
.withExistingService("rg1", "apimService1")
.withData("****************Base 64 Encoded Certificate *******************************")
.withPassword("****Certificate Password******")
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_certificate.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.certificate.create_or_update(
resource_group_name="rg1",
service_name="apimService1",
certificate_id="tempcert",
parameters={
"properties": {
"data": "****************Base 64 Encoded Certificate *******************************",
"password": "****Certificate Password******",
}
},
)
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateCertificate.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateCertificate.json
func ExampleCertificateClient_CreateOrUpdate_apiManagementCreateCertificate() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewCertificateClient().CreateOrUpdate(ctx, "rg1", "apimService1", "tempcert", armapimanagement.CertificateCreateOrUpdateParameters{
Properties: &armapimanagement.CertificateCreateOrUpdateProperties{
Data: to.Ptr("****************Base 64 Encoded Certificate *******************************"),
Password: to.Ptr("****Certificate Password******"),
},
}, &armapimanagement.CertificateClientCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.CertificateContract = armapimanagement.CertificateContract{
// Name: to.Ptr("tempcert"),
// Type: to.Ptr("Microsoft.ApiManagement/service/certificates"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/tempcert"),
// Properties: &armapimanagement.CertificateContractProperties{
// ExpirationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2018-03-17T21:55:07.000Z"); return t}()),
// Subject: to.Ptr("CN=contoso.com"),
// Thumbprint: to.Ptr("*******************3"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates the certificate being used for authentication with the backend.
*
* @summary Creates or updates the certificate being used for authentication with the backend.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateCertificate.json
*/
async function apiManagementCreateCertificate() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const certificateId = "tempcert";
const parameters = {
data: "****************Base 64 Encoded Certificate *******************************",
password: "****Certificate Password******",
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.certificate.createOrUpdate(
resourceGroupName,
serviceName,
certificateId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/tempcert",
"type": "Microsoft.ApiManagement/service/certificates",
"name": "tempcert",
"properties": {
"subject": "CN=contoso.com",
"thumbprint": "*******************3",
"expirationDate": "2018-03-17T21:55:07+00:00"
}
}
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/tempcert",
"type": "Microsoft.ApiManagement/service/certificates",
"name": "tempcert",
"properties": {
"subject": "CN=contoso.com",
"thumbprint": "*******************3",
"expirationDate": "2018-03-17T21:55:07+00:00"
}
}
ApiManagementCreateCertificateWithKeyVault
Sample Request
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCertkv?api-version=2022-08-01
{
"properties": {
"keyVault": {
"identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
"secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert"
}
}
}
import com.azure.resourcemanager.apimanagement.models.KeyVaultContractCreateProperties;
/** Samples for Certificate CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateCertificateWithKeyVault.json
*/
/**
* Sample code: ApiManagementCreateCertificateWithKeyVault.
*
* @param manager Entry point to ApiManagementManager.
*/
public static void apiManagementCreateCertificateWithKeyVault(
com.azure.resourcemanager.apimanagement.ApiManagementManager manager) {
manager
.certificates()
.define("templateCertkv")
.withExistingService("rg1", "apimService1")
.withKeyVault(
new KeyVaultContractCreateProperties()
.withSecretIdentifier("fakeTokenPlaceholder")
.withIdentityClientId("ceaa6b06-c00f-43ef-99ac-f53d1fe876a0"))
.create();
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.apimanagement import ApiManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-apimanagement
# USAGE
python api_management_create_certificate_with_key_vault.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = ApiManagementClient(
credential=DefaultAzureCredential(),
subscription_id="subid",
)
response = client.certificate.create_or_update(
resource_group_name="rg1",
service_name="apimService1",
certificate_id="templateCertkv",
parameters={
"properties": {
"keyVault": {
"identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
"secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
}
}
},
)
print(response)
# x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateCertificateWithKeyVault.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armapimanagement_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/4cd95123fb961c68740565a1efcaa5e43bd35802/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateCertificateWithKeyVault.json
func ExampleCertificateClient_CreateOrUpdate_apiManagementCreateCertificateWithKeyVault() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armapimanagement.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewCertificateClient().CreateOrUpdate(ctx, "rg1", "apimService1", "templateCertkv", armapimanagement.CertificateCreateOrUpdateParameters{
Properties: &armapimanagement.CertificateCreateOrUpdateProperties{
KeyVault: &armapimanagement.KeyVaultContractCreateProperties{
IdentityClientID: to.Ptr("ceaa6b06-c00f-43ef-99ac-f53d1fe876a0"),
SecretIdentifier: to.Ptr("https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert"),
},
},
}, &armapimanagement.CertificateClientCreateOrUpdateOptions{IfMatch: nil})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.CertificateContract = armapimanagement.CertificateContract{
// Name: to.Ptr("templateCertkv"),
// Type: to.Ptr("Microsoft.ApiManagement/service/certificates"),
// ID: to.Ptr("/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCertkv"),
// Properties: &armapimanagement.CertificateContractProperties{
// ExpirationDate: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2037-01-01T07:00:00.000Z"); return t}()),
// KeyVault: &armapimanagement.KeyVaultContractProperties{
// IdentityClientID: to.Ptr("ceaa6b06-c00f-43ef-99ac-f53d1fe876a0"),
// SecretIdentifier: to.Ptr("https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert"),
// LastStatus: &armapimanagement.KeyVaultLastAccessStatusContractProperties{
// Code: to.Ptr("Success"),
// TimeStampUTC: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-09-22T00:24:53.319Z"); return t}()),
// },
// },
// Subject: to.Ptr("CN=*.msitesting.net"),
// Thumbprint: to.Ptr("EA**********************9AD690"),
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { ApiManagementClient } = require("@azure/arm-apimanagement");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Creates or updates the certificate being used for authentication with the backend.
*
* @summary Creates or updates the certificate being used for authentication with the backend.
* x-ms-original-file: specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/examples/ApiManagementCreateCertificateWithKeyVault.json
*/
async function apiManagementCreateCertificateWithKeyVault() {
const subscriptionId = process.env["APIMANAGEMENT_SUBSCRIPTION_ID"] || "subid";
const resourceGroupName = process.env["APIMANAGEMENT_RESOURCE_GROUP"] || "rg1";
const serviceName = "apimService1";
const certificateId = "templateCertkv";
const parameters = {
keyVault: {
identityClientId: "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
secretIdentifier:
"https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
},
};
const credential = new DefaultAzureCredential();
const client = new ApiManagementClient(credential, subscriptionId);
const result = await client.certificate.createOrUpdate(
resourceGroupName,
serviceName,
certificateId,
parameters
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCertkv",
"type": "Microsoft.ApiManagement/service/certificates",
"name": "templateCertkv",
"properties": {
"subject": "CN=*.msitesting.net",
"thumbprint": "EA**********************9AD690",
"expirationDate": "2037-01-01T07:00:00Z",
"keyVault": {
"secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
"identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
"lastStatus": {
"code": "Success",
"timeStampUtc": "2020-09-22T00:24:53.3191468Z"
}
}
}
}
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCertkv",
"type": "Microsoft.ApiManagement/service/certificates",
"name": "templateCertkv",
"properties": {
"subject": "CN=*.msitesting.net",
"thumbprint": "EA**********************9AD690",
"expirationDate": "2037-01-01T07:00:00Z",
"keyVault": {
"secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
"identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
"lastStatus": {
"code": "Success",
"timeStampUtc": "2020-09-22T00:24:53.3191468Z"
}
}
}
}
定義
CertificateContract
証明書の詳細。
名前 |
型 |
説明 |
id
|
string
|
リソースの完全修飾リソース ID。 例 - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
|
name
|
string
|
リソースの名前
|
properties.expirationDate
|
string
|
証明書の有効期限。 日付は、ISO 8601 標準で指定されている形式 yyyy-MM-ddTHH:mm:ssZ に準拠しています。
|
properties.keyVault
|
KeyVaultContractProperties
|
証明書の KeyVault の場所の詳細。
|
properties.subject
|
string
|
証明書の件名属性。
|
properties.thumbprint
|
string
|
証明書の拇印。
|
type
|
string
|
リソースの型。 例: "Microsoft.Compute/virtualMachines" または "Microsoft.Storage/storageAccounts"
|
CertificateCreateOrUpdateParameters
証明書の作成または更新の詳細。
名前 |
型 |
説明 |
properties.data
|
string
|
アプリケーション/x-pkcs12 表現を使用して Base 64 でエンコードされた証明書。
|
properties.keyVault
|
KeyVaultContractCreateProperties
|
証明書の KeyVault の場所の詳細。
|
properties.password
|
string
|
証明書のパスワード
|
ErrorFieldContract
エラー フィールド コントラクト。
名前 |
型 |
説明 |
code
|
string
|
プロパティ レベルのエラー コード。
|
message
|
string
|
プロパティ レベルエラーの人間が判読できる表現。
|
target
|
string
|
プロパティ名。
|
ErrorResponse
エラー応答。
名前 |
型 |
説明 |
error.code
|
string
|
サービスによって定義されたエラー コード。 このコードは、応答に指定された HTTP エラー コードのサブステータスとして機能します。
|
error.details
|
ErrorFieldContract[]
|
検証エラーが発生した場合に要求で送信される無効なフィールドの一覧。
|
error.message
|
string
|
人が判読できるエラーの表現。
|
KeyVaultContractCreateProperties
keyVault コントラクトの詳細を作成します。
名前 |
型 |
説明 |
identityClientId
|
string
|
SystemAssignedIdentity の場合は Null、UserAssignedIdentity の場合はクライアント ID で、キー コンテナーシークレットへのアクセスに使用されます。
|
secretIdentifier
|
string
|
シークレットをフェッチするためのキー コンテナー シークレット識別子。 バージョン管理されたシークレットを指定すると、自動更新が防止されます。 これには、API Management サービスを aka.ms/apimmsi で構成する必要があります
|
KeyVaultContractProperties
KeyVault コントラクトの詳細。
名前 |
型 |
説明 |
identityClientId
|
string
|
SystemAssignedIdentity の場合は Null、UserAssignedIdentity の場合はクライアント ID で、キー コンテナーシークレットへのアクセスに使用されます。
|
lastStatus
|
KeyVaultLastAccessStatusContractProperties
|
キー コンテナーからのシークレットの前回の同期と更新の状態。
|
secretIdentifier
|
string
|
シークレットをフェッチするためのキー コンテナー シークレット識別子。 バージョン管理されたシークレットを指定すると、自動更新が防止されます。 これには、API Management サービスを aka.ms/apimmsi で構成する必要があります
|
KeyVaultLastAccessStatusContractProperties
コントラクトの更新プロパティを発行します。
名前 |
型 |
説明 |
code
|
string
|
キー コンテナーからのシークレットの同期と更新の最後の状態コード。
|
message
|
string
|
エラーの詳細は空です。
|
timeStampUtc
|
string
|
前回シークレットにアクセスしました。 日付は、ISO 8601 標準で指定されている形式 yyyy-MM-ddTHH:mm:ssZ に準拠しています。
|