共用方式為


Certificate - Create Or Update

建立或更新要用於向後端驗證的憑證。

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}?api-version=2021-08-01

URI 參數

名稱 位於 必要 類型 Description
certificateId
path True

string

憑證實體的標識碼。 目前 API 管理 服務實例中必須是唯一的。

Regex 模式: ^[^*#&+:<>?]+$

resourceGroupName
path True

string

資源群組的名稱。

serviceName
path True

string

API 管理 服務的名稱。

Regex 模式: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$

subscriptionId
path True

string

可唯一識別 Microsoft Azure 訂用帳戶的訂用帳戶認證。 訂用帳戶識別碼會構成每個服務呼叫 URI 的一部分。

api-version
query True

string

要與用戶端要求搭配使用的 API 版本。

要求標頭

名稱 必要 類型 Description
If-Match

string

實體的 ETag。 建立實體時不需要,但在更新實體時則為必要專案。

要求本文

名稱 類型 Description
properties.data

string

使用 application/x-pkcs12 表示法的 Base 64 編碼憑證。

properties.keyVault

KeyVaultContractCreateProperties

憑證的 KeyVault 位置詳細數據。

properties.password

string

憑證的密碼

回應

名稱 類型 Description
200 OK

CertificateContract

已成功更新憑證詳細數據。

標題

ETag: string

201 Created

CertificateContract

已成功新增憑證。

標題

ETag: string

Other Status Codes

ErrorResponse

描述作業失敗原因的錯誤回應。

安全性

azure_auth

Azure Active Directory OAuth2 Flow。

類型: oauth2
Flow: implicit
授權 URL: https://login.microsoftonline.com/common/oauth2/authorize

範圍

名稱 Description
user_impersonation 模擬您的用戶帳戶

範例

ApiManagementCreateCertificate
ApiManagementCreateCertificateWithKeyVault

ApiManagementCreateCertificate

範例要求

PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/tempcert?api-version=2021-08-01

{
  "properties": {
    "data": "****************Base 64 Encoded Certificate *******************************",
    "password": "****Certificate Password******"
  }
}

範例回覆

{
  "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

範例要求

PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCertkv?api-version=2021-08-01

{
  "properties": {
    "keyVault": {
      "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
      "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert"
    }
  }
}

範例回覆

{
  "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"
      }
    }
  }
}

定義

名稱 Description
CertificateContract

憑證詳細數據。

CertificateCreateOrUpdateParameters

憑證建立或更新詳細數據。

ErrorFieldContract

錯誤欄位合約。

ErrorResponse

錯誤回應。

KeyVaultContractCreateProperties

建立keyVault合約詳細數據。

KeyVaultContractProperties

KeyVault 合約詳細數據。

KeyVaultLastAccessStatusContractProperties

發出合約更新屬性。

CertificateContract

憑證詳細數據。

名稱 類型 Description
id

string

資源的完整資源識別碼。 例如 - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

name

string

資源的名稱

properties.expirationDate

string

憑證的到期日。 日期符合下列格式: yyyy-MM-ddTHH:mm:ssZ 如 ISO 8601 標準所指定。

properties.keyVault

KeyVaultContractProperties

憑證的 KeyVault 位置詳細數據。

properties.subject

string

憑證的主旨屬性。

properties.thumbprint

string

憑證的指紋。

type

string

資源類型。 例如“Microsoft.Compute/virtualMachines” 或 “Microsoft.Storage/storageAccounts”

CertificateCreateOrUpdateParameters

憑證建立或更新詳細數據。

名稱 類型 Description
properties.data

string

使用 application/x-pkcs12 表示法的 Base 64 編碼憑證。

properties.keyVault

KeyVaultContractCreateProperties

憑證的 KeyVault 位置詳細數據。

properties.password

string

憑證的密碼

ErrorFieldContract

錯誤欄位合約。

名稱 類型 Description
code

string

屬性層級錯誤碼。

message

string

人類可讀取的屬性層級錯誤表示法。

target

string

屬性名稱。

ErrorResponse

錯誤回應。

名稱 類型 Description
error.code

string

服務定義的錯誤碼。 此代碼會作為回應中指定之 HTTP 錯誤碼的子狀態。

error.details

ErrorFieldContract[]

在驗證錯誤時,要求中傳送的無效欄位清單。

error.message

string

人類可閱讀的錯誤表示法。

KeyVaultContractCreateProperties

建立keyVault合約詳細數據。

名稱 類型 Description
identityClientId

string

SystemAssignedIdentity 的 Null 或 UserAssignedIdentity 的用戶端識別符,將用來存取密鑰保存庫秘密。

secretIdentifier

string

用於擷取秘密的金鑰保存庫秘密標識碼。 提供已建立版本的秘密將會防止自動重新整理。 這需要以 aka.ms/apimmsi 設定 API 管理 服務

KeyVaultContractProperties

KeyVault 合約詳細數據。

名稱 類型 Description
identityClientId

string

SystemAssignedIdentity 的 Null 或 UserAssignedIdentity 的用戶端識別符,將用來存取密鑰保存庫秘密。

lastStatus

KeyVaultLastAccessStatusContractProperties

上次從金鑰保存庫同步處理和重新整理秘密的狀態。

secretIdentifier

string

用於擷取秘密的金鑰保存庫秘密標識碼。 提供已建立版本的秘密將會防止自動重新整理。 這需要以 aka.ms/apimmsi 設定 API 管理 服務

KeyVaultLastAccessStatusContractProperties

發出合約更新屬性。

名稱 類型 Description
code

string

上次從金鑰保存庫同步和重新整理秘密的狀態代碼。

message

string

錯誤的詳細數據,否則為空白。

timeStampUtc

string

上次存取秘密的時間。 日期符合下列格式: yyyy-MM-ddTHH:mm:ssZ 如 ISO 8601 標準所指定。