Microsoft.ApiManagement 服務
Bicep 資源定義
服務資源類型可以使用目標作業來部署:
- 資源群組 - 請參閱 資源群組部署命令
如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔。
資源格式
若要建立 Microsoft.ApiManagement/service 資源,請將下列 Bicep 新增至範本。
resource symbolicname 'Microsoft.ApiManagement/service@2023-09-01-preview' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
sku: {
capacity: int
name: 'string'
}
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {
clientId: 'string'
principalId: 'string'
}
}
}
properties: {
additionalLocations: [
{
disableGateway: bool
location: 'string'
natGatewayState: 'string'
publicIpAddressId: 'string'
sku: {
capacity: int
name: 'string'
}
virtualNetworkConfiguration: {
subnetResourceId: 'string'
}
zones: [
'string'
]
}
]
apiVersionConstraint: {
minApiVersion: 'string'
}
certificates: [
{
certificate: {
expiry: 'string'
subject: 'string'
thumbprint: 'string'
}
certificatePassword: 'string'
encodedCertificate: 'string'
storeName: 'string'
}
]
configurationApi: {
legacyApi: 'string'
}
customProperties: {
{customized property}: 'string'
}
developerPortalStatus: 'string'
disableGateway: bool
enableClientCertificate: bool
hostnameConfigurations: [
{
certificate: {
expiry: 'string'
subject: 'string'
thumbprint: 'string'
}
certificatePassword: 'string'
certificateSource: 'string'
certificateStatus: 'string'
defaultSslBinding: bool
encodedCertificate: 'string'
hostName: 'string'
identityClientId: 'string'
keyVaultId: 'string'
negotiateClientCertificate: bool
type: 'string'
}
]
legacyPortalStatus: 'string'
natGatewayState: 'string'
notificationSenderEmail: 'string'
privateEndpointConnections: [
{
id: 'string'
name: 'string'
properties: {
privateEndpoint: {}
privateLinkServiceConnectionState: {
actionsRequired: 'string'
description: 'string'
status: 'string'
}
}
type: 'string'
}
]
publicIpAddressId: 'string'
publicNetworkAccess: 'string'
publisherEmail: 'string'
publisherName: 'string'
restore: bool
virtualNetworkConfiguration: {
subnetResourceId: 'string'
}
virtualNetworkType: 'string'
}
zones: [
'string'
]
}
屬性值
服務
名字 | 描述 | 價值 |
---|---|---|
名字 | 資源名稱 | 字串 (必要) 字元限制:1-50 合法字元: 英數位元和連字元。 以字母開頭,並以英數位元結尾。 資源名稱在整個 Azure 中必須是唯一的。 |
位置 | 資源位置。 | 字串 (必要) |
標籤 | 資源標籤。 | 標記名稱和值的字典。 請參閱範本中的 標籤 |
sku | API 管理服務的 SKU 屬性。 | ApiManagementServiceSkuProperties (必要) |
身份 | Api 管理服務的受控服務識別。 | ApiManagementServiceIdentity |
性能 | API 管理服務的屬性。 | ApiManagementServiceProperties (必要) |
區 | 可用性區域清單,表示資源需要來自何處。 | string[] |
ApiManagementServiceIdentity
名字 | 描述 | 價值 |
---|---|---|
類型 | 用於資源的身分識別類型。 類型 'SystemAssigned, UserAssigned' 包含隱含建立的身分識別和一組使用者指派的身分識別。 類型 『None』 會從服務中移除任何身分識別。 | 'None' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned' (必要) |
userAssignedIdentities | 與資源相關聯的使用者身分識別清單。 使用者身分識別 字典索引鍵參考的格式會是 ARM 資源識別碼: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'。 |
ApiManagementServiceIdentityUserAssignedIdentities |
ApiManagementServiceIdentityUserAssignedIdentities
名字 | 描述 | 價值 |
---|---|---|
{自定義屬性} | UserIdentityProperties |
UserIdentityProperties
名字 | 描述 | 價值 |
---|---|---|
clientId | 使用者指派身分識別的用戶端標識碼。 | 字串 |
principalId | 使用者指派身分識別的主體標識碼。 | 字串 |
ApiManagementServiceProperties
名字 | 描述 | 價值 |
---|---|---|
additionalLocations | API 管理服務的其他數據中心位置。 | AdditionalLocation[] |
apiVersionConstraint | API 管理服務的控制平面 API 版本條件約束。 | ApiVersionConstraint |
證書 | 需要在 API 管理服務中安裝的憑證清單。 可安裝的憑證數目上限為 10。 | CertificateConfiguration[] |
configurationApi | 設定 API 管理服務的 API 組態。 | ConfigurationApi |
customProperties | API 管理服務的自定義屬性。 設定 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 會停用所有 TLS 的加密TLS_RSA_WITH_3DES_EDE_CBC_SHA(1.0、1.1 和 1.2)。設定 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 可用來只停用 TLS 1.1。設定 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 可用來停用 API 管理服務上的 TLS 1.0。設定 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 可用來只停用 TLS 1.1 與後端的通訊。設定 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 可用來停用 TLS 1.0 來與後端通訊。設定 Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 可用來在 API 管理服務上啟用 HTTP2 通訊協定。在 PATCH 作業上未指定任何這些屬性,將會將省略的屬性值重設為預設值。 針對 Http2 以外的所有設定,如果服務是在 2018 年 4 月 1 日或之前建立,則預設值會 True ,否則為 False 。 Http2 設定預設值為 False 。您可以使用設定 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name] 停用下列任何加密:TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA、TLS_RSA_WITH_AES_128_GCM_SHA256、TLS_RSA_WITH_AES_256_CBC_SHA256、 TLS_RSA_WITH_AES_128_CBC_SHA256、TLS_RSA_WITH_AES_256_CBC_SHA、TLS_RSA_WITH_AES_128_CBC_SHA。 例如,Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256 :false 。 預設值為 true 。注意:由於內部平臺元件需要下列密碼,因此無法停用:TLS_AES_256_GCM_SHA384、TLS_AES_128_GCM_SHA256、TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384、TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256、TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384、TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 |
ApiManagementServiceBasePropertiesCustomProperties |
developerPortalStatus | 此 API 管理服務中的開發人員入口網站狀態。 | 'Disabled' 'Enabled' |
disableGateway | 屬性僅適用於部署在多個位置的 Api 管理服務。 這可用來停用主要區域中的閘道。 | bool |
enableClientCertificate | 屬性僅供取用 SKU 服務使用。 這會強制在閘道的每個要求上顯示客戶端憑證。 這也可讓您在閘道的原則中驗證憑證。 | bool |
hostnameConfigurations | API 管理服務的自定義主機名組態。 | HostnameConfiguration[] |
legacyPortalStatus | API 管理服務中舊版入口網站的狀態。 | 'Disabled' 'Enabled' |
natGatewayState | 屬性可用來啟用此 API 管理服務的 NAT 閘道。 | 'Disabled' 'Enabled' |
notificationSenderEmail | 將傳送通知的電子郵件位址。 | 字串 約束: 最大長度 = 100 |
privateEndpointConnections | 此服務的私人端點連線清單。 | RemotePrivateEndpointConnectionWrapper[] |
publicIpAddressId | 要與區域中部署的虛擬網路服務相關聯的公用標準 SKU IP V4 型 IP 位址。 僅支援虛擬網路中部署的開發人員和進階 SKU。 | 字串 |
publicNetworkAccess | 此 API 管理服務是否允許公用端點存取。 值為選擇性值,但如果傳入,則必須是 『Enabled』 或 'Disabled'。 如果為 『Disabled』,私人端點就是獨佔存取方法。 預設值為 'Enabled' | 'Disabled' 'Enabled' |
publisherEmail | 發行者電子郵件。 | 字串 (必要) 約束: 最大長度 = 100 |
publisherName | 發行者名稱。 | 字串 (必要) 約束: 最大長度 = 100 |
恢復 | 如果先前已虛刪除,請取消刪除 Api 管理服務。 如果指定此旗標,並將 設定為 True,則會忽略所有其他屬性。 | bool |
virtualNetworkConfiguration | API 管理服務的虛擬網路組態。 | VirtualNetworkConfiguration |
virtualNetworkType | 必須在其中設定 API 管理服務的 VPN 類型。 無 (預設值) 表示 API 管理服務不屬於任何虛擬網路,外部表示 API 管理部署是在具有因特網面向端點的虛擬網路內設定,而內部表示 API 管理部署只會在具有內部網路對向端點的虛擬網路內進行設定。 | 'External' 'Internal' 'None' |
AdditionalLocation
名字 | 描述 | 價值 |
---|---|---|
disableGateway | 屬性僅適用於部署在多個位置的 Api 管理服務。 這可用來停用此額外位置中的閘道。 | bool |
位置 | Azure 資料中心區域之間其他區域的位置名稱。 | 字串 (必要) |
natGatewayState | 屬性可用來啟用此 API 管理服務的 NAT 閘道。 | 'Disabled' 'Enabled' |
publicIpAddressId | 要與位置中部署的虛擬網路服務相關聯的公用標準 SKU IP V4 型 IP 位址。 僅支援虛擬網路中部署的進階 SKU。 | 字串 |
sku | API 管理服務的 SKU 屬性。 | ApiManagementServiceSkuProperties (必要) |
virtualNetworkConfiguration | 位置的虛擬網路組態。 | VirtualNetworkConfiguration |
區 | 可用性區域清單,表示資源需要來自何處。 | string[] |
ApiManagementServiceSkuProperties
名字 | 描述 | 價值 |
---|---|---|
能力 | SKU 的容量(SKU 的部署單位數目)。 針對 [取用 SKU 容量] 必須指定為 0。 | int (必要) |
名字 | Sku 的名稱。 | 'Standard' 'WorkspaceGatewayPremium' 'WorkspaceGatewayStandard' (必要) |
VirtualNetworkConfiguration
名字 | 描述 | 價值 |
---|---|---|
subnetResourceId | 虛擬網路中要部署 API 管理服務之子網的完整資源識別碼。 | 字串 約束: Pattern = ^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$ |
ApiVersionConstraint
名字 | 描述 | 價值 |
---|---|---|
minApiVersion | 限制對 API 管理服務的控制平面 API 呼叫,其版本等於或大於此值。 | 字串 |
CertificateConfiguration
名字 | 描述 | 價值 |
---|---|---|
證書 | 憑證資訊。 | CertificateInformation |
certificatePassword | 憑證密碼。 | 字串 |
encodedCertificate | Base64 編碼憑證。 | 字串 |
storeName | System.Security.Cryptography.x509certificates.StoreName 證書存儲位置。 只有 Root 和 CertificateAuthority 是有效的位置。 | 'CertificateAuthority' 'Root' (必要) |
CertificateInformation
名字 | 描述 | 價值 |
---|---|---|
滿期 | 憑證的到期日。 日期符合下列格式:yyyy-MM-ddTHH:mm:ssZ ISO 8601 標準所指定。 |
字串 (必要) |
主題 | 憑證的主體。 | 字串 (必要) |
指紋 | 憑證的指紋。 | 字串 (必要) |
ConfigurationApi
名字 | 描述 | 價值 |
---|---|---|
legacyApi | 指示是否應該在 API 管理服務上公開舊版組態 API (v1)。 值為選擇性值,但必須是 『Enabled』 或 『Disabled』。 如果 「已停用」,舊版設定 API (v1) 將無法用於自我裝載閘道。 預設值為 'Enabled' | 'Disabled' 'Enabled' |
ApiManagementServiceBasePropertiesCustomProperties
名字 | 描述 | 價值 |
---|---|---|
{自定義屬性} | 字串 |
HostnameConfiguration
名字 | 描述 | 價值 |
---|---|---|
證書 | 憑證資訊。 | CertificateInformation |
certificatePassword | 憑證密碼。 | 字串 |
certificateSource | 憑證來源。 | 'BuiltIn' 'Custom' 'KeyVault' 'Managed' |
certificateStatus | 憑證狀態。 | 'Completed' 'Failed' 'InProgress' |
defaultSslBinding | 指定 true,將與此主機名相關聯的憑證設定為預設 SSL 憑證。 如果用戶端未傳送 SNI 標頭,則這會是將會受到挑戰的憑證。 如果服務已啟用多個自定義主機名,且必須決定預設ssl憑證,則屬性會很有用。 僅套用至閘道主機名稱類型的設定。 | bool |
encodedCertificate | Base64 編碼憑證。 | 字串 |
hostName | 在 Api 管理服務上設定的主機名。 | 字串 (必要) |
identityClientId | Azure AD 所產生的系統或使用者指派受控識別 clientId,其具有包含 SSL 憑證之 keyVault 的 GET 存取權。 | 字串 |
keyVaultId | 包含 Ssl 憑證之 KeyVault 秘密的 URL。 如果提供包含版本的絕對 URL,SSL 憑證的自動更新將無法運作。 這需要使用 aka.ms/apimmsi 來設定 Api 管理服務。 秘密的類型應 為 application/x-pkcs12 | 字串 |
negotiateClientCertificate | 指定 true 以一律交涉主機名上的客戶端憑證。 默認值為 false。 | bool |
類型 | 主機名類型。 | 'ConfigurationApi' 'DeveloperPortal' 'Management' 'Portal' 'Proxy' 'Scm' (必要) |
RemotePrivateEndpointConnectionWrapper
名字 | 描述 | 價值 |
---|---|---|
id | 私人端點聯機資源標識碼 | 字串 |
名字 | 私人端點連線名稱 | 字串 |
性能 | 資源屬性。 | PrivateEndpointConnectionWrapperProperties |
類型 | 私人端點連線資源類型 | 字串 |
PrivateEndpointConnectionWrapperProperties
名字 | 描述 | 價值 |
---|---|---|
privateEndpoint | 私人端點的資源。 | ArmIdWrapper |
privateLinkServiceConnectionState | 服務取用者與提供者之間連線狀態的相關信息集合。 | PrivateLinkServiceConnectionState (必要) |
ArmIdWrapper
此物件不包含在部署期間設定的任何屬性。 所有屬性都是 ReadOnly。
PrivateLinkServiceConnectionState
名字 | 描述 | 價值 |
---|---|---|
actionsRequired | 訊息,指出服務提供者上的變更是否需要取用者的任何更新。 | 字串 |
描述 | 核准/拒絕連線的原因。 | 字串 |
地位 | 指出服務擁有者是否已核准/拒絕/移除連線。 | 「已核准」 'Pending' 'Rejected' |
快速入門範本
下列快速入門範本會部署此資源類型。
範本 | 描述 |
---|---|
使用範本 建立 API 管理實例和所有子資源 |
此範本示範如何建立 API 管理服務及設定子實體 |
使用外部 Azure Cache for Redis 部署 API 管理 |
此範本示範如何使用外部 Azure Cache for Redis 實例作為 API 管理外部快取,在取用層中建立 Azure API 管理的實例。 |
使用公用IP 在外部 VNet 中部署 API 管理 |
此範本示範如何在虛擬網路子網外部模式的進階層中建立 Azure API 管理的實例,並在子網上設定建議的 NSG 規則。 實例會部署到兩個可用性區域。 此範本也會從您的訂用帳戶設定公用IP位址。 |
使用自定義主機名建立 API 管理實例 |
此範本示範如何使用入口網站的自定義主機名和 Proxy 的多個自定義主機名來建立 Azure API 管理的實例 |
使用應用程式閘道在內部 VNet 中建立 API 管理 |
此範本示範如何在受 Azure 應用程式閘道保護的專用網上建立 Azure API 管理的實例。 |
使用公用IP 在內部 VNet 中部署 API 管理 |
此範本示範如何在虛擬網路子網內部的進階層中建立 Azure API 管理的實例,並在子網上設定建議的 NSG 規則。 實例會部署到兩個可用性區域。 此範本也會從您的訂用帳戶設定公用IP位址。 |
建立具有 MSI 身分識別 的 API 管理實例 |
此範本會建立具有 MSI 身分識別的 Azure API 管理的開發人員實例 |
建立多區域進階層 API 管理實例 |
此範本示範如何使用其他位置建立 API 管理實例。 主要位置與資源群組的位置相同。 針對其他位置,範本會顯示 NorthCentralUs 和美國東部 2。 主要位置應該不同於其他位置。 |
使用 KeyVault 使用自定義 Proxy ssl 建立 API 管理 |
此範本示範如何建立 Azure API 管理的實例,並使用keyvault的ssl憑證來設定 Proxy 的自定義主機名。 |
從 KeyVault 建立具有 SSL 的 API 管理服務 |
此範本會部署使用使用者指派身分識別設定的 API 管理服務。 它會使用此身分識別從 KeyVault 擷取 SSL 憑證,並每隔 4 小時檢查一次來保持更新。 |
建立和監視 API 管理實例 |
此範本會建立 Azure API 管理服務和 Log Analytics 工作區的實例,並使用 Log Analytics 設定 API 管理服務的監視 |
使用私人端點建立 API 管理服務 |
此範本會建立 API 管理服務、虛擬網路,以及將 API 管理服務公開至虛擬網路的私人端點。 |
將 API 管理部署到可用性區域 |
此範本會建立 Azure API 管理的進階實例,並部署到可用性區域 |
使用範本建立 API 管理實例 |
此範本會建立 Azure API 管理的開發人員實例 |
使用 API 管理來源 Front Door Standard/Premium |
此範本會建立 Front Door Premium 和 API 管理實例,並使用 NSG 和全域 API 管理原則來驗證流量是否通過 Front Door 來源。 |
在 Azure API 管理 前建立 Azure Front Door |
此範例示範如何在 Azure API 管理前使用 Azure Front Door 作為全域負載平衡器。 |
使用內部 API 管理和 Web 應用程式 |
應用程式閘道會將因特網流量路由傳送至虛擬網路(內部模式)API 管理實例,此實例會服務裝載於 Azure Web 應用程式中的 Web API。 |
ARM 樣本資源定義
服務資源類型可以使用目標作業來部署:
- 資源群組 - 請參閱 資源群組部署命令
如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔。
資源格式
若要建立 Microsoft.ApiManagement/服務資源,請將下列 JSON 新增至您的範本。
{
"type": "Microsoft.ApiManagement/service",
"apiVersion": "2023-09-01-preview",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"sku": {
"capacity": "int",
"name": "string"
},
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {
"clientId": "string",
"principalId": "string"
}
}
},
"properties": {
"additionalLocations": [
{
"disableGateway": "bool",
"location": "string",
"natGatewayState": "string",
"publicIpAddressId": "string",
"sku": {
"capacity": "int",
"name": "string"
},
"virtualNetworkConfiguration": {
"subnetResourceId": "string"
},
"zones": [ "string" ]
}
],
"apiVersionConstraint": {
"minApiVersion": "string"
},
"certificates": [
{
"certificate": {
"expiry": "string",
"subject": "string",
"thumbprint": "string"
},
"certificatePassword": "string",
"encodedCertificate": "string",
"storeName": "string"
}
],
"configurationApi": {
"legacyApi": "string"
},
"customProperties": {
"{customized property}": "string"
},
"developerPortalStatus": "string",
"disableGateway": "bool",
"enableClientCertificate": "bool",
"hostnameConfigurations": [
{
"certificate": {
"expiry": "string",
"subject": "string",
"thumbprint": "string"
},
"certificatePassword": "string",
"certificateSource": "string",
"certificateStatus": "string",
"defaultSslBinding": "bool",
"encodedCertificate": "string",
"hostName": "string",
"identityClientId": "string",
"keyVaultId": "string",
"negotiateClientCertificate": "bool",
"type": "string"
}
],
"legacyPortalStatus": "string",
"natGatewayState": "string",
"notificationSenderEmail": "string",
"privateEndpointConnections": [
{
"id": "string",
"name": "string",
"properties": {
"privateEndpoint": {},
"privateLinkServiceConnectionState": {
"actionsRequired": "string",
"description": "string",
"status": "string"
}
},
"type": "string"
}
],
"publicIpAddressId": "string",
"publicNetworkAccess": "string",
"publisherEmail": "string",
"publisherName": "string",
"restore": "bool",
"virtualNetworkConfiguration": {
"subnetResourceId": "string"
},
"virtualNetworkType": "string"
},
"zones": [ "string" ]
}
屬性值
服務
名字 | 描述 | 價值 |
---|---|---|
類型 | 資源類型 | 'Microsoft.ApiManagement/service' |
apiVersion | 資源 API 版本 | '2023-09-01-preview' |
名字 | 資源名稱 | 字串 (必要) 字元限制:1-50 合法字元: 英數位元和連字元。 以字母開頭,並以英數位元結尾。 資源名稱在整個 Azure 中必須是唯一的。 |
位置 | 資源位置。 | 字串 (必要) |
標籤 | 資源標籤。 | 標記名稱和值的字典。 請參閱範本中的 標籤 |
sku | API 管理服務的 SKU 屬性。 | ApiManagementServiceSkuProperties (必要) |
身份 | Api 管理服務的受控服務識別。 | ApiManagementServiceIdentity |
性能 | API 管理服務的屬性。 | ApiManagementServiceProperties (必要) |
區 | 可用性區域清單,表示資源需要來自何處。 | string[] |
ApiManagementServiceIdentity
名字 | 描述 | 價值 |
---|---|---|
類型 | 用於資源的身分識別類型。 類型 'SystemAssigned, UserAssigned' 包含隱含建立的身分識別和一組使用者指派的身分識別。 類型 『None』 會從服務中移除任何身分識別。 | 'None' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned' (必要) |
userAssignedIdentities | 與資源相關聯的使用者身分識別清單。 使用者身分識別 字典索引鍵參考的格式會是 ARM 資源識別碼: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'。 |
ApiManagementServiceIdentityUserAssignedIdentities |
ApiManagementServiceIdentityUserAssignedIdentities
名字 | 描述 | 價值 |
---|---|---|
{自定義屬性} | UserIdentityProperties |
UserIdentityProperties
名字 | 描述 | 價值 |
---|---|---|
clientId | 使用者指派身分識別的用戶端標識碼。 | 字串 |
principalId | 使用者指派身分識別的主體標識碼。 | 字串 |
ApiManagementServiceProperties
名字 | 描述 | 價值 |
---|---|---|
additionalLocations | API 管理服務的其他數據中心位置。 | AdditionalLocation[] |
apiVersionConstraint | API 管理服務的控制平面 API 版本條件約束。 | ApiVersionConstraint |
證書 | 需要在 API 管理服務中安裝的憑證清單。 可安裝的憑證數目上限為 10。 | CertificateConfiguration[] |
configurationApi | 設定 API 管理服務的 API 組態。 | ConfigurationApi |
customProperties | API 管理服務的自定義屬性。 設定 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 會停用所有 TLS 的加密TLS_RSA_WITH_3DES_EDE_CBC_SHA(1.0、1.1 和 1.2)。設定 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 可用來只停用 TLS 1.1。設定 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 可用來停用 API 管理服務上的 TLS 1.0。設定 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 可用來只停用 TLS 1.1 與後端的通訊。設定 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 可用來停用 TLS 1.0 來與後端通訊。設定 Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 可用來在 API 管理服務上啟用 HTTP2 通訊協定。在 PATCH 作業上未指定任何這些屬性,將會將省略的屬性值重設為預設值。 針對 Http2 以外的所有設定,如果服務是在 2018 年 4 月 1 日或之前建立,則預設值會 True ,否則為 False 。 Http2 設定預設值為 False 。您可以使用設定 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name] 停用下列任何加密:TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA、TLS_RSA_WITH_AES_128_GCM_SHA256、TLS_RSA_WITH_AES_256_CBC_SHA256、 TLS_RSA_WITH_AES_128_CBC_SHA256、TLS_RSA_WITH_AES_256_CBC_SHA、TLS_RSA_WITH_AES_128_CBC_SHA。 例如,Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256 :false 。 預設值為 true 。注意:由於內部平臺元件需要下列密碼,因此無法停用:TLS_AES_256_GCM_SHA384、TLS_AES_128_GCM_SHA256、TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384、TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256、TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384、TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 |
ApiManagementServiceBasePropertiesCustomProperties |
developerPortalStatus | 此 API 管理服務中的開發人員入口網站狀態。 | 'Disabled' 'Enabled' |
disableGateway | 屬性僅適用於部署在多個位置的 Api 管理服務。 這可用來停用主要區域中的閘道。 | bool |
enableClientCertificate | 屬性僅供取用 SKU 服務使用。 這會強制在閘道的每個要求上顯示客戶端憑證。 這也可讓您在閘道的原則中驗證憑證。 | bool |
hostnameConfigurations | API 管理服務的自定義主機名組態。 | HostnameConfiguration[] |
legacyPortalStatus | API 管理服務中舊版入口網站的狀態。 | 'Disabled' 'Enabled' |
natGatewayState | 屬性可用來啟用此 API 管理服務的 NAT 閘道。 | 'Disabled' 'Enabled' |
notificationSenderEmail | 將傳送通知的電子郵件位址。 | 字串 約束: 最大長度 = 100 |
privateEndpointConnections | 此服務的私人端點連線清單。 | RemotePrivateEndpointConnectionWrapper[] |
publicIpAddressId | 要與區域中部署的虛擬網路服務相關聯的公用標準 SKU IP V4 型 IP 位址。 僅支援虛擬網路中部署的開發人員和進階 SKU。 | 字串 |
publicNetworkAccess | 此 API 管理服務是否允許公用端點存取。 值為選擇性值,但如果傳入,則必須是 『Enabled』 或 'Disabled'。 如果為 『Disabled』,私人端點就是獨佔存取方法。 預設值為 'Enabled' | 'Disabled' 'Enabled' |
publisherEmail | 發行者電子郵件。 | 字串 (必要) 約束: 最大長度 = 100 |
publisherName | 發行者名稱。 | 字串 (必要) 約束: 最大長度 = 100 |
恢復 | 如果先前已虛刪除,請取消刪除 Api 管理服務。 如果指定此旗標,並將 設定為 True,則會忽略所有其他屬性。 | bool |
virtualNetworkConfiguration | API 管理服務的虛擬網路組態。 | VirtualNetworkConfiguration |
virtualNetworkType | 必須在其中設定 API 管理服務的 VPN 類型。 無 (預設值) 表示 API 管理服務不屬於任何虛擬網路,外部表示 API 管理部署是在具有因特網面向端點的虛擬網路內設定,而內部表示 API 管理部署只會在具有內部網路對向端點的虛擬網路內進行設定。 | 'External' 'Internal' 'None' |
AdditionalLocation
名字 | 描述 | 價值 |
---|---|---|
disableGateway | 屬性僅適用於部署在多個位置的 Api 管理服務。 這可用來停用此額外位置中的閘道。 | bool |
位置 | Azure 資料中心區域之間其他區域的位置名稱。 | 字串 (必要) |
natGatewayState | 屬性可用來啟用此 API 管理服務的 NAT 閘道。 | 'Disabled' 'Enabled' |
publicIpAddressId | 要與位置中部署的虛擬網路服務相關聯的公用標準 SKU IP V4 型 IP 位址。 僅支援虛擬網路中部署的進階 SKU。 | 字串 |
sku | API 管理服務的 SKU 屬性。 | ApiManagementServiceSkuProperties (必要) |
virtualNetworkConfiguration | 位置的虛擬網路組態。 | VirtualNetworkConfiguration |
區 | 可用性區域清單,表示資源需要來自何處。 | string[] |
ApiManagementServiceSkuProperties
名字 | 描述 | 價值 |
---|---|---|
能力 | SKU 的容量(SKU 的部署單位數目)。 針對 [取用 SKU 容量] 必須指定為 0。 | int (必要) |
名字 | Sku 的名稱。 | 'Standard' 'WorkspaceGatewayPremium' 'WorkspaceGatewayStandard' (必要) |
VirtualNetworkConfiguration
名字 | 描述 | 價值 |
---|---|---|
subnetResourceId | 虛擬網路中要部署 API 管理服務之子網的完整資源識別碼。 | 字串 約束: Pattern = ^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$ |
ApiVersionConstraint
名字 | 描述 | 價值 |
---|---|---|
minApiVersion | 限制對 API 管理服務的控制平面 API 呼叫,其版本等於或大於此值。 | 字串 |
CertificateConfiguration
名字 | 描述 | 價值 |
---|---|---|
證書 | 憑證資訊。 | CertificateInformation |
certificatePassword | 憑證密碼。 | 字串 |
encodedCertificate | Base64 編碼憑證。 | 字串 |
storeName | System.Security.Cryptography.x509certificates.StoreName 證書存儲位置。 只有 Root 和 CertificateAuthority 是有效的位置。 | 'CertificateAuthority' 'Root' (必要) |
CertificateInformation
名字 | 描述 | 價值 |
---|---|---|
滿期 | 憑證的到期日。 日期符合下列格式:yyyy-MM-ddTHH:mm:ssZ ISO 8601 標準所指定。 |
字串 (必要) |
主題 | 憑證的主體。 | 字串 (必要) |
指紋 | 憑證的指紋。 | 字串 (必要) |
ConfigurationApi
名字 | 描述 | 價值 |
---|---|---|
legacyApi | 指示是否應該在 API 管理服務上公開舊版組態 API (v1)。 值為選擇性值,但必須是 『Enabled』 或 『Disabled』。 如果 「已停用」,舊版設定 API (v1) 將無法用於自我裝載閘道。 預設值為 'Enabled' | 'Disabled' 'Enabled' |
ApiManagementServiceBasePropertiesCustomProperties
名字 | 描述 | 價值 |
---|---|---|
{自定義屬性} | 字串 |
HostnameConfiguration
名字 | 描述 | 價值 |
---|---|---|
證書 | 憑證資訊。 | CertificateInformation |
certificatePassword | 憑證密碼。 | 字串 |
certificateSource | 憑證來源。 | 'BuiltIn' 'Custom' 'KeyVault' 'Managed' |
certificateStatus | 憑證狀態。 | 'Completed' 'Failed' 'InProgress' |
defaultSslBinding | 指定 true,將與此主機名相關聯的憑證設定為預設 SSL 憑證。 如果用戶端未傳送 SNI 標頭,則這會是將會受到挑戰的憑證。 如果服務已啟用多個自定義主機名,且必須決定預設ssl憑證,則屬性會很有用。 僅套用至閘道主機名稱類型的設定。 | bool |
encodedCertificate | Base64 編碼憑證。 | 字串 |
hostName | 在 Api 管理服務上設定的主機名。 | 字串 (必要) |
identityClientId | Azure AD 所產生的系統或使用者指派受控識別 clientId,其具有包含 SSL 憑證之 keyVault 的 GET 存取權。 | 字串 |
keyVaultId | 包含 Ssl 憑證之 KeyVault 秘密的 URL。 如果提供包含版本的絕對 URL,SSL 憑證的自動更新將無法運作。 這需要使用 aka.ms/apimmsi 來設定 Api 管理服務。 秘密的類型應 為 application/x-pkcs12 | 字串 |
negotiateClientCertificate | 指定 true 以一律交涉主機名上的客戶端憑證。 默認值為 false。 | bool |
類型 | 主機名類型。 | 'ConfigurationApi' 'DeveloperPortal' 'Management' 'Portal' 'Proxy' 'Scm' (必要) |
RemotePrivateEndpointConnectionWrapper
名字 | 描述 | 價值 |
---|---|---|
id | 私人端點聯機資源標識碼 | 字串 |
名字 | 私人端點連線名稱 | 字串 |
性能 | 資源屬性。 | PrivateEndpointConnectionWrapperProperties |
類型 | 私人端點連線資源類型 | 字串 |
PrivateEndpointConnectionWrapperProperties
名字 | 描述 | 價值 |
---|---|---|
privateEndpoint | 私人端點的資源。 | ArmIdWrapper |
privateLinkServiceConnectionState | 服務取用者與提供者之間連線狀態的相關信息集合。 | PrivateLinkServiceConnectionState (必要) |
ArmIdWrapper
此物件不包含在部署期間設定的任何屬性。 所有屬性都是 ReadOnly。
PrivateLinkServiceConnectionState
名字 | 描述 | 價值 |
---|---|---|
actionsRequired | 訊息,指出服務提供者上的變更是否需要取用者的任何更新。 | 字串 |
描述 | 核准/拒絕連線的原因。 | 字串 |
地位 | 指出服務擁有者是否已核准/拒絕/移除連線。 | 「已核准」 'Pending' 'Rejected' |
快速入門範本
下列快速入門範本會部署此資源類型。
範本 | 描述 |
---|---|
使用範本 建立 API 管理實例和所有子資源 |
此範本示範如何建立 API 管理服務及設定子實體 |
使用外部 Azure Cache for Redis 部署 API 管理 |
此範本示範如何使用外部 Azure Cache for Redis 實例作為 API 管理外部快取,在取用層中建立 Azure API 管理的實例。 |
使用公用IP 在外部 VNet 中部署 API 管理 |
此範本示範如何在虛擬網路子網外部模式的進階層中建立 Azure API 管理的實例,並在子網上設定建議的 NSG 規則。 實例會部署到兩個可用性區域。 此範本也會從您的訂用帳戶設定公用IP位址。 |
使用自定義主機名建立 API 管理實例 |
此範本示範如何使用入口網站的自定義主機名和 Proxy 的多個自定義主機名來建立 Azure API 管理的實例 |
使用應用程式閘道在內部 VNet 中建立 API 管理 |
此範本示範如何在受 Azure 應用程式閘道保護的專用網上建立 Azure API 管理的實例。 |
使用公用IP 在內部 VNet 中部署 API 管理 |
此範本示範如何在虛擬網路子網內部的進階層中建立 Azure API 管理的實例,並在子網上設定建議的 NSG 規則。 實例會部署到兩個可用性區域。 此範本也會從您的訂用帳戶設定公用IP位址。 |
建立具有 MSI 身分識別 的 API 管理實例 |
此範本會建立具有 MSI 身分識別的 Azure API 管理的開發人員實例 |
建立多區域進階層 API 管理實例 |
此範本示範如何使用其他位置建立 API 管理實例。 主要位置與資源群組的位置相同。 針對其他位置,範本會顯示 NorthCentralUs 和美國東部 2。 主要位置應該不同於其他位置。 |
使用 KeyVault 使用自定義 Proxy ssl 建立 API 管理 |
此範本示範如何建立 Azure API 管理的實例,並使用keyvault的ssl憑證來設定 Proxy 的自定義主機名。 |
從 KeyVault 建立具有 SSL 的 API 管理服務 |
此範本會部署使用使用者指派身分識別設定的 API 管理服務。 它會使用此身分識別從 KeyVault 擷取 SSL 憑證,並每隔 4 小時檢查一次來保持更新。 |
建立和監視 API 管理實例 |
此範本會建立 Azure API 管理服務和 Log Analytics 工作區的實例,並使用 Log Analytics 設定 API 管理服務的監視 |
使用私人端點建立 API 管理服務 |
此範本會建立 API 管理服務、虛擬網路,以及將 API 管理服務公開至虛擬網路的私人端點。 |
將 API 管理部署到可用性區域 |
此範本會建立 Azure API 管理的進階實例,並部署到可用性區域 |
使用範本建立 API 管理實例 |
此範本會建立 Azure API 管理的開發人員實例 |
使用 API 管理來源 Front Door Standard/Premium |
此範本會建立 Front Door Premium 和 API 管理實例,並使用 NSG 和全域 API 管理原則來驗證流量是否通過 Front Door 來源。 |
在 Azure API 管理 前建立 Azure Front Door |
此範例示範如何在 Azure API 管理前使用 Azure Front Door 作為全域負載平衡器。 |
使用內部 API 管理和 Web 應用程式 |
應用程式閘道會將因特網流量路由傳送至虛擬網路(內部模式)API 管理實例,此實例會服務裝載於 Azure Web 應用程式中的 Web API。 |
Terraform (AzAPI 提供者) 資源定義
服務資源類型可以使用目標作業來部署:
- 資源群組
如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔。
資源格式
若要建立 Microsoft.ApiManagement/service 資源,請將下列 Terraform 新增至您的範本。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.ApiManagement/service@2023-09-01-preview"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
identity {
type = "string"
identity_ids = []
}
body = jsonencode({
properties = {
additionalLocations = [
{
disableGateway = bool
location = "string"
natGatewayState = "string"
publicIpAddressId = "string"
sku = {
capacity = int
name = "string"
}
virtualNetworkConfiguration = {
subnetResourceId = "string"
}
zones = [
"string"
]
}
]
apiVersionConstraint = {
minApiVersion = "string"
}
certificates = [
{
certificate = {
expiry = "string"
subject = "string"
thumbprint = "string"
}
certificatePassword = "string"
encodedCertificate = "string"
storeName = "string"
}
]
configurationApi = {
legacyApi = "string"
}
customProperties = {
{customized property} = "string"
}
developerPortalStatus = "string"
disableGateway = bool
enableClientCertificate = bool
hostnameConfigurations = [
{
certificate = {
expiry = "string"
subject = "string"
thumbprint = "string"
}
certificatePassword = "string"
certificateSource = "string"
certificateStatus = "string"
defaultSslBinding = bool
encodedCertificate = "string"
hostName = "string"
identityClientId = "string"
keyVaultId = "string"
negotiateClientCertificate = bool
type = "string"
}
]
legacyPortalStatus = "string"
natGatewayState = "string"
notificationSenderEmail = "string"
privateEndpointConnections = [
{
id = "string"
name = "string"
properties = {
privateEndpoint = {}
privateLinkServiceConnectionState = {
actionsRequired = "string"
description = "string"
status = "string"
}
}
type = "string"
}
]
publicIpAddressId = "string"
publicNetworkAccess = "string"
publisherEmail = "string"
publisherName = "string"
restore = bool
virtualNetworkConfiguration = {
subnetResourceId = "string"
}
virtualNetworkType = "string"
}
zones = [
"string"
]
sku = {
capacity = int
name = "string"
}
})
}
屬性值
服務
名字 | 描述 | 價值 |
---|---|---|
類型 | 資源類型 | “Microsoft.ApiManagement/service@2023-09-01-preview” |
名字 | 資源名稱 | 字串 (必要) 字元限制:1-50 合法字元: 英數位元和連字元。 以字母開頭,並以英數位元結尾。 資源名稱在整個 Azure 中必須是唯一的。 |
位置 | 資源位置。 | 字串 (必要) |
parent_id | 若要部署至資源群組,請使用該資源群組的標識碼。 | 字串 (必要) |
標籤 | 資源標籤。 | 標記名稱和值的字典。 |
sku | API 管理服務的 SKU 屬性。 | ApiManagementServiceSkuProperties (必要) |
身份 | Api 管理服務的受控服務識別。 | ApiManagementServiceIdentity |
性能 | API 管理服務的屬性。 | ApiManagementServiceProperties (必要) |
區 | 可用性區域清單,表示資源需要來自何處。 | string[] |
ApiManagementServiceIdentity
名字 | 描述 | 價值 |
---|---|---|
類型 | 用於資源的身分識別類型。 類型 'SystemAssigned, UserAssigned' 包含隱含建立的身分識別和一組使用者指派的身分識別。 類型 『None』 會從服務中移除任何身分識別。 | “SystemAssigned” “SystemAssigned, UserAssigned” “UserAssigned” (必要) |
identity_ids | 與資源相關聯的使用者身分識別清單。 使用者身分識別 字典索引鍵參考的格式會是 ARM 資源識別碼: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'。 |
使用者身分識別標識碼的陣列。 |
ApiManagementServiceIdentityUserAssignedIdentities
名字 | 描述 | 價值 |
---|---|---|
{自定義屬性} | UserIdentityProperties |
UserIdentityProperties
名字 | 描述 | 價值 |
---|---|---|
clientId | 使用者指派身分識別的用戶端標識碼。 | 字串 |
principalId | 使用者指派身分識別的主體標識碼。 | 字串 |
ApiManagementServiceProperties
名字 | 描述 | 價值 |
---|---|---|
additionalLocations | API 管理服務的其他數據中心位置。 | AdditionalLocation[] |
apiVersionConstraint | API 管理服務的控制平面 API 版本條件約束。 | ApiVersionConstraint |
證書 | 需要在 API 管理服務中安裝的憑證清單。 可安裝的憑證數目上限為 10。 | CertificateConfiguration[] |
configurationApi | 設定 API 管理服務的 API 組態。 | ConfigurationApi |
customProperties | API 管理服務的自定義屬性。 設定 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 會停用所有 TLS 的加密TLS_RSA_WITH_3DES_EDE_CBC_SHA(1.0、1.1 和 1.2)。設定 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 可用來只停用 TLS 1.1。設定 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 可用來停用 API 管理服務上的 TLS 1.0。設定 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11 可用來只停用 TLS 1.1 與後端的通訊。設定 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10 可用來停用 TLS 1.0 來與後端通訊。設定 Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2 可用來在 API 管理服務上啟用 HTTP2 通訊協定。在 PATCH 作業上未指定任何這些屬性,將會將省略的屬性值重設為預設值。 針對 Http2 以外的所有設定,如果服務是在 2018 年 4 月 1 日或之前建立,則預設值會 True ,否則為 False 。 Http2 設定預設值為 False 。您可以使用設定 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name] 停用下列任何加密:TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA、TLS_RSA_WITH_AES_128_GCM_SHA256、TLS_RSA_WITH_AES_256_CBC_SHA256、 TLS_RSA_WITH_AES_128_CBC_SHA256、TLS_RSA_WITH_AES_256_CBC_SHA、TLS_RSA_WITH_AES_128_CBC_SHA。 例如,Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256 :false 。 預設值為 true 。注意:由於內部平臺元件需要下列密碼,因此無法停用:TLS_AES_256_GCM_SHA384、TLS_AES_128_GCM_SHA256、TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384、TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256、TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384、TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 |
ApiManagementServiceBasePropertiesCustomProperties |
developerPortalStatus | 此 API 管理服務中的開發人員入口網站狀態。 | “Disabled” “Enabled” |
disableGateway | 屬性僅適用於部署在多個位置的 Api 管理服務。 這可用來停用主要區域中的閘道。 | bool |
enableClientCertificate | 屬性僅供取用 SKU 服務使用。 這會強制在閘道的每個要求上顯示客戶端憑證。 這也可讓您在閘道的原則中驗證憑證。 | bool |
hostnameConfigurations | API 管理服務的自定義主機名組態。 | HostnameConfiguration[] |
legacyPortalStatus | API 管理服務中舊版入口網站的狀態。 | “Disabled” “Enabled” |
natGatewayState | 屬性可用來啟用此 API 管理服務的 NAT 閘道。 | “Disabled” “Enabled” |
notificationSenderEmail | 將傳送通知的電子郵件位址。 | 字串 約束: 最大長度 = 100 |
privateEndpointConnections | 此服務的私人端點連線清單。 | RemotePrivateEndpointConnectionWrapper[] |
publicIpAddressId | 要與區域中部署的虛擬網路服務相關聯的公用標準 SKU IP V4 型 IP 位址。 僅支援虛擬網路中部署的開發人員和進階 SKU。 | 字串 |
publicNetworkAccess | 此 API 管理服務是否允許公用端點存取。 值為選擇性值,但如果傳入,則必須是 『Enabled』 或 'Disabled'。 如果為 『Disabled』,私人端點就是獨佔存取方法。 預設值為 'Enabled' | “Disabled” “Enabled” |
publisherEmail | 發行者電子郵件。 | 字串 (必要) 約束: 最大長度 = 100 |
publisherName | 發行者名稱。 | 字串 (必要) 約束: 最大長度 = 100 |
恢復 | 如果先前已虛刪除,請取消刪除 Api 管理服務。 如果指定此旗標,並將 設定為 True,則會忽略所有其他屬性。 | bool |
virtualNetworkConfiguration | API 管理服務的虛擬網路組態。 | VirtualNetworkConfiguration |
virtualNetworkType | 必須在其中設定 API 管理服務的 VPN 類型。 無 (預設值) 表示 API 管理服務不屬於任何虛擬網路,外部表示 API 管理部署是在具有因特網面向端點的虛擬網路內設定,而內部表示 API 管理部署只會在具有內部網路對向端點的虛擬網路內進行設定。 | “External” “Internal” “None” |
AdditionalLocation
名字 | 描述 | 價值 |
---|---|---|
disableGateway | 屬性僅適用於部署在多個位置的 Api 管理服務。 這可用來停用此額外位置中的閘道。 | bool |
位置 | Azure 資料中心區域之間其他區域的位置名稱。 | 字串 (必要) |
natGatewayState | 屬性可用來啟用此 API 管理服務的 NAT 閘道。 | “Disabled” “Enabled” |
publicIpAddressId | 要與位置中部署的虛擬網路服務相關聯的公用標準 SKU IP V4 型 IP 位址。 僅支援虛擬網路中部署的進階 SKU。 | 字串 |
sku | API 管理服務的 SKU 屬性。 | ApiManagementServiceSkuProperties (必要) |
virtualNetworkConfiguration | 位置的虛擬網路組態。 | VirtualNetworkConfiguration |
區 | 可用性區域清單,表示資源需要來自何處。 | string[] |
ApiManagementServiceSkuProperties
名字 | 描述 | 價值 |
---|---|---|
能力 | SKU 的容量(SKU 的部署單位數目)。 針對 [取用 SKU 容量] 必須指定為 0。 | int (必要) |
名字 | Sku 的名稱。 | “Standard” “WorkspaceGatewayPremium” “WorkspaceGatewayStandard” (必要) |
VirtualNetworkConfiguration
名字 | 描述 | 價值 |
---|---|---|
subnetResourceId | 虛擬網路中要部署 API 管理服務之子網的完整資源識別碼。 | 字串 約束: Pattern = ^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$ |
ApiVersionConstraint
名字 | 描述 | 價值 |
---|---|---|
minApiVersion | 限制對 API 管理服務的控制平面 API 呼叫,其版本等於或大於此值。 | 字串 |
CertificateConfiguration
名字 | 描述 | 價值 |
---|---|---|
證書 | 憑證資訊。 | CertificateInformation |
certificatePassword | 憑證密碼。 | 字串 |
encodedCertificate | Base64 編碼憑證。 | 字串 |
storeName | System.Security.Cryptography.x509certificates.StoreName 證書存儲位置。 只有 Root 和 CertificateAuthority 是有效的位置。 | “CertificateAuthority” “Root” (必要) |
CertificateInformation
名字 | 描述 | 價值 |
---|---|---|
滿期 | 憑證的到期日。 日期符合下列格式:yyyy-MM-ddTHH:mm:ssZ ISO 8601 標準所指定。 |
字串 (必要) |
主題 | 憑證的主體。 | 字串 (必要) |
指紋 | 憑證的指紋。 | 字串 (必要) |
ConfigurationApi
名字 | 描述 | 價值 |
---|---|---|
legacyApi | 指示是否應該在 API 管理服務上公開舊版組態 API (v1)。 值為選擇性值,但必須是 『Enabled』 或 『Disabled』。 如果 「已停用」,舊版設定 API (v1) 將無法用於自我裝載閘道。 預設值為 'Enabled' | “Disabled” “Enabled” |
ApiManagementServiceBasePropertiesCustomProperties
名字 | 描述 | 價值 |
---|---|---|
{自定義屬性} | 字串 |
HostnameConfiguration
名字 | 描述 | 價值 |
---|---|---|
證書 | 憑證資訊。 | CertificateInformation |
certificatePassword | 憑證密碼。 | 字串 |
certificateSource | 憑證來源。 | “BuiltIn” “Custom” “KeyVault” “Managed” |
certificateStatus | 憑證狀態。 | “Completed” “Failed” “InProgress” |
defaultSslBinding | 指定 true,將與此主機名相關聯的憑證設定為預設 SSL 憑證。 如果用戶端未傳送 SNI 標頭,則這會是將會受到挑戰的憑證。 如果服務已啟用多個自定義主機名,且必須決定預設ssl憑證,則屬性會很有用。 僅套用至閘道主機名稱類型的設定。 | bool |
encodedCertificate | Base64 編碼憑證。 | 字串 |
hostName | 在 Api 管理服務上設定的主機名。 | 字串 (必要) |
identityClientId | Azure AD 所產生的系統或使用者指派受控識別 clientId,其具有包含 SSL 憑證之 keyVault 的 GET 存取權。 | 字串 |
keyVaultId | 包含 Ssl 憑證之 KeyVault 秘密的 URL。 如果提供包含版本的絕對 URL,SSL 憑證的自動更新將無法運作。 這需要使用 aka.ms/apimmsi 來設定 Api 管理服務。 秘密的類型應 為 application/x-pkcs12 | 字串 |
negotiateClientCertificate | 指定 true 以一律交涉主機名上的客戶端憑證。 默認值為 false。 | bool |
類型 | 主機名類型。 | “ConfigurationApi” “DeveloperPortal” “Management” “Portal” “Proxy” “Scm” (必要) |
RemotePrivateEndpointConnectionWrapper
名字 | 描述 | 價值 |
---|---|---|
id | 私人端點聯機資源標識碼 | 字串 |
名字 | 私人端點連線名稱 | 字串 |
性能 | 資源屬性。 | PrivateEndpointConnectionWrapperProperties |
類型 | 私人端點連線資源類型 | 字串 |
PrivateEndpointConnectionWrapperProperties
名字 | 描述 | 價值 |
---|---|---|
privateEndpoint | 私人端點的資源。 | ArmIdWrapper |
privateLinkServiceConnectionState | 服務取用者與提供者之間連線狀態的相關信息集合。 | PrivateLinkServiceConnectionState (必要) |
ArmIdWrapper
此物件不包含在部署期間設定的任何屬性。 所有屬性都是 ReadOnly。
PrivateLinkServiceConnectionState
名字 | 描述 | 價值 |
---|---|---|
actionsRequired | 訊息,指出服務提供者上的變更是否需要取用者的任何更新。 | 字串 |
描述 | 核准/拒絕連線的原因。 | 字串 |
地位 | 指出服務擁有者是否已核准/拒絕/移除連線。 | 「已核准」 “Pending” 「已拒絕」 |