Share via


Certificate - Create Or Update

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

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

URI 參數

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

string

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

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

resourceGroupName
path True

string

資源群組的名稱。 名稱不區分大小寫。

serviceName
path True

string

API 管理 服務的名稱。

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

subscriptionId
path True

string

目標訂用帳戶的標識碼。

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

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

Headers

ETag: string

201 Created

CertificateContract

已成功新增憑證。

Headers

ETag: string

Other Status Codes

ErrorResponse

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

安全性

azure_auth

Azure Active Directory OAuth2 Flow。

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

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

範例

ApiManagementCreateCertificate
ApiManagementCreateCertificateWithKeyVault

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

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

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

定義

名稱 Description
CertificateContract

憑證詳細數據。

CertificateCreateOrUpdateParameters

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

ErrorFieldContract

錯誤欄位合約。

ErrorResponse

錯誤回應。

KeyVaultContractCreateProperties

建立keyVault合約詳細數據。

KeyVaultContractProperties

KeyVault 合約詳細數據。

KeyVaultLastAccessStatusContractProperties

發出合約更新屬性。

CertificateContract

憑證詳細數據。

名稱 類型 Description
id

string

資源的完整資源識別碼。 Ex - /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

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

KeyVaultContractProperties

KeyVault 合約詳細數據。

名稱 類型 Description
identityClientId

string

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

lastStatus

KeyVaultLastAccessStatusContractProperties

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

secretIdentifier

string

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

KeyVaultLastAccessStatusContractProperties

發出合約更新屬性。

名稱 類型 Description
code

string

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

message

string

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

timeStampUtc

string

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