Microsoft.ApiManagement 서비스
Bicep 리소스 정의
다음을 대상으로 하는 작업으로 서비스 리소스 유형을 배포할 수 있습니다.
- 리소스 그룹 - 리소스 그룹 배포 명령 참조
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
리소스 형식
Microsoft.ApiManagement/서비스 리소스를 만들려면 템플릿에 다음 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'
]
}
속성 값
서비스
이름 | 묘사 | 값 |
---|---|---|
이름 | 리소스 이름 | string(필수) 문자 제한: 1-50 유효한 문자: 영숫자 및 하이픈 문자로 시작하고 영숫자로 끝납니다. 리소스 이름은 Azure에서 고유해야 합니다. |
위치 | 리소스 위치입니다. | string(필수) |
태그 | 리소스 태그. | 태그 이름 및 값의 사전입니다. 템플릿 |
sku | API Management 서비스의 SKU 속성입니다. | ApiManagementServiceSkuProperties(필수) |
신원 | Api Management 서비스의 관리 서비스 ID입니다. | ApiManagementServiceIdentity |
속성 | API Management 서비스의 속성입니다. | ApiManagementServiceProperties(필수) |
영역 | 리소스의 원본 위치를 나타내는 가용성 영역 목록입니다. | string[] |
ApiManagementServiceIdentity
이름 | 묘사 | 값 |
---|---|---|
형 | 리소스에 사용되는 ID의 형식입니다. 'SystemAssigned, UserAssigned' 형식에는 암시적으로 생성된 ID와 사용자 할당 ID 집합이 모두 포함됩니다. 'None' 형식은 서비스에서 모든 ID를 제거합니다. | 'None' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned'(필수) |
userAssignedIdentities | 리소스와 연결된 사용자 ID 목록입니다. 사용자 ID 사전 키 참조는 양식의 ARM 리소스 ID입니다. '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. |
ApiManagementServiceIdentityUserAssignedIdentities |
ApiManagementServiceIdentityUserAssignedIdentities
이름 | 묘사 | 값 |
---|---|---|
{customized property} | UserIdentityProperties |
UserIdentityProperties
이름 | 묘사 | 값 |
---|---|---|
clientId | 사용자 할당 ID의 클라이언트 ID입니다. | 문자열 |
principalId | 사용자 할당 ID의 보안 주체 ID입니다. | 문자열 |
ApiManagementServiceProperties
이름 | 묘사 | 값 |
---|---|---|
additionalLocations | API Management 서비스의 추가 데이터 센터 위치입니다. | AdditionalLocation[] |
apiVersionConstraint | API Management 서비스에 대한 컨트롤 플레인 API 버전 제약 조건입니다. | ApiVersionConstraint |
인증서 | API Management 서비스에 설치해야 하는 인증서 목록입니다. 설치할 수 있는 지원되는 최대 인증서는 10개입니다. | CertificateConfiguration[] |
configurationApi | API Management 서비스의 구성 API 구성입니다. | ConfigurationApi |
customProperties | API Management 서비스의 사용자 지정 속성입니다.Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 설정하면 모든 TLS(1.0, 1.1 및 1.2)에 대한 암호화 TLS_RSA_WITH_3DES_EDE_CBC_SHA 비활성화됩니다.Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 설정은 TLS 1.1만 사용하지 않도록 설정하는 데 사용할 수 있습니다.Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 설정은 API Management 서비스에서 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 Management 서비스에서 HTTP2 프로토콜을 사용하도록 설정하는 데 사용할 수 있습니다.PATCH 작업에서 이러한 속성을 지정하지 않으면 생략된 속성의 값이 기본값으로 다시 설정됩니다. Http2를 제외한 모든 설정의 경우 서비스가 2018년 4월 1일 또는 그 이전에 만들어진 경우 기본값이 True , 그렇지 않으면 False . Http2 설정의 기본값은 False .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 등의 설정 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name] 사용하여 암호화를 사용하지 않도록 설정할 수 있습니다. 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 Management 서비스의 개발자 포털 상태입니다. | '사용 안 함' 'Enabled' |
disableGateway | 속성은 여러 위치에 배포된 Api Management 서비스에만 유효합니다. 마스터 지역에서 게이트웨이를 사용하지 않도록 설정하는 데 사용할 수 있습니다. | bool |
enableClientCertificate | 속성은 소비 SKU 서비스에만 사용됩니다. 이렇게 하면 게이트웨이에 대한 각 요청에 대해 클라이언트 인증서가 표시됩니다. 이렇게 하면 게이트웨이의 정책에서 인증서를 인증하는 기능도 사용할 수 있습니다. | bool |
hostnameConfigurations | API Management 서비스의 사용자 지정 호스트 이름 구성입니다. | hostnameConfiguration |
legacyPortalStatus | API Management 서비스의 레거시 포털 상태입니다. | '사용 안 함' 'Enabled' |
natGatewayState | 이 API Management 서비스에 NAT 게이트웨이를 사용하도록 설정하는 데 속성을 사용할 수 있습니다. | '사용 안 함' 'Enabled' |
notificationSenderEmail | 알림을 보낼 전자 메일 주소입니다. | 문자열 제약 조건: 최대 길이 = 100 |
privateEndpointConnections | 이 서비스의 프라이빗 엔드포인트 연결 목록입니다. | remotePrivateEndpointConnectionWrapper |
publicIpAddressId | 지역에서 Virtual Network 배포 서비스와 연결할 공용 표준 SKU IP V4 기반 IP 주소입니다. Virtual Network에 배포되는 개발자 및 프리미엄 SKU에 대해서만 지원됩니다. | 문자열 |
publicNetworkAccess | 이 API Management 서비스에 대한 퍼블릭 엔드포인트 액세스가 허용되는지 여부입니다. 값은 선택 사항이지만 전달된 경우 '사용' 또는 '사용 안 함'이어야 합니다. 'Disabled'인 경우 프라이빗 엔드포인트는 전용 액세스 방법입니다. 기본값은 'Enabled'입니다. | '사용 안 함' 'Enabled' |
publisherEmail | 게시자 전자 메일입니다. | string(필수) 제약 조건: 최대 길이 = 100 |
publisherName | 게시자 이름입니다. | string(필수) 제약 조건: 최대 길이 = 100 |
복원 | 이전에 일시 삭제된 경우 Api Management 서비스를 삭제 취소합니다. 이 플래그를 지정하고 True로 설정하면 다른 모든 속성은 무시됩니다. | bool |
virtualNetworkConfiguration | API Management 서비스의 가상 네트워크 구성입니다. | virtualNetworkConfiguration |
virtualNetworkType | API Management 서비스를 구성해야 하는 VPN의 유형입니다. 없음(기본값)은 API Management 서비스가 Virtual Network의 일부가 아님을 의미하고, 외부는 API Management 배포가 인터넷 연결 엔드포인트가 있는 Virtual Network 내에 설정됨을 의미하며, 내부는 인트라넷 연결 엔드포인트만 있는 Virtual Network 내에서 API Management 배포가 설정됨을 의미합니다. | 'External' 'Internal' 'None' |
AdditionalLocation
이름 | 묘사 | 값 |
---|---|---|
disableGateway | 속성은 여러 위치에 배포된 Api Management 서비스에만 유효합니다. 이 추가 위치에서 게이트웨이를 사용하지 않도록 설정하는 데 사용할 수 있습니다. | bool |
위치 | Azure 데이터 센터 지역 간의 추가 지역의 위치 이름입니다. | string(필수) |
natGatewayState | 이 API Management 서비스에 NAT 게이트웨이를 사용하도록 설정하는 데 속성을 사용할 수 있습니다. | '사용 안 함' 'Enabled' |
publicIpAddressId | 위치에서 Virtual Network 배포 서비스와 연결할 공용 표준 SKU IP V4 기반 IP 주소입니다. Virtual Network에 배포되는 프리미엄 SKU에 대해서만 지원됩니다. | 문자열 |
sku | API Management 서비스의 SKU 속성입니다. | ApiManagementServiceSkuProperties(필수) |
virtualNetworkConfiguration | 위치에 대한 가상 네트워크 구성입니다. | virtualNetworkConfiguration |
영역 | 리소스의 원본 위치를 나타내는 가용성 영역 목록입니다. | string[] |
ApiManagementServiceSkuProperties
이름 | 묘사 | 값 |
---|---|---|
용량 | SKU의 용량(SKU의 배포된 단위 수)입니다. 소비 SKU 용량의 경우 0으로 지정해야 합니다. | int(필수) |
이름 | Sku의 이름입니다. | 'Standard' 'WorkspaceGatewayPremium' 'WorkspaceGatewayStandard'(필수) |
VirtualNetworkConfiguration
이름 | 묘사 | 값 |
---|---|---|
subnetResourceId | API Management 서비스를 배포할 가상 네트워크에 있는 서브넷의 전체 리소스 ID입니다. | 문자열 제약 조건: 패턴 = ^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$ |
ApiVersionConstraint
이름 | 묘사 | 값 |
---|---|---|
minApiVersion | 이 값보다 같거나 최신 버전인 API Management 서비스에 대한 제어 평면 API 호출을 제한합니다. | 문자열 |
CertificateConfiguration
이름 | 묘사 | 값 |
---|---|---|
증명서 | 인증서 정보입니다. | CertificateInformation |
certificatePassword | 인증서 암호입니다. | 문자열 |
encodedCertificate | Base64로 인코딩된 인증서입니다. | 문자열 |
storeName | System.Security.Cryptography.x509certificates.StoreName 인증서 저장소 위치입니다. 루트 및 CertificateAuthority만 유효한 위치입니다. | 'CertificateAuthority' 'Root'(필수) |
CertificateInformation
이름 | 묘사 | 값 |
---|---|---|
만료 | 인증서의 만료 날짜입니다. 날짜는 ISO 8601 표준에 지정된 yyyy-MM-ddTHH:mm:ssZ 형식을 준수합니다. |
string(필수) |
제목 | 인증서의 주체입니다. | string(필수) |
지문 | 인증서의 지문입니다. | string(필수) |
ConfigurationApi
이름 | 묘사 | 값 |
---|---|---|
legacyApi | 레거시 구성 API(v1)를 API Management 서비스에 노출해야 하는지 여부를 나타냅니다. 값은 선택 사항이지만 '사용' 또는 '사용 안 함'이어야 합니다. '사용 안 함'이면 자체 호스팅 게이트웨이에 레거시 구성 API(v1)를 사용할 수 없습니다. 기본값은 'Enabled'입니다. | '사용 안 함' 'Enabled' |
ApiManagementServiceBasePropertiesCustomProperties
이름 | 묘사 | 값 |
---|---|---|
{customized property} | 문자열 |
HostnameConfiguration
이름 | 묘사 | 값 |
---|---|---|
증명서 | 인증서 정보입니다. | CertificateInformation |
certificatePassword | 인증서 암호입니다. | 문자열 |
certificateSource | 인증서 원본입니다. | 'BuiltIn' 'Custom' 'KeyVault' '관리' |
certificateStatus | 인증서 상태. | '완료됨' '실패' 'InProgress' |
defaultSslBinding | 이 호스트 이름과 연결된 인증서를 기본 SSL 인증서로 설정하려면 true를 지정합니다. 클라이언트가 SNI 헤더를 보내지 않으면 이 문제가 발생하는 인증서가 됩니다. 이 속성은 서비스에 여러 사용자 지정 호스트 이름을 사용하도록 설정하고 기본 ssl 인증서를 결정해야 하는 경우에 유용합니다. 게이트웨이 호스트 이름 형식에만 적용되는 설정입니다. | bool |
encodedCertificate | Base64로 인코딩된 인증서입니다. | 문자열 |
hostName | Api Management 서비스에서 구성할 호스트 이름입니다. | string(필수) |
identityClientId | SSL 인증서를 포함하는 keyVault에 대한 GET 액세스 권한이 있는 Azure AD에서 생성된 시스템 또는 사용자 할당 관리 ID clientId입니다. | 문자열 |
keyVaultId | Ssl 인증서를 포함하는 KeyVault 비밀에 대한 URL입니다. 버전이 포함된 절대 URL이 제공되면 ssl 인증서의 자동 업데이트가 작동하지 않습니다. 이렇게 하려면 aka.ms/apimmsi 사용하여 Api Management 서비스를 구성해야 합니다. 비밀은 application/x-pkcs12 |
문자열 |
negotiateClientCertificate | 호스트 이름에서 항상 클라이언트 인증서를 협상하려면 true를 지정합니다. 기본값은 false입니다. | bool |
형 | 호스트 이름 형식입니다. | 'ConfigurationApi' 'DeveloperPortal' 'Management' '포털' 'Proxy' 'Scm'(필수) |
RemotePrivateEndpointConnectionWrapper
이름 | 묘사 | 값 |
---|---|---|
아이디 | 프라이빗 엔드포인트 연결 리소스 ID | 문자열 |
이름 | 프라이빗 엔드포인트 연결 이름 | 문자열 |
속성 | 리소스 속성입니다. | PrivateEndpointConnectionWrapperProperties |
형 | 프라이빗 엔드포인트 연결 리소스 종류 | 문자열 |
PrivateEndpointConnectionWrapperProperties
이름 | 묘사 | 값 |
---|---|---|
privateEndpoint | 프라이빗 엔드포인트의 리소스입니다. | ArmIdWrapper |
privateLinkServiceConnectionState | 서비스 소비자와 공급자 간의 연결 상태에 대한 정보 컬렉션입니다. | PrivateLinkServiceConnectionState(필수) |
ArmIdWrapper
이 개체에는 배포 중에 설정할 속성이 없습니다. 모든 속성은 ReadOnly입니다.
PrivateLinkServiceConnectionState
이름 | 묘사 | 값 |
---|---|---|
actionsRequired | 서비스 공급자의 변경 내용에 소비자에 대한 업데이트가 필요한지 여부를 나타내는 메시지입니다. | 문자열 |
묘사 | 연결의 승인/거부 이유입니다. | 문자열 |
상태 | 서비스 소유자가 연결을 승인/거부/제거했는지 여부를 나타냅니다. | '승인됨' '보류 중' '거부됨' |
빠른 시작 템플릿
다음 빠른 시작 템플릿은 이 리소스 유형을 배포합니다.
템플렛 | 묘사 |
---|---|
템플릿 사용하여 API Management 인스턴스 및 모든 하위 리소스 만들기 Azure 배포 |
이 템플릿은 API Management 서비스를 만들고 하위 엔터티를 구성하는 방법을 보여 줍니다. |
외부 Azure Cache for Redis 사용하여 API Management 배포 Azure |
이 템플릿은 외부 Azure Cache for Redis 인스턴스를 API Management 외부 캐시로 사용하여 소비 계층에서 Azure API Management 인스턴스를 만드는 방법을 보여 줍니다. |
공용 IP 사용하여 외부 VNet에 API Management 배포 Azure |
이 템플릿은 외부 모드에서 가상 네트워크의 서브넷 내에서 프리미엄 계층에서 Azure API Management 인스턴스를 만들고 서브넷에서 권장되는 NSG 규칙을 구성하는 방법을 보여 줍니다. 인스턴스는 두 가용성 영역에 배포됩니다. 또한 템플릿은 구독에서 공용 IP 주소를 구성합니다. |
사용자 지정 호스트 이름이 API Management 인스턴스 만들기 Azure 배포 |
이 템플릿은 포털에 대한 사용자 지정 호스트 이름 및 프록시에 대한 여러 사용자 지정 호스트 이름을 사용하여 Azure API Management의 인스턴스를 만드는 방법을 보여 줍니다. |
App Gateway 사용하여 내부 VNet에서 API Management 만들기 Azure 배포 |
이 템플릿은 Azure Application Gateway로 보호되는 프라이빗 네트워크에서 Azure API Management 인스턴스를 만드는 방법을 보여 줍니다. |
공용 IP 사용하여 내부 VNet에 API Management 배포 Azure 배포 |
이 템플릿은 내부 모드에서 가상 네트워크의 서브넷 내에서 프리미엄 계층에서 Azure API Management 인스턴스를 만들고 서브넷에서 권장되는 NSG 규칙을 구성하는 방법을 보여 줍니다. 인스턴스는 두 가용성 영역에 배포됩니다. 또한 템플릿은 구독에서 공용 IP 주소를 구성합니다. |
MSI ID가 있는 API Management 인스턴스 만들기 Azure 배포 |
이 템플릿은 MSI ID가 있는 Azure API Management의 개발자 인스턴스를 만듭니다. |
다중region Premium 계층 API Management 인스턴스 만들기 Azure 배포 |
이 템플릿은 추가 위치가 있는 API Management 인스턴스를 만드는 방법을 보여 줍니다. 기본 위치는 리소스 그룹의 위치와 동일합니다. 추가 위치의 경우 템플릿은 NorthCentralUs 및 미국 동부 2를 표시합니다. 기본 위치는 추가 위치와 달라야 합니다. |
KeyVault 사용하여 사용자 지정 프록시 ssl을 사용하여 API Management 만들기 Azure 배포 |
이 템플릿은 Azure API Management의 인스턴스를 만들고 keyvault의 ssl 인증서를 사용하여 프록시에 대한 사용자 지정 호스트 이름을 구성하는 방법을 보여 줍니다. |
KeyVault SSL을 사용하여 API Management 서비스 만들기 Azure 배포 |
이 템플릿은 사용자 할당 ID로 구성된 API Management 서비스를 배포합니다. 이 ID를 사용하여 KeyVault에서 SSL 인증서를 가져오고 4시간마다 확인하여 업데이트를 유지합니다. |
API Management 인스턴스 만들기 및 모니터링 Azure 배포 |
이 템플릿은 Azure API Management 서비스 및 Log Analytics 작업 영역의 인스턴스를 만들고 Log Analytics를 사용하여 API Management 서비스에 대한 모니터링을 설정합니다. |
프라이빗 엔드포인트 사용하여 API Management 서비스 만들기 Azure 배포 |
이 템플릿은 API Management 서비스, 가상 네트워크 및 가상 네트워크에 API Management 서비스를 노출하는 프라이빗 엔드포인트를 만듭니다. |
가용성 영역 API Management 배포 Azure |
이 템플릿은 Azure API Management의 프리미엄 인스턴스를 만들고 가용성 영역에 배포합니다. |
템플릿 사용하여 API Management 인스턴스 만들기 Azure 배포 |
이 템플릿은 Azure API Management의 개발자 인스턴스를 만듭니다. |
API Management 원본 사용하여 Front Door 표준/프리미엄 Azure |
이 템플릿은 Front Door Premium 및 API Management 인스턴스를 만들고 NSG 및 전역 API Management 정책을 사용하여 트래픽이 Front Door 원본을 통해 들어왔다는 것을 확인합니다. |
Azure API Management 앞에서 Azure Front Door 만들기 Azure 배포 |
이 샘플에서는 Azure API Management 앞에서 Azure Front Door를 전역 부하 분산 장치로 사용하는 방법을 보여 줍니다. |
내부 API Management 및 Web App 사용하여 Application Gateway Azure |
Azure Web App에서 호스트되는 웹 API를 서비스하는 가상 네트워크(내부 모드) API Management 인스턴스로 인터넷 트래픽을 라우팅하는 Application Gateway입니다. |
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' |
이름 | 리소스 이름 | string(필수) 문자 제한: 1-50 유효한 문자: 영숫자 및 하이픈 문자로 시작하고 영숫자로 끝납니다. 리소스 이름은 Azure에서 고유해야 합니다. |
위치 | 리소스 위치입니다. | string(필수) |
태그 | 리소스 태그. | 태그 이름 및 값의 사전입니다. 템플릿 |
sku | API Management 서비스의 SKU 속성입니다. | ApiManagementServiceSkuProperties(필수) |
신원 | Api Management 서비스의 관리 서비스 ID입니다. | ApiManagementServiceIdentity |
속성 | API Management 서비스의 속성입니다. | ApiManagementServiceProperties(필수) |
영역 | 리소스의 원본 위치를 나타내는 가용성 영역 목록입니다. | string[] |
ApiManagementServiceIdentity
이름 | 묘사 | 값 |
---|---|---|
형 | 리소스에 사용되는 ID의 형식입니다. 'SystemAssigned, UserAssigned' 형식에는 암시적으로 생성된 ID와 사용자 할당 ID 집합이 모두 포함됩니다. 'None' 형식은 서비스에서 모든 ID를 제거합니다. | 'None' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned'(필수) |
userAssignedIdentities | 리소스와 연결된 사용자 ID 목록입니다. 사용자 ID 사전 키 참조는 양식의 ARM 리소스 ID입니다. '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. |
ApiManagementServiceIdentityUserAssignedIdentities |
ApiManagementServiceIdentityUserAssignedIdentities
이름 | 묘사 | 값 |
---|---|---|
{customized property} | UserIdentityProperties |
UserIdentityProperties
이름 | 묘사 | 값 |
---|---|---|
clientId | 사용자 할당 ID의 클라이언트 ID입니다. | 문자열 |
principalId | 사용자 할당 ID의 보안 주체 ID입니다. | 문자열 |
ApiManagementServiceProperties
이름 | 묘사 | 값 |
---|---|---|
additionalLocations | API Management 서비스의 추가 데이터 센터 위치입니다. | AdditionalLocation[] |
apiVersionConstraint | API Management 서비스에 대한 컨트롤 플레인 API 버전 제약 조건입니다. | ApiVersionConstraint |
인증서 | API Management 서비스에 설치해야 하는 인증서 목록입니다. 설치할 수 있는 지원되는 최대 인증서는 10개입니다. | CertificateConfiguration[] |
configurationApi | API Management 서비스의 구성 API 구성입니다. | ConfigurationApi |
customProperties | API Management 서비스의 사용자 지정 속성입니다.Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 설정하면 모든 TLS(1.0, 1.1 및 1.2)에 대한 암호화 TLS_RSA_WITH_3DES_EDE_CBC_SHA 비활성화됩니다.Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 설정은 TLS 1.1만 사용하지 않도록 설정하는 데 사용할 수 있습니다.Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 설정은 API Management 서비스에서 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 Management 서비스에서 HTTP2 프로토콜을 사용하도록 설정하는 데 사용할 수 있습니다.PATCH 작업에서 이러한 속성을 지정하지 않으면 생략된 속성의 값이 기본값으로 다시 설정됩니다. Http2를 제외한 모든 설정의 경우 서비스가 2018년 4월 1일 또는 그 이전에 만들어진 경우 기본값이 True , 그렇지 않으면 False . Http2 설정의 기본값은 False .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 등의 설정 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name] 사용하여 암호화를 사용하지 않도록 설정할 수 있습니다. 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 Management 서비스의 개발자 포털 상태입니다. | '사용 안 함' 'Enabled' |
disableGateway | 속성은 여러 위치에 배포된 Api Management 서비스에만 유효합니다. 마스터 지역에서 게이트웨이를 사용하지 않도록 설정하는 데 사용할 수 있습니다. | bool |
enableClientCertificate | 속성은 소비 SKU 서비스에만 사용됩니다. 이렇게 하면 게이트웨이에 대한 각 요청에 대해 클라이언트 인증서가 표시됩니다. 이렇게 하면 게이트웨이의 정책에서 인증서를 인증하는 기능도 사용할 수 있습니다. | bool |
hostnameConfigurations | API Management 서비스의 사용자 지정 호스트 이름 구성입니다. | hostnameConfiguration |
legacyPortalStatus | API Management 서비스의 레거시 포털 상태입니다. | '사용 안 함' 'Enabled' |
natGatewayState | 이 API Management 서비스에 NAT 게이트웨이를 사용하도록 설정하는 데 속성을 사용할 수 있습니다. | '사용 안 함' 'Enabled' |
notificationSenderEmail | 알림을 보낼 전자 메일 주소입니다. | 문자열 제약 조건: 최대 길이 = 100 |
privateEndpointConnections | 이 서비스의 프라이빗 엔드포인트 연결 목록입니다. | remotePrivateEndpointConnectionWrapper |
publicIpAddressId | 지역에서 Virtual Network 배포 서비스와 연결할 공용 표준 SKU IP V4 기반 IP 주소입니다. Virtual Network에 배포되는 개발자 및 프리미엄 SKU에 대해서만 지원됩니다. | 문자열 |
publicNetworkAccess | 이 API Management 서비스에 대한 퍼블릭 엔드포인트 액세스가 허용되는지 여부입니다. 값은 선택 사항이지만 전달된 경우 '사용' 또는 '사용 안 함'이어야 합니다. 'Disabled'인 경우 프라이빗 엔드포인트는 전용 액세스 방법입니다. 기본값은 'Enabled'입니다. | '사용 안 함' 'Enabled' |
publisherEmail | 게시자 전자 메일입니다. | string(필수) 제약 조건: 최대 길이 = 100 |
publisherName | 게시자 이름입니다. | string(필수) 제약 조건: 최대 길이 = 100 |
복원 | 이전에 일시 삭제된 경우 Api Management 서비스를 삭제 취소합니다. 이 플래그를 지정하고 True로 설정하면 다른 모든 속성은 무시됩니다. | bool |
virtualNetworkConfiguration | API Management 서비스의 가상 네트워크 구성입니다. | virtualNetworkConfiguration |
virtualNetworkType | API Management 서비스를 구성해야 하는 VPN의 유형입니다. 없음(기본값)은 API Management 서비스가 Virtual Network의 일부가 아님을 의미하고, 외부는 API Management 배포가 인터넷 연결 엔드포인트가 있는 Virtual Network 내에 설정됨을 의미하며, 내부는 인트라넷 연결 엔드포인트만 있는 Virtual Network 내에서 API Management 배포가 설정됨을 의미합니다. | 'External' 'Internal' 'None' |
AdditionalLocation
이름 | 묘사 | 값 |
---|---|---|
disableGateway | 속성은 여러 위치에 배포된 Api Management 서비스에만 유효합니다. 이 추가 위치에서 게이트웨이를 사용하지 않도록 설정하는 데 사용할 수 있습니다. | bool |
위치 | Azure 데이터 센터 지역 간의 추가 지역의 위치 이름입니다. | string(필수) |
natGatewayState | 이 API Management 서비스에 NAT 게이트웨이를 사용하도록 설정하는 데 속성을 사용할 수 있습니다. | '사용 안 함' 'Enabled' |
publicIpAddressId | 위치에서 Virtual Network 배포 서비스와 연결할 공용 표준 SKU IP V4 기반 IP 주소입니다. Virtual Network에 배포되는 프리미엄 SKU에 대해서만 지원됩니다. | 문자열 |
sku | API Management 서비스의 SKU 속성입니다. | ApiManagementServiceSkuProperties(필수) |
virtualNetworkConfiguration | 위치에 대한 가상 네트워크 구성입니다. | virtualNetworkConfiguration |
영역 | 리소스의 원본 위치를 나타내는 가용성 영역 목록입니다. | string[] |
ApiManagementServiceSkuProperties
이름 | 묘사 | 값 |
---|---|---|
용량 | SKU의 용량(SKU의 배포된 단위 수)입니다. 소비 SKU 용량의 경우 0으로 지정해야 합니다. | int(필수) |
이름 | Sku의 이름입니다. | 'Standard' 'WorkspaceGatewayPremium' 'WorkspaceGatewayStandard'(필수) |
VirtualNetworkConfiguration
이름 | 묘사 | 값 |
---|---|---|
subnetResourceId | API Management 서비스를 배포할 가상 네트워크에 있는 서브넷의 전체 리소스 ID입니다. | 문자열 제약 조건: 패턴 = ^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$ |
ApiVersionConstraint
이름 | 묘사 | 값 |
---|---|---|
minApiVersion | 이 값보다 같거나 최신 버전인 API Management 서비스에 대한 제어 평면 API 호출을 제한합니다. | 문자열 |
CertificateConfiguration
이름 | 묘사 | 값 |
---|---|---|
증명서 | 인증서 정보입니다. | CertificateInformation |
certificatePassword | 인증서 암호입니다. | 문자열 |
encodedCertificate | Base64로 인코딩된 인증서입니다. | 문자열 |
storeName | System.Security.Cryptography.x509certificates.StoreName 인증서 저장소 위치입니다. 루트 및 CertificateAuthority만 유효한 위치입니다. | 'CertificateAuthority' 'Root'(필수) |
CertificateInformation
이름 | 묘사 | 값 |
---|---|---|
만료 | 인증서의 만료 날짜입니다. 날짜는 ISO 8601 표준에 지정된 yyyy-MM-ddTHH:mm:ssZ 형식을 준수합니다. |
string(필수) |
제목 | 인증서의 주체입니다. | string(필수) |
지문 | 인증서의 지문입니다. | string(필수) |
ConfigurationApi
이름 | 묘사 | 값 |
---|---|---|
legacyApi | 레거시 구성 API(v1)를 API Management 서비스에 노출해야 하는지 여부를 나타냅니다. 값은 선택 사항이지만 '사용' 또는 '사용 안 함'이어야 합니다. '사용 안 함'이면 자체 호스팅 게이트웨이에 레거시 구성 API(v1)를 사용할 수 없습니다. 기본값은 'Enabled'입니다. | '사용 안 함' 'Enabled' |
ApiManagementServiceBasePropertiesCustomProperties
이름 | 묘사 | 값 |
---|---|---|
{customized property} | 문자열 |
HostnameConfiguration
이름 | 묘사 | 값 |
---|---|---|
증명서 | 인증서 정보입니다. | CertificateInformation |
certificatePassword | 인증서 암호입니다. | 문자열 |
certificateSource | 인증서 원본입니다. | 'BuiltIn' 'Custom' 'KeyVault' '관리' |
certificateStatus | 인증서 상태. | '완료됨' '실패' 'InProgress' |
defaultSslBinding | 이 호스트 이름과 연결된 인증서를 기본 SSL 인증서로 설정하려면 true를 지정합니다. 클라이언트가 SNI 헤더를 보내지 않으면 이 문제가 발생하는 인증서가 됩니다. 이 속성은 서비스에 여러 사용자 지정 호스트 이름을 사용하도록 설정하고 기본 ssl 인증서를 결정해야 하는 경우에 유용합니다. 게이트웨이 호스트 이름 형식에만 적용되는 설정입니다. | bool |
encodedCertificate | Base64로 인코딩된 인증서입니다. | 문자열 |
hostName | Api Management 서비스에서 구성할 호스트 이름입니다. | string(필수) |
identityClientId | SSL 인증서를 포함하는 keyVault에 대한 GET 액세스 권한이 있는 Azure AD에서 생성된 시스템 또는 사용자 할당 관리 ID clientId입니다. | 문자열 |
keyVaultId | Ssl 인증서를 포함하는 KeyVault 비밀에 대한 URL입니다. 버전이 포함된 절대 URL이 제공되면 ssl 인증서의 자동 업데이트가 작동하지 않습니다. 이렇게 하려면 aka.ms/apimmsi 사용하여 Api Management 서비스를 구성해야 합니다. 비밀은 application/x-pkcs12 |
문자열 |
negotiateClientCertificate | 호스트 이름에서 항상 클라이언트 인증서를 협상하려면 true를 지정합니다. 기본값은 false입니다. | bool |
형 | 호스트 이름 형식입니다. | 'ConfigurationApi' 'DeveloperPortal' 'Management' '포털' 'Proxy' 'Scm'(필수) |
RemotePrivateEndpointConnectionWrapper
이름 | 묘사 | 값 |
---|---|---|
아이디 | 프라이빗 엔드포인트 연결 리소스 ID | 문자열 |
이름 | 프라이빗 엔드포인트 연결 이름 | 문자열 |
속성 | 리소스 속성입니다. | PrivateEndpointConnectionWrapperProperties |
형 | 프라이빗 엔드포인트 연결 리소스 종류 | 문자열 |
PrivateEndpointConnectionWrapperProperties
이름 | 묘사 | 값 |
---|---|---|
privateEndpoint | 프라이빗 엔드포인트의 리소스입니다. | ArmIdWrapper |
privateLinkServiceConnectionState | 서비스 소비자와 공급자 간의 연결 상태에 대한 정보 컬렉션입니다. | PrivateLinkServiceConnectionState(필수) |
ArmIdWrapper
이 개체에는 배포 중에 설정할 속성이 없습니다. 모든 속성은 ReadOnly입니다.
PrivateLinkServiceConnectionState
이름 | 묘사 | 값 |
---|---|---|
actionsRequired | 서비스 공급자의 변경 내용에 소비자에 대한 업데이트가 필요한지 여부를 나타내는 메시지입니다. | 문자열 |
묘사 | 연결의 승인/거부 이유입니다. | 문자열 |
상태 | 서비스 소유자가 연결을 승인/거부/제거했는지 여부를 나타냅니다. | '승인됨' '보류 중' '거부됨' |
빠른 시작 템플릿
다음 빠른 시작 템플릿은 이 리소스 유형을 배포합니다.
템플렛 | 묘사 |
---|---|
템플릿 사용하여 API Management 인스턴스 및 모든 하위 리소스 만들기 Azure 배포 |
이 템플릿은 API Management 서비스를 만들고 하위 엔터티를 구성하는 방법을 보여 줍니다. |
외부 Azure Cache for Redis 사용하여 API Management 배포 Azure |
이 템플릿은 외부 Azure Cache for Redis 인스턴스를 API Management 외부 캐시로 사용하여 소비 계층에서 Azure API Management 인스턴스를 만드는 방법을 보여 줍니다. |
공용 IP 사용하여 외부 VNet에 API Management 배포 Azure |
이 템플릿은 외부 모드에서 가상 네트워크의 서브넷 내에서 프리미엄 계층에서 Azure API Management 인스턴스를 만들고 서브넷에서 권장되는 NSG 규칙을 구성하는 방법을 보여 줍니다. 인스턴스는 두 가용성 영역에 배포됩니다. 또한 템플릿은 구독에서 공용 IP 주소를 구성합니다. |
사용자 지정 호스트 이름이 API Management 인스턴스 만들기 Azure 배포 |
이 템플릿은 포털에 대한 사용자 지정 호스트 이름 및 프록시에 대한 여러 사용자 지정 호스트 이름을 사용하여 Azure API Management의 인스턴스를 만드는 방법을 보여 줍니다. |
App Gateway 사용하여 내부 VNet에서 API Management 만들기 Azure 배포 |
이 템플릿은 Azure Application Gateway로 보호되는 프라이빗 네트워크에서 Azure API Management 인스턴스를 만드는 방법을 보여 줍니다. |
공용 IP 사용하여 내부 VNet에 API Management 배포 Azure 배포 |
이 템플릿은 내부 모드에서 가상 네트워크의 서브넷 내에서 프리미엄 계층에서 Azure API Management 인스턴스를 만들고 서브넷에서 권장되는 NSG 규칙을 구성하는 방법을 보여 줍니다. 인스턴스는 두 가용성 영역에 배포됩니다. 또한 템플릿은 구독에서 공용 IP 주소를 구성합니다. |
MSI ID가 있는 API Management 인스턴스 만들기 Azure 배포 |
이 템플릿은 MSI ID가 있는 Azure API Management의 개발자 인스턴스를 만듭니다. |
다중region Premium 계층 API Management 인스턴스 만들기 Azure 배포 |
이 템플릿은 추가 위치가 있는 API Management 인스턴스를 만드는 방법을 보여 줍니다. 기본 위치는 리소스 그룹의 위치와 동일합니다. 추가 위치의 경우 템플릿은 NorthCentralUs 및 미국 동부 2를 표시합니다. 기본 위치는 추가 위치와 달라야 합니다. |
KeyVault 사용하여 사용자 지정 프록시 ssl을 사용하여 API Management 만들기 Azure 배포 |
이 템플릿은 Azure API Management의 인스턴스를 만들고 keyvault의 ssl 인증서를 사용하여 프록시에 대한 사용자 지정 호스트 이름을 구성하는 방법을 보여 줍니다. |
KeyVault SSL을 사용하여 API Management 서비스 만들기 Azure 배포 |
이 템플릿은 사용자 할당 ID로 구성된 API Management 서비스를 배포합니다. 이 ID를 사용하여 KeyVault에서 SSL 인증서를 가져오고 4시간마다 확인하여 업데이트를 유지합니다. |
API Management 인스턴스 만들기 및 모니터링 Azure 배포 |
이 템플릿은 Azure API Management 서비스 및 Log Analytics 작업 영역의 인스턴스를 만들고 Log Analytics를 사용하여 API Management 서비스에 대한 모니터링을 설정합니다. |
프라이빗 엔드포인트 사용하여 API Management 서비스 만들기 Azure 배포 |
이 템플릿은 API Management 서비스, 가상 네트워크 및 가상 네트워크에 API Management 서비스를 노출하는 프라이빗 엔드포인트를 만듭니다. |
가용성 영역 API Management 배포 Azure |
이 템플릿은 Azure API Management의 프리미엄 인스턴스를 만들고 가용성 영역에 배포합니다. |
템플릿 사용하여 API Management 인스턴스 만들기 Azure 배포 |
이 템플릿은 Azure API Management의 개발자 인스턴스를 만듭니다. |
API Management 원본 사용하여 Front Door 표준/프리미엄 Azure |
이 템플릿은 Front Door Premium 및 API Management 인스턴스를 만들고 NSG 및 전역 API Management 정책을 사용하여 트래픽이 Front Door 원본을 통해 들어왔다는 것을 확인합니다. |
Azure API Management 앞에서 Azure Front Door 만들기 Azure 배포 |
이 샘플에서는 Azure API Management 앞에서 Azure Front Door를 전역 부하 분산 장치로 사용하는 방법을 보여 줍니다. |
내부 API Management 및 Web App 사용하여 Application Gateway Azure |
Azure Web App에서 호스트되는 웹 API를 서비스하는 가상 네트워크(내부 모드) API Management 인스턴스로 인터넷 트래픽을 라우팅하는 Application Gateway입니다. |
Terraform(AzAPI 공급자) 리소스 정의
다음을 대상으로 하는 작업으로 서비스 리소스 유형을 배포할 수 있습니다.
- 리소스 그룹
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
리소스 형식
Microsoft.ApiManagement/서비스 리소스를 만들려면 템플릿에 다음 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" |
이름 | 리소스 이름 | string(필수) 문자 제한: 1-50 유효한 문자: 영숫자 및 하이픈 문자로 시작하고 영숫자로 끝납니다. 리소스 이름은 Azure에서 고유해야 합니다. |
위치 | 리소스 위치입니다. | string(필수) |
parent_id | 리소스 그룹에 배포하려면 해당 리소스 그룹의 ID를 사용합니다. | string(필수) |
태그 | 리소스 태그. | 태그 이름 및 값의 사전입니다. |
sku | API Management 서비스의 SKU 속성입니다. | ApiManagementServiceSkuProperties(필수) |
신원 | Api Management 서비스의 관리 서비스 ID입니다. | ApiManagementServiceIdentity |
속성 | API Management 서비스의 속성입니다. | ApiManagementServiceProperties(필수) |
영역 | 리소스의 원본 위치를 나타내는 가용성 영역 목록입니다. | string[] |
ApiManagementServiceIdentity
이름 | 묘사 | 값 |
---|---|---|
형 | 리소스에 사용되는 ID의 형식입니다. 'SystemAssigned, UserAssigned' 형식에는 암시적으로 생성된 ID와 사용자 할당 ID 집합이 모두 포함됩니다. 'None' 형식은 서비스에서 모든 ID를 제거합니다. | "SystemAssigned" "SystemAssigned, UserAssigned" "UserAssigned"(필수) |
identity_ids | 리소스와 연결된 사용자 ID 목록입니다. 사용자 ID 사전 키 참조는 양식의 ARM 리소스 ID입니다. '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. |
사용자 ID ID의 배열입니다. |
ApiManagementServiceIdentityUserAssignedIdentities
이름 | 묘사 | 값 |
---|---|---|
{customized property} | UserIdentityProperties |
UserIdentityProperties
이름 | 묘사 | 값 |
---|---|---|
clientId | 사용자 할당 ID의 클라이언트 ID입니다. | 문자열 |
principalId | 사용자 할당 ID의 보안 주체 ID입니다. | 문자열 |
ApiManagementServiceProperties
이름 | 묘사 | 값 |
---|---|---|
additionalLocations | API Management 서비스의 추가 데이터 센터 위치입니다. | AdditionalLocation[] |
apiVersionConstraint | API Management 서비스에 대한 컨트롤 플레인 API 버전 제약 조건입니다. | ApiVersionConstraint |
인증서 | API Management 서비스에 설치해야 하는 인증서 목록입니다. 설치할 수 있는 지원되는 최대 인증서는 10개입니다. | CertificateConfiguration[] |
configurationApi | API Management 서비스의 구성 API 구성입니다. | ConfigurationApi |
customProperties | API Management 서비스의 사용자 지정 속성입니다.Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168 설정하면 모든 TLS(1.0, 1.1 및 1.2)에 대한 암호화 TLS_RSA_WITH_3DES_EDE_CBC_SHA 비활성화됩니다.Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11 설정은 TLS 1.1만 사용하지 않도록 설정하는 데 사용할 수 있습니다.Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10 설정은 API Management 서비스에서 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 Management 서비스에서 HTTP2 프로토콜을 사용하도록 설정하는 데 사용할 수 있습니다.PATCH 작업에서 이러한 속성을 지정하지 않으면 생략된 속성의 값이 기본값으로 다시 설정됩니다. Http2를 제외한 모든 설정의 경우 서비스가 2018년 4월 1일 또는 그 이전에 만들어진 경우 기본값이 True , 그렇지 않으면 False . Http2 설정의 기본값은 False .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 등의 설정 Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name] 사용하여 암호화를 사용하지 않도록 설정할 수 있습니다. 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 Management 서비스의 개발자 포털 상태입니다. | "사용 안 함" "사용" |
disableGateway | 속성은 여러 위치에 배포된 Api Management 서비스에만 유효합니다. 마스터 지역에서 게이트웨이를 사용하지 않도록 설정하는 데 사용할 수 있습니다. | bool |
enableClientCertificate | 속성은 소비 SKU 서비스에만 사용됩니다. 이렇게 하면 게이트웨이에 대한 각 요청에 대해 클라이언트 인증서가 표시됩니다. 이렇게 하면 게이트웨이의 정책에서 인증서를 인증하는 기능도 사용할 수 있습니다. | bool |
hostnameConfigurations | API Management 서비스의 사용자 지정 호스트 이름 구성입니다. | hostnameConfiguration |
legacyPortalStatus | API Management 서비스의 레거시 포털 상태입니다. | "사용 안 함" "사용" |
natGatewayState | 이 API Management 서비스에 NAT 게이트웨이를 사용하도록 설정하는 데 속성을 사용할 수 있습니다. | "사용 안 함" "사용" |
notificationSenderEmail | 알림을 보낼 전자 메일 주소입니다. | 문자열 제약 조건: 최대 길이 = 100 |
privateEndpointConnections | 이 서비스의 프라이빗 엔드포인트 연결 목록입니다. | remotePrivateEndpointConnectionWrapper |
publicIpAddressId | 지역에서 Virtual Network 배포 서비스와 연결할 공용 표준 SKU IP V4 기반 IP 주소입니다. Virtual Network에 배포되는 개발자 및 프리미엄 SKU에 대해서만 지원됩니다. | 문자열 |
publicNetworkAccess | 이 API Management 서비스에 대한 퍼블릭 엔드포인트 액세스가 허용되는지 여부입니다. 값은 선택 사항이지만 전달된 경우 '사용' 또는 '사용 안 함'이어야 합니다. 'Disabled'인 경우 프라이빗 엔드포인트는 전용 액세스 방법입니다. 기본값은 'Enabled'입니다. | "사용 안 함" "사용" |
publisherEmail | 게시자 전자 메일입니다. | string(필수) 제약 조건: 최대 길이 = 100 |
publisherName | 게시자 이름입니다. | string(필수) 제약 조건: 최대 길이 = 100 |
복원 | 이전에 일시 삭제된 경우 Api Management 서비스를 삭제 취소합니다. 이 플래그를 지정하고 True로 설정하면 다른 모든 속성은 무시됩니다. | bool |
virtualNetworkConfiguration | API Management 서비스의 가상 네트워크 구성입니다. | virtualNetworkConfiguration |
virtualNetworkType | API Management 서비스를 구성해야 하는 VPN의 유형입니다. 없음(기본값)은 API Management 서비스가 Virtual Network의 일부가 아님을 의미하고, 외부는 API Management 배포가 인터넷 연결 엔드포인트가 있는 Virtual Network 내에 설정됨을 의미하며, 내부는 인트라넷 연결 엔드포인트만 있는 Virtual Network 내에서 API Management 배포가 설정됨을 의미합니다. | "외부" "내부" "없음" |
AdditionalLocation
이름 | 묘사 | 값 |
---|---|---|
disableGateway | 속성은 여러 위치에 배포된 Api Management 서비스에만 유효합니다. 이 추가 위치에서 게이트웨이를 사용하지 않도록 설정하는 데 사용할 수 있습니다. | bool |
위치 | Azure 데이터 센터 지역 간의 추가 지역의 위치 이름입니다. | string(필수) |
natGatewayState | 이 API Management 서비스에 NAT 게이트웨이를 사용하도록 설정하는 데 속성을 사용할 수 있습니다. | "사용 안 함" "사용" |
publicIpAddressId | 위치에서 Virtual Network 배포 서비스와 연결할 공용 표준 SKU IP V4 기반 IP 주소입니다. Virtual Network에 배포되는 프리미엄 SKU에 대해서만 지원됩니다. | 문자열 |
sku | API Management 서비스의 SKU 속성입니다. | ApiManagementServiceSkuProperties(필수) |
virtualNetworkConfiguration | 위치에 대한 가상 네트워크 구성입니다. | virtualNetworkConfiguration |
영역 | 리소스의 원본 위치를 나타내는 가용성 영역 목록입니다. | string[] |
ApiManagementServiceSkuProperties
이름 | 묘사 | 값 |
---|---|---|
용량 | SKU의 용량(SKU의 배포된 단위 수)입니다. 소비 SKU 용량의 경우 0으로 지정해야 합니다. | int(필수) |
이름 | Sku의 이름입니다. | "표준" "WorkspaceGatewayPremium" "WorkspaceGatewayStandard"(필수) |
VirtualNetworkConfiguration
이름 | 묘사 | 값 |
---|---|---|
subnetResourceId | API Management 서비스를 배포할 가상 네트워크에 있는 서브넷의 전체 리소스 ID입니다. | 문자열 제약 조건: 패턴 = ^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$ |
ApiVersionConstraint
이름 | 묘사 | 값 |
---|---|---|
minApiVersion | 이 값보다 같거나 최신 버전인 API Management 서비스에 대한 제어 평면 API 호출을 제한합니다. | 문자열 |
CertificateConfiguration
이름 | 묘사 | 값 |
---|---|---|
증명서 | 인증서 정보입니다. | CertificateInformation |
certificatePassword | 인증서 암호입니다. | 문자열 |
encodedCertificate | Base64로 인코딩된 인증서입니다. | 문자열 |
storeName | System.Security.Cryptography.x509certificates.StoreName 인증서 저장소 위치입니다. 루트 및 CertificateAuthority만 유효한 위치입니다. | "CertificateAuthority" "Root"(필수) |
CertificateInformation
이름 | 묘사 | 값 |
---|---|---|
만료 | 인증서의 만료 날짜입니다. 날짜는 ISO 8601 표준에 지정된 yyyy-MM-ddTHH:mm:ssZ 형식을 준수합니다. |
string(필수) |
제목 | 인증서의 주체입니다. | string(필수) |
지문 | 인증서의 지문입니다. | string(필수) |
ConfigurationApi
이름 | 묘사 | 값 |
---|---|---|
legacyApi | 레거시 구성 API(v1)를 API Management 서비스에 노출해야 하는지 여부를 나타냅니다. 값은 선택 사항이지만 '사용' 또는 '사용 안 함'이어야 합니다. '사용 안 함'이면 자체 호스팅 게이트웨이에 레거시 구성 API(v1)를 사용할 수 없습니다. 기본값은 'Enabled'입니다. | "사용 안 함" "사용" |
ApiManagementServiceBasePropertiesCustomProperties
이름 | 묘사 | 값 |
---|---|---|
{customized property} | 문자열 |
HostnameConfiguration
이름 | 묘사 | 값 |
---|---|---|
증명서 | 인증서 정보입니다. | CertificateInformation |
certificatePassword | 인증서 암호입니다. | 문자열 |
certificateSource | 인증서 원본입니다. | "BuiltIn" "사용자 지정" "KeyVault" "관리" |
certificateStatus | 인증서 상태. | "완료됨" "실패" "InProgress" |
defaultSslBinding | 이 호스트 이름과 연결된 인증서를 기본 SSL 인증서로 설정하려면 true를 지정합니다. 클라이언트가 SNI 헤더를 보내지 않으면 이 문제가 발생하는 인증서가 됩니다. 이 속성은 서비스에 여러 사용자 지정 호스트 이름을 사용하도록 설정하고 기본 ssl 인증서를 결정해야 하는 경우에 유용합니다. 게이트웨이 호스트 이름 형식에만 적용되는 설정입니다. | bool |
encodedCertificate | Base64로 인코딩된 인증서입니다. | 문자열 |
hostName | Api Management 서비스에서 구성할 호스트 이름입니다. | string(필수) |
identityClientId | SSL 인증서를 포함하는 keyVault에 대한 GET 액세스 권한이 있는 Azure AD에서 생성된 시스템 또는 사용자 할당 관리 ID clientId입니다. | 문자열 |
keyVaultId | Ssl 인증서를 포함하는 KeyVault 비밀에 대한 URL입니다. 버전이 포함된 절대 URL이 제공되면 ssl 인증서의 자동 업데이트가 작동하지 않습니다. 이렇게 하려면 aka.ms/apimmsi 사용하여 Api Management 서비스를 구성해야 합니다. 비밀은 application/x-pkcs12 |
문자열 |
negotiateClientCertificate | 호스트 이름에서 항상 클라이언트 인증서를 협상하려면 true를 지정합니다. 기본값은 false입니다. | bool |
형 | 호스트 이름 형식입니다. | "ConfigurationApi" "DeveloperPortal" "관리" "포털" "프록시" "Scm"(필수) |
RemotePrivateEndpointConnectionWrapper
이름 | 묘사 | 값 |
---|---|---|
아이디 | 프라이빗 엔드포인트 연결 리소스 ID | 문자열 |
이름 | 프라이빗 엔드포인트 연결 이름 | 문자열 |
속성 | 리소스 속성입니다. | PrivateEndpointConnectionWrapperProperties |
형 | 프라이빗 엔드포인트 연결 리소스 종류 | 문자열 |
PrivateEndpointConnectionWrapperProperties
이름 | 묘사 | 값 |
---|---|---|
privateEndpoint | 프라이빗 엔드포인트의 리소스입니다. | ArmIdWrapper |
privateLinkServiceConnectionState | 서비스 소비자와 공급자 간의 연결 상태에 대한 정보 컬렉션입니다. | PrivateLinkServiceConnectionState(필수) |
ArmIdWrapper
이 개체에는 배포 중에 설정할 속성이 없습니다. 모든 속성은 ReadOnly입니다.
PrivateLinkServiceConnectionState
이름 | 묘사 | 값 |
---|---|---|
actionsRequired | 서비스 공급자의 변경 내용에 소비자에 대한 업데이트가 필요한지 여부를 나타내는 메시지입니다. | 문자열 |
묘사 | 연결의 승인/거부 이유입니다. | 문자열 |
상태 | 서비스 소유자가 연결을 승인/거부/제거했는지 여부를 나타냅니다. | "승인됨" "보류 중" "거부됨" |