次の方法で共有


Microsoft.ApiManagement サービス 2019-12-01

Bicep リソース定義

サービス リソースの種類は、次を対象とする操作でデプロイできます。

  • リソース グループの - リソース グループのデプロイ コマンド 参照

各 API バージョンで変更されたプロパティの一覧については、変更ログの参照してください。

リソースの形式

Microsoft.ApiManagement/service リソースを作成するには、次の Bicep をテンプレートに追加します。

resource symbolicname 'Microsoft.ApiManagement/service@2019-12-01' = {
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {
        clientId: 'string'
        principalId: 'string'
      }
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    additionalLocations: [
      {
        disableGateway: bool
        location: 'string'
        sku: {
          capacity: int
          name: 'string'
        }
        virtualNetworkConfiguration: {
          subnetResourceId: 'string'
        }
      }
    ]
    apiVersionConstraint: {
      minApiVersion: 'string'
    }
    certificates: [
      {
        certificate: {
          expiry: 'string'
          subject: 'string'
          thumbprint: 'string'
        }
        certificatePassword: 'string'
        encodedCertificate: 'string'
        storeName: 'string'
      }
    ]
    customProperties: {
      {customized property}: 'string'
    }
    disableGateway: bool
    enableClientCertificate: bool
    hostnameConfigurations: [
      {
        certificate: {
          expiry: 'string'
          subject: 'string'
          thumbprint: 'string'
        }
        certificatePassword: 'string'
        defaultSslBinding: bool
        encodedCertificate: 'string'
        hostName: 'string'
        keyVaultId: 'string'
        negotiateClientCertificate: bool
        type: 'string'
      }
    ]
    notificationSenderEmail: 'string'
    publisherEmail: 'string'
    publisherName: 'string'
    virtualNetworkConfiguration: {
      subnetResourceId: 'string'
    }
    virtualNetworkType: 'string'
  }
  sku: {
    capacity: int
    name: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

プロパティ値

Microsoft.ApiManagement/サービス

名前 形容 価値
ID Api Management サービスのマネージド サービス ID。 ApiManagementServiceIdentity の
位置 リソースの場所。 string (必須)
名前 リソース名

制約:
最小長 = 1
最大長 = 50
パターン = ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ (必須)
プロパティ API Management サービスのプロパティ。 ApiManagementServiceProperties (必須)
エスケーユー API Management サービスの SKU プロパティ。 ApiManagementServiceSkuProperties (必須)
タグ リソース タグ タグ名と値のディクショナリ。 テンプレート の タグを参照してください

追加ロケーション

名前 形容 価値
ディセーブルゲートウェイ プロパティは、複数の場所にデプロイされた Api Management サービスに対してのみ有効です。 これを使用して、この追加の場所でゲートウェイを無効にすることができます。 ブール (bool)
位置 Azure データ センター リージョン間の追加リージョンの場所名。 string (必須)
エスケーユー API Management サービスの SKU プロパティ。 ApiManagementServiceSkuProperties (必須)
virtualNetworkConfiguration (仮想ネットワーク構成) 場所の仮想ネットワーク構成。 VirtualNetworkConfiguration (仮想ネットワーク構成)

ApiManagementServiceBasePropertiesCustomProperties

名前 形容 価値

ApiManagementServiceIdentity の

名前 形容 価値
リソースに使用される ID の種類。 型 'SystemAssigned, UserAssigned' には、暗黙的に作成された ID とユーザー割り当て ID のセットの両方が含まれます。 型 'None' は、サービスからすべての ID を削除します。 「なし」
'システム割り当て'
'SystemAssigned,UserAssigned'
'UserAssigned' (必須)
userAssignedIdentities (ユーザー割り当て済みアイデンティティ) リソースに関連付けられているユーザー ID の一覧。 ユーザー ID
ディクショナリ キー参照は、次の形式の ARM リソース ID になります。
'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'。
ApiManagementServiceIdentityUserAssignedIdentities

ApiManagementServiceIdentityUserAssignedIdentities

名前 形容 価値

ApiManagementServiceProperties の

名前 形容 価値
追加の場所 API Management サービスの追加のデータセンターの場所。 AdditionalLocationの []
apiVersionConstraint の API Management サービスのコントロール プレーン API のバージョン制約。 ApiVersionConstraint (英語)
証明 書 API Management サービスにインストールする必要がある証明書の一覧。 インストールできるサポートされる証明書の最大数は 10 です。 CertificateConfiguration[]
カスタムプロパティ 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です。

次のいずれかの暗号を無効にするには、次の 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 されます。

注: 次の暗号は Azure CloudService 内部コンポーネントで必要であるため、無効にすることはできません。
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
TLS_RSA_WITH_AES_256_GCM_SHA384
ApiManagementServiceBasePropertiesCustomProperties
ディセーブルゲートウェイ プロパティは、複数の場所にデプロイされた Api Management サービスに対してのみ有効です。 これを使用して、マスター リージョンのゲートウェイを無効にすることができます。 ブール (bool)
enableClientCertificate (英語) プロパティは、従量課金 SKU サービスにのみ使用されます。 これにより、ゲートウェイへの各要求にクライアント証明書が提示されます。 これにより、ゲートウェイのポリシーで証明書を認証することもできます。 ブール (bool)
ホスト名設定 API Management サービスのカスタム ホスト名構成。 ホスト名設定[]
notificationSenderEメール 通知の送信先となる電子メール アドレス。

制約:
最大長 = 100
publisherEメール 発行元の電子メール。

制約:
最大長 = 100 (必須)
出版社名 発行元名。

制約:
最大長 = 100 (必須)
virtualNetworkConfiguration (仮想ネットワーク構成) API Management サービスの仮想ネットワーク構成。 VirtualNetworkConfiguration (仮想ネットワーク構成)
バーチャルネットワークタイプ API Management サービスを構成する必要がある VPN の種類。 None (既定値) は、API Management サービスが仮想ネットワークに含まれていないことを意味し、外部は、インターネットに接続するエンドポイントを持つ仮想ネットワーク内に API Management デプロイが設定されていることを意味し、内部はイントラネットに接続するエンドポイントのみを持つ仮想ネットワーク内で API Management のデプロイが設定されることを意味します。 「外部」
「内部」
「なし」

ApiManagementServiceSkuプロパティ

名前 形容 価値
キャパシティ SKU の容量 (SKU のデプロイされたユニットの数)。 従量課金 SKU の容量は 0 として指定する必要があります。 int (必須)
名前 SKU の名前。 「ベーシック」
「消費」
「開発者」
「プレミアム」
'Standard' (必須)

ApimResourceタグ

名前 形容 価値

ApiVersionConstraint (英語)

名前 形容 価値
minApiVersion (英語) この値以上のバージョンを使用して、API Management サービスへのコントロール プレーン API 呼び出しを制限します。 文字列

CertificateConfiguration (証明書の構成)

名前 形容 価値
証明書 証明書情報。 CertificateInformation の
certificateパスワード 証明書パスワード。 文字列
エンコードされた証明書 Base64 でエンコードされた証明書。 文字列
店名 System.Security.Cryptography.x509certificates.StoreName 証明書ストアの場所。 有効な場所は Root と CertificateAuthority だけです。 '認証局'
'Root' (必須)

証明書情報

名前 形容 価値
有効 期限 証明書の有効期限。 日付は、ISO 8601 標準で指定された yyyy-MM-ddTHH:mm:ssZ 形式に準拠しています。 string (必須)
件名 証明書のサブジェクト。 string (必須)
サムプリント 証明書の拇印。 string (必須)

ホスト名設定

名前 形容 価値
証明書 証明書情報。 CertificateInformation の
certificateパスワード 証明書パスワード。 文字列
defaultSslBinding の このホスト名に関連付けられている証明書を既定の SSL 証明書として設定するには、true を指定します。 クライアントが SNI ヘッダーを送信しない場合、これはチャレンジされる証明書になります。 このプロパティは、サービスで複数のカスタム ホスト名が有効になっていて、既定の ssl 証明書を決定する必要がある場合に便利です。 この設定は、プロキシ ホスト名の種類にのみ適用されます。 ブール (bool)
エンコードされた証明書 Base64 でエンコードされた証明書。 文字列
ホスト名 Api Management サービスで構成するホスト名。 string (必須)
キー・ヴォールト・イド Ssl 証明書を含む KeyVault シークレットの URL。 バージョンを含む絶対 URL が指定されている場合、ssl 証明書の自動更新は機能しません。 そのためには、API Management サービスを MSI で構成する必要があります。 シークレットの種類は application/x-pkcs12 する必要があります 文字列
ネゴシエートClientCertificate ホスト名のクライアント証明書を常にネゴシエートするには、true を指定します。 既定値は false です。 ブール (bool)
ホスト名の種類。 「開発者ポータル」
「マネジメント」
「ポータル」
「プロキシ」
'Scm' (必須)

ユーザーアイデンティティプロパティ

名前 形容 価値
クライアントID ユーザー割り当て ID のクライアント ID。 文字列
プリンシパルID ユーザー割り当て ID のプリンシパル ID。 文字列

VirtualNetworkConfiguration (仮想ネットワーク構成)

名前 形容 価値
サブネットリソースID API Management サービスをデプロイする仮想ネットワーク内のサブネットの完全なリソース ID。

制約:
パターン = ^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$

使用例

Azure クイック スタートのサンプル

Azure クイック スタート テンプレート、このリソースの種類をデプロイするための Bicep サンプルが含まれています。

Bicep ファイル 形容
内部 API Management と Web App を使用した Application Gateway の Azure Web アプリでホストされている Web API にサービスを提供する仮想ネットワーク (内部モード) API Management インスタンスにインターネット トラフィックをルーティングする Application Gateway。
マルチリージョン Premium レベルの API Management インスタンス を作成する このテンプレートでは、追加の場所を使用して API Management インスタンスを作成する方法を示します。 プライマリの場所は、リソース グループの場所と同じです。 その他の場所については、テンプレートに NorthCentralUs と米国東部 2 が表示されます。 プライマリの場所は、追加の場所とは異なる必要があります。
MSI ID を持つ API Management インスタンスを作成する このテンプレートは、MSI ID を持つ Azure API Management の開発者インスタンスを作成します
テンプレート を使用して API Management インスタンスを作成する このテンプレートは、Azure API Management の開発者インスタンスを作成します
プライベート エンドポイントを使用して API Management サービスを作成 このテンプレートは、API Management サービス、仮想ネットワーク、および API Management サービスを仮想ネットワークに公開するプライベート エンドポイントを作成します。
KeyVault から SSL を使用して API Management サービスを作成する このテンプレートは、ユーザー割り当て ID で構成された API Management サービスをデプロイします。 この ID を使用して KeyVault から SSL 証明書をフェッチし、4 時間ごとにチェックすることで更新を維持します。
App Gateway を使用して内部 VNet に API Management を作成する このテンプレートでは、Azure Application Gateway によって保護されたプライベート ネットワーク上に Azure API Management のインスタンスを作成する方法を示します。
パブリック IP を使用して外部 VNet に API Management をデプロイする このテンプレートでは、外部モードで仮想ネットワークのサブネット内の Premium レベルで Azure API Management のインスタンスを作成し、そのサブネットで推奨される NSG 規則を構成する方法を示します。 インスタンスは 2 つの可用性ゾーンにデプロイされます。 このテンプレートでは、サブスクリプションのパブリック IP アドレスも構成されます。
パブリック IP を使用して内部 VNet に API Management をデプロイする このテンプレートでは、内部モードで仮想ネットワークのサブネット内の Premium レベルで Azure API Management のインスタンスを作成し、そのサブネットで推奨される NSG 規則を構成する方法を示します。 インスタンスは 2 つの可用性ゾーンにデプロイされます。 このテンプレートでは、サブスクリプションのパブリック IP アドレスも構成されます。
Api Management を Availability Zones にデプロイする このテンプレートは、Azure API Management の Premium インスタンスを作成し、可用性ゾーンにデプロイします
外部の Azure Cache for Redis を使用して API Management をデプロイする このテンプレートでは、外部 Azure Cache for Redis インスタンスを API Management 外部キャッシュとして使用層に Azure API Management のインスタンスを作成する方法を示します。
API Management の配信元 を使用した Front Door Standard/Premium の このテンプレートは、Front Door Premium と API Management インスタンスを作成し、NSG とグローバル API Management ポリシーを使用して、トラフィックが Front Door の配信元を通過したことを検証します。

ARM テンプレート リソース定義

サービス リソースの種類は、次を対象とする操作でデプロイできます。

  • リソース グループの - リソース グループのデプロイ コマンド 参照

各 API バージョンで変更されたプロパティの一覧については、変更ログの参照してください。

リソースの形式

Microsoft.ApiManagement/service リソースを作成するには、次の JSON をテンプレートに追加します。

{
  "type": "Microsoft.ApiManagement/service",
  "apiVersion": "2019-12-01",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
        "clientId": "string",
        "principalId": "string"
      }
    }
  },
  "location": "string",
  "properties": {
    "additionalLocations": [
      {
        "disableGateway": "bool",
        "location": "string",
        "sku": {
          "capacity": "int",
          "name": "string"
        },
        "virtualNetworkConfiguration": {
          "subnetResourceId": "string"
        }
      }
    ],
    "apiVersionConstraint": {
      "minApiVersion": "string"
    },
    "certificates": [
      {
        "certificate": {
          "expiry": "string",
          "subject": "string",
          "thumbprint": "string"
        },
        "certificatePassword": "string",
        "encodedCertificate": "string",
        "storeName": "string"
      }
    ],
    "customProperties": {
      "{customized property}": "string"
    },
    "disableGateway": "bool",
    "enableClientCertificate": "bool",
    "hostnameConfigurations": [
      {
        "certificate": {
          "expiry": "string",
          "subject": "string",
          "thumbprint": "string"
        },
        "certificatePassword": "string",
        "defaultSslBinding": "bool",
        "encodedCertificate": "string",
        "hostName": "string",
        "keyVaultId": "string",
        "negotiateClientCertificate": "bool",
        "type": "string"
      }
    ],
    "notificationSenderEmail": "string",
    "publisherEmail": "string",
    "publisherName": "string",
    "virtualNetworkConfiguration": {
      "subnetResourceId": "string"
    },
    "virtualNetworkType": "string"
  },
  "sku": {
    "capacity": "int",
    "name": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

プロパティ値

Microsoft.ApiManagement/サービス

名前 形容 価値
apiVersion (英語) API のバージョン '2019-12-01'
ID Api Management サービスのマネージド サービス ID。 ApiManagementServiceIdentity の
位置 リソースの場所。 string (必須)
名前 リソース名

制約:
最小長 = 1
最大長 = 50
パターン = ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ (必須)
プロパティ API Management サービスのプロパティ。 ApiManagementServiceProperties (必須)
エスケーユー API Management サービスの SKU プロパティ。 ApiManagementServiceSkuProperties (必須)
タグ リソース タグ タグ名と値のディクショナリ。 テンプレート の タグを参照してください
リソースの種類 'Microsoft.ApiManagement/service'

追加ロケーション

名前 形容 価値
ディセーブルゲートウェイ プロパティは、複数の場所にデプロイされた Api Management サービスに対してのみ有効です。 これを使用して、この追加の場所でゲートウェイを無効にすることができます。 ブール (bool)
位置 Azure データ センター リージョン間の追加リージョンの場所名。 string (必須)
エスケーユー API Management サービスの SKU プロパティ。 ApiManagementServiceSkuProperties (必須)
virtualNetworkConfiguration (仮想ネットワーク構成) 場所の仮想ネットワーク構成。 VirtualNetworkConfiguration (仮想ネットワーク構成)

ApiManagementServiceBasePropertiesCustomProperties

名前 形容 価値

ApiManagementServiceIdentity の

名前 形容 価値
リソースに使用される ID の種類。 型 'SystemAssigned, UserAssigned' には、暗黙的に作成された ID とユーザー割り当て ID のセットの両方が含まれます。 型 'None' は、サービスからすべての ID を削除します。 「なし」
'システム割り当て'
'SystemAssigned,UserAssigned'
'UserAssigned' (必須)
userAssignedIdentities (ユーザー割り当て済みアイデンティティ) リソースに関連付けられているユーザー ID の一覧。 ユーザー ID
ディクショナリ キー参照は、次の形式の ARM リソース ID になります。
'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'。
ApiManagementServiceIdentityUserAssignedIdentities

ApiManagementServiceIdentityUserAssignedIdentities

名前 形容 価値

ApiManagementServiceProperties の

名前 形容 価値
追加の場所 API Management サービスの追加のデータセンターの場所。 AdditionalLocationの []
apiVersionConstraint の API Management サービスのコントロール プレーン API のバージョン制約。 ApiVersionConstraint (英語)
証明 書 API Management サービスにインストールする必要がある証明書の一覧。 インストールできるサポートされる証明書の最大数は 10 です。 CertificateConfiguration[]
カスタムプロパティ 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です。

次のいずれかの暗号を無効にするには、次の 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 されます。

注: 次の暗号は Azure CloudService 内部コンポーネントで必要であるため、無効にすることはできません。
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
TLS_RSA_WITH_AES_256_GCM_SHA384
ApiManagementServiceBasePropertiesCustomProperties
ディセーブルゲートウェイ プロパティは、複数の場所にデプロイされた Api Management サービスに対してのみ有効です。 これを使用して、マスター リージョンのゲートウェイを無効にすることができます。 ブール (bool)
enableClientCertificate (英語) プロパティは、従量課金 SKU サービスにのみ使用されます。 これにより、ゲートウェイへの各要求にクライアント証明書が提示されます。 これにより、ゲートウェイのポリシーで証明書を認証することもできます。 ブール (bool)
ホスト名設定 API Management サービスのカスタム ホスト名構成。 ホスト名設定[]
notificationSenderEメール 通知の送信先となる電子メール アドレス。

制約:
最大長 = 100
publisherEメール 発行元の電子メール。

制約:
最大長 = 100 (必須)
出版社名 発行元名。

制約:
最大長 = 100 (必須)
virtualNetworkConfiguration (仮想ネットワーク構成) API Management サービスの仮想ネットワーク構成。 VirtualNetworkConfiguration (仮想ネットワーク構成)
バーチャルネットワークタイプ API Management サービスを構成する必要がある VPN の種類。 None (既定値) は、API Management サービスが仮想ネットワークに含まれていないことを意味し、外部は、インターネットに接続するエンドポイントを持つ仮想ネットワーク内に API Management デプロイが設定されていることを意味し、内部はイントラネットに接続するエンドポイントのみを持つ仮想ネットワーク内で API Management のデプロイが設定されることを意味します。 「外部」
「内部」
「なし」

ApiManagementServiceSkuプロパティ

名前 形容 価値
キャパシティ SKU の容量 (SKU のデプロイされたユニットの数)。 従量課金 SKU の容量は 0 として指定する必要があります。 int (必須)
名前 SKU の名前。 「ベーシック」
「消費」
「開発者」
「プレミアム」
'Standard' (必須)

ApimResourceタグ

名前 形容 価値

ApiVersionConstraint (英語)

名前 形容 価値
minApiVersion (英語) この値以上のバージョンを使用して、API Management サービスへのコントロール プレーン API 呼び出しを制限します。 文字列

CertificateConfiguration (証明書の構成)

名前 形容 価値
証明書 証明書情報。 CertificateInformation の
certificateパスワード 証明書パスワード。 文字列
エンコードされた証明書 Base64 でエンコードされた証明書。 文字列
店名 System.Security.Cryptography.x509certificates.StoreName 証明書ストアの場所。 有効な場所は Root と CertificateAuthority だけです。 '認証局'
'Root' (必須)

証明書情報

名前 形容 価値
有効 期限 証明書の有効期限。 日付は、ISO 8601 標準で指定された yyyy-MM-ddTHH:mm:ssZ 形式に準拠しています。 string (必須)
件名 証明書のサブジェクト。 string (必須)
サムプリント 証明書の拇印。 string (必須)

ホスト名設定

名前 形容 価値
証明書 証明書情報。 CertificateInformation の
certificateパスワード 証明書パスワード。 文字列
defaultSslBinding の このホスト名に関連付けられている証明書を既定の SSL 証明書として設定するには、true を指定します。 クライアントが SNI ヘッダーを送信しない場合、これはチャレンジされる証明書になります。 このプロパティは、サービスで複数のカスタム ホスト名が有効になっていて、既定の ssl 証明書を決定する必要がある場合に便利です。 この設定は、プロキシ ホスト名の種類にのみ適用されます。 ブール (bool)
エンコードされた証明書 Base64 でエンコードされた証明書。 文字列
ホスト名 Api Management サービスで構成するホスト名。 string (必須)
キー・ヴォールト・イド Ssl 証明書を含む KeyVault シークレットの URL。 バージョンを含む絶対 URL が指定されている場合、ssl 証明書の自動更新は機能しません。 そのためには、API Management サービスを MSI で構成する必要があります。 シークレットの種類は application/x-pkcs12 する必要があります 文字列
ネゴシエートClientCertificate ホスト名のクライアント証明書を常にネゴシエートするには、true を指定します。 既定値は false です。 ブール (bool)
ホスト名の種類。 「開発者ポータル」
「マネジメント」
「ポータル」
「プロキシ」
'Scm' (必須)

ユーザーアイデンティティプロパティ

名前 形容 価値
クライアントID ユーザー割り当て ID のクライアント ID。 文字列
プリンシパルID ユーザー割り当て ID のプリンシパル ID。 文字列

VirtualNetworkConfiguration (仮想ネットワーク構成)

名前 形容 価値
サブネットリソースID API Management サービスをデプロイする仮想ネットワーク内のサブネットの完全なリソース ID。

制約:
パターン = ^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$

使用例

Azure クイック スタート テンプレート

このリソースの種類 デプロイする Azure クイック スタート テンプレート 次に示します。

テンプレート 形容
内部 API Management と Web App を使用した Application Gateway の

Azure
にデプロイする
Azure Web アプリでホストされている Web API にサービスを提供する仮想ネットワーク (内部モード) API Management インスタンスにインターネット トラフィックをルーティングする Application Gateway。
マルチリージョン Premium レベルの API Management インスタンス を作成する

Azure にデプロイする
このテンプレートでは、追加の場所を使用して API Management インスタンスを作成する方法を示します。 プライマリの場所は、リソース グループの場所と同じです。 その他の場所については、テンプレートに NorthCentralUs と米国東部 2 が表示されます。 プライマリの場所は、追加の場所とは異なる必要があります。
テンプレート を使用して API Management インスタンスとすべてのサブリソースを作成する

Azure にデプロイする
このテンプレートでは、API Management サービスを作成し、サブエンティティを構成する方法を示します
MSI ID を持つ API Management インスタンスを作成する

Azure にデプロイする
このテンプレートは、MSI ID を持つ Azure API Management の開発者インスタンスを作成します
テンプレート を使用して API Management インスタンスを作成する

Azure にデプロイする
このテンプレートは、Azure API Management の開発者インスタンスを作成します
カスタム ホスト名を使用して API Management インスタンスを作成

Azure にデプロイする
このテンプレートでは、ポータル用のカスタム ホスト名とプロキシ用の複数のカスタム ホスト名を使用して Azure API Management のインスタンスを作成する方法を示します
プライベート エンドポイントを使用して API Management サービスを作成

Azure にデプロイする
このテンプレートは、API Management サービス、仮想ネットワーク、および API Management サービスを仮想ネットワークに公開するプライベート エンドポイントを作成します。
KeyVault から SSL を使用して API Management サービスを作成する

Azure にデプロイする
このテンプレートは、ユーザー割り当て ID で構成された API Management サービスをデプロイします。 この ID を使用して KeyVault から SSL 証明書をフェッチし、4 時間ごとにチェックすることで更新を維持します。
API Management インスタンス の作成と監視

Azure にデプロイする
このテンプレートは、Azure API Management サービスと Log Analytics ワークスペースのインスタンスを作成し、Log Analytics を使用して API Management サービスの監視を設定します
App Gateway を使用して内部 VNet に API Management を作成する

Azure にデプロイする
このテンプレートでは、Azure Application Gateway によって保護されたプライベート ネットワーク上に Azure API Management のインスタンスを作成する方法を示します。
KeyVault を使用してカスタム プロキシ ssl を使用して API Management を作成する

Azure にデプロイする
このテンプレートでは、Azure API Management のインスタンスを作成し、keyvault の ssl 証明書を使用してプロキシのカスタム ホスト名を構成する方法を示します。
Azure API Management の前に Azure Front Door を作成する

Azure
にデプロイする
このサンプルでは、Azure API Management の前でグローバル ロード バランサーとして Azure Front Door を使用する方法を示します。
パブリック IP を使用して外部 VNet に API Management をデプロイする

Azure にデプロイする
このテンプレートでは、外部モードで仮想ネットワークのサブネット内の Premium レベルで Azure API Management のインスタンスを作成し、そのサブネットで推奨される NSG 規則を構成する方法を示します。 インスタンスは 2 つの可用性ゾーンにデプロイされます。 このテンプレートでは、サブスクリプションのパブリック IP アドレスも構成されます。
パブリック IP を使用して内部 VNet に API Management をデプロイする

Azure にデプロイする
このテンプレートでは、内部モードで仮想ネットワークのサブネット内の Premium レベルで Azure API Management のインスタンスを作成し、そのサブネットで推奨される NSG 規則を構成する方法を示します。 インスタンスは 2 つの可用性ゾーンにデプロイされます。 このテンプレートでは、サブスクリプションのパブリック IP アドレスも構成されます。
Api Management を Availability Zones にデプロイする

Azure にデプロイする
このテンプレートは、Azure API Management の Premium インスタンスを作成し、可用性ゾーンにデプロイします
外部の Azure Cache for Redis を使用して API Management をデプロイする

Azure
にデプロイする
このテンプレートでは、外部 Azure Cache for Redis インスタンスを API Management 外部キャッシュとして使用層に Azure API Management のインスタンスを作成する方法を示します。
API Management の配信元 を使用した Front Door Standard/Premium の

Azure
にデプロイする
このテンプレートは、Front Door Premium と API Management インスタンスを作成し、NSG とグローバル API Management ポリシーを使用して、トラフィックが Front Door の配信元を通過したことを検証します。

Terraform (AzAPI プロバイダー) リソース定義

サービス リソースの種類は、次を対象とする操作でデプロイできます。

  • リソース グループの

各 API バージョンで変更されたプロパティの一覧については、変更ログの参照してください。

リソースの形式

Microsoft.ApiManagement/service リソースを作成するには、次の Terraform をテンプレートに追加します。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ApiManagement/service@2019-12-01"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      additionalLocations = [
        {
          disableGateway = bool
          location = "string"
          sku = {
            capacity = int
            name = "string"
          }
          virtualNetworkConfiguration = {
            subnetResourceId = "string"
          }
        }
      ]
      apiVersionConstraint = {
        minApiVersion = "string"
      }
      certificates = [
        {
          certificate = {
            expiry = "string"
            subject = "string"
            thumbprint = "string"
          }
          certificatePassword = "string"
          encodedCertificate = "string"
          storeName = "string"
        }
      ]
      customProperties = {
        {customized property} = "string"
      }
      disableGateway = bool
      enableClientCertificate = bool
      hostnameConfigurations = [
        {
          certificate = {
            expiry = "string"
            subject = "string"
            thumbprint = "string"
          }
          certificatePassword = "string"
          defaultSslBinding = bool
          encodedCertificate = "string"
          hostName = "string"
          keyVaultId = "string"
          negotiateClientCertificate = bool
          type = "string"
        }
      ]
      notificationSenderEmail = "string"
      publisherEmail = "string"
      publisherName = "string"
      virtualNetworkConfiguration = {
        subnetResourceId = "string"
      }
      virtualNetworkType = "string"
    }
    sku = {
      capacity = int
      name = "string"
    }
  }
}

プロパティ値

Microsoft.ApiManagement/サービス

名前 形容 価値
ID Api Management サービスのマネージド サービス ID。 ApiManagementServiceIdentity の
位置 リソースの場所。 string (必須)
名前 リソース名

制約:
最小長 = 1
最大長 = 50
パターン = ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ (必須)
プロパティ API Management サービスのプロパティ。 ApiManagementServiceProperties (必須)
エスケーユー API Management サービスの SKU プロパティ。 ApiManagementServiceSkuProperties (必須)
タグ リソース タグ タグ名と値のディクショナリ。
リソースの種類 "Microsoft.ApiManagement/service@2019-12-01"

追加ロケーション

名前 形容 価値
ディセーブルゲートウェイ プロパティは、複数の場所にデプロイされた Api Management サービスに対してのみ有効です。 これを使用して、この追加の場所でゲートウェイを無効にすることができます。 ブール (bool)
位置 Azure データ センター リージョン間の追加リージョンの場所名。 string (必須)
エスケーユー API Management サービスの SKU プロパティ。 ApiManagementServiceSkuProperties (必須)
virtualNetworkConfiguration (仮想ネットワーク構成) 場所の仮想ネットワーク構成。 VirtualNetworkConfiguration (仮想ネットワーク構成)

ApiManagementServiceBasePropertiesCustomProperties

名前 形容 価値

ApiManagementServiceIdentity の

名前 形容 価値
リソースに使用される ID の種類。 型 'SystemAssigned, UserAssigned' には、暗黙的に作成された ID とユーザー割り当て ID のセットの両方が含まれます。 型 'None' は、サービスからすべての ID を削除します。 「なし」
'システム割り当て'
'SystemAssigned,UserAssigned'
'UserAssigned' (必須)
userAssignedIdentities (ユーザー割り当て済みアイデンティティ) リソースに関連付けられているユーザー ID の一覧。 ユーザー ID
ディクショナリ キー参照は、次の形式の ARM リソース ID になります。
'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'。
ApiManagementServiceIdentityUserAssignedIdentities

ApiManagementServiceIdentityUserAssignedIdentities

名前 形容 価値

ApiManagementServiceProperties の

名前 形容 価値
追加の場所 API Management サービスの追加のデータセンターの場所。 AdditionalLocationの []
apiVersionConstraint の API Management サービスのコントロール プレーン API のバージョン制約。 ApiVersionConstraint (英語)
証明 書 API Management サービスにインストールする必要がある証明書の一覧。 インストールできるサポートされる証明書の最大数は 10 です。 CertificateConfiguration[]
カスタムプロパティ 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です。

次のいずれかの暗号を無効にするには、次の 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 されます。

注: 次の暗号は Azure CloudService 内部コンポーネントで必要であるため、無効にすることはできません。
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
TLS_RSA_WITH_AES_256_GCM_SHA384
ApiManagementServiceBasePropertiesCustomProperties
ディセーブルゲートウェイ プロパティは、複数の場所にデプロイされた Api Management サービスに対してのみ有効です。 これを使用して、マスター リージョンのゲートウェイを無効にすることができます。 ブール (bool)
enableClientCertificate (英語) プロパティは、従量課金 SKU サービスにのみ使用されます。 これにより、ゲートウェイへの各要求にクライアント証明書が提示されます。 これにより、ゲートウェイのポリシーで証明書を認証することもできます。 ブール (bool)
ホスト名設定 API Management サービスのカスタム ホスト名構成。 ホスト名設定[]
notificationSenderEメール 通知の送信先となる電子メール アドレス。

制約:
最大長 = 100
publisherEメール 発行元の電子メール。

制約:
最大長 = 100 (必須)
出版社名 発行元名。

制約:
最大長 = 100 (必須)
virtualNetworkConfiguration (仮想ネットワーク構成) API Management サービスの仮想ネットワーク構成。 VirtualNetworkConfiguration (仮想ネットワーク構成)
バーチャルネットワークタイプ API Management サービスを構成する必要がある VPN の種類。 None (既定値) は、API Management サービスが仮想ネットワークに含まれていないことを意味し、外部は、インターネットに接続するエンドポイントを持つ仮想ネットワーク内に API Management デプロイが設定されていることを意味し、内部はイントラネットに接続するエンドポイントのみを持つ仮想ネットワーク内で API Management のデプロイが設定されることを意味します。 「外部」
「内部」
「なし」

ApiManagementServiceSkuプロパティ

名前 形容 価値
キャパシティ SKU の容量 (SKU のデプロイされたユニットの数)。 従量課金 SKU の容量は 0 として指定する必要があります。 int (必須)
名前 SKU の名前。 「ベーシック」
「消費」
「開発者」
「プレミアム」
'Standard' (必須)

ApimResourceタグ

名前 形容 価値

ApiVersionConstraint (英語)

名前 形容 価値
minApiVersion (英語) この値以上のバージョンを使用して、API Management サービスへのコントロール プレーン API 呼び出しを制限します。 文字列

CertificateConfiguration (証明書の構成)

名前 形容 価値
証明書 証明書情報。 CertificateInformation の
certificateパスワード 証明書パスワード。 文字列
エンコードされた証明書 Base64 でエンコードされた証明書。 文字列
店名 System.Security.Cryptography.x509certificates.StoreName 証明書ストアの場所。 有効な場所は Root と CertificateAuthority だけです。 '認証局'
'Root' (必須)

証明書情報

名前 形容 価値
有効 期限 証明書の有効期限。 日付は、ISO 8601 標準で指定された yyyy-MM-ddTHH:mm:ssZ 形式に準拠しています。 string (必須)
件名 証明書のサブジェクト。 string (必須)
サムプリント 証明書の拇印。 string (必須)

ホスト名設定

名前 形容 価値
証明書 証明書情報。 CertificateInformation の
certificateパスワード 証明書パスワード。 文字列
defaultSslBinding の このホスト名に関連付けられている証明書を既定の SSL 証明書として設定するには、true を指定します。 クライアントが SNI ヘッダーを送信しない場合、これはチャレンジされる証明書になります。 このプロパティは、サービスで複数のカスタム ホスト名が有効になっていて、既定の ssl 証明書を決定する必要がある場合に便利です。 この設定は、プロキシ ホスト名の種類にのみ適用されます。 ブール (bool)
エンコードされた証明書 Base64 でエンコードされた証明書。 文字列
ホスト名 Api Management サービスで構成するホスト名。 string (必須)
キー・ヴォールト・イド Ssl 証明書を含む KeyVault シークレットの URL。 バージョンを含む絶対 URL が指定されている場合、ssl 証明書の自動更新は機能しません。 そのためには、API Management サービスを MSI で構成する必要があります。 シークレットの種類は application/x-pkcs12 する必要があります 文字列
ネゴシエートClientCertificate ホスト名のクライアント証明書を常にネゴシエートするには、true を指定します。 既定値は false です。 ブール (bool)
ホスト名の種類。 「開発者ポータル」
「マネジメント」
「ポータル」
「プロキシ」
'Scm' (必須)

ユーザーアイデンティティプロパティ

名前 形容 価値
クライアントID ユーザー割り当て ID のクライアント ID。 文字列
プリンシパルID ユーザー割り当て ID のプリンシパル ID。 文字列

VirtualNetworkConfiguration (仮想ネットワーク構成)

名前 形容 価値
サブネットリソースID API Management サービスをデプロイする仮想ネットワーク内のサブネットの完全なリソース ID。

制約:
パターン = ^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$

使用例

Azure 検証済みモジュール

次の Azure 検証済みモジュール を使用して、このリソースの種類をデプロイできます。

モジュール 形容
API Management サービス API Management サービスの AVM リソース モジュール