Skip to content

Commit 67a0c5f

Browse files
authored
Merge pull request #202901 from MicrosoftDocs/main
Merge default branch to live 6/26 Sunday 4:00 PM
2 parents e9de96a + 46254d8 commit 67a0c5f

File tree

3 files changed

+87
-21
lines changed

3 files changed

+87
-21
lines changed

articles/api-management/self-hosted-gateway-migration-guide.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,15 @@ Customer must use the new Configuration API v2 by changing their deployment scri
6464
> * DNS hostname must be resolvable to IP addresses and the corresponding IP addresses must be reachable.
6565
> This might require additional configuration in case you are using a private DNS, internal VNET or other infrastrutural requirements.
6666
67-
### Meet minimal security requirements
67+
### Security
68+
69+
#### Available TLS cipher suites
70+
71+
At launch, self-hosted gateway v2.0 only used a subset of the cipher suites that v1.x was using. As of v2.0.4, we have brought back all the cipher suites that v1.x supported.
72+
73+
You can learn more about the used cipher suites in [this article](self-hosted-gateway-overview.md#available-cipher-suites) or use v2.1.1 to [control what cipher suites to use](self-hosted-gateway-overview.md#managing-cipher-suites).
74+
75+
#### Meet minimal security requirements
6876

6977
During startup, the self-hosted gateway will prepare the CA certificates that will be used. This requires the gateway container to run with at least user ID 1001 and can't use read-only file system.
7078

articles/api-management/self-hosted-gateway-overview.md

Lines changed: 65 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ This article explains how the self-hosted gateway feature of Azure API Managemen
1919

2020
The self-hosted gateway feature expands API Management support for hybrid and multi-cloud environments and enables organizations to efficiently and securely manage APIs hosted on-premises and across clouds from a single API Management service in Azure.
2121

22-
With the self-hosted gateway, customers have the flexibility to deploy a containerized version of the API Management gateway component to the same environments where they host their APIs. All self-hosted gateways are managed from the API Management service they are federated with, thus providing customers with the visibility and unified management experience across all internal and external APIs. Placing the gateways close to the APIs allows customers to optimize API traffic flows and address security and compliance requirements.
22+
With the self-hosted gateway, customers have the flexibility to deploy a containerized version of the API Management gateway component to the same environments where they host their APIs. All self-hosted gateways are managed from the API Management service they're federated with, thus providing customers with the visibility and unified management experience across all internal and external APIs. Placing the gateways close to the APIs allows customers to optimize API traffic flows and address security and compliance requirements.
2323

2424
Each API Management service is composed of the following key components:
2525

@@ -57,7 +57,7 @@ We provide a variety of container images for self-hosted gateways to meet your n
5757

5858
| Tag convention | Recommendation | Example | Rolling tag | Recommended for production |
5959
| ------------- | -------- | ------- | ------- | ------- |
60-
| `{major}.{minor}.{patch}` | Use this tag to always to run the same version of the gateway |`2.0.0` || ✔️ |
60+
| `{major}.{minor}.{patch}` | Use this tag to always run the same version of the gateway |`2.0.0` || ✔️ |
6161
| `v{major}` | Use this tag to always run a major version of the gateway with every new feature and patch. |`v2` | ✔️ ||
6262
| `v{major}-preview` | Use this tag if you always want to run our latest preview container image. | `v2-preview` | ✔️ ||
6363
| `latest` | Use this tag if you want to evaluate the self-hosted gateway. | `latest` | ✔️ ||
@@ -66,12 +66,12 @@ You can find a full list of available tags [here](https://mcr.microsoft.com/prod
6666

6767
#### Use of tags in our official deployment options
6868

69-
Our deployment options in the Azure portal use the `v2` tag which allows customers to use the most recent version of the self-hosted gateway v2 container image with all feature updates and patches.
69+
Our deployment options in the Azure portal use the `v2` tag that allows customers to use the most recent version of the self-hosted gateway v2 container image with all feature updates and patches.
7070

7171
> [!NOTE]
7272
> We provide the command and YAML snippets as reference, feel free to use a more specific tag if you wish to.
7373
74-
When installing with our Helm chart, image tagging is optimized for you. The Helm chart's application version pins the gateway to a given version and does not rely on `latest`.
74+
When installing with our Helm chart, image tagging is optimized for you. The Helm chart's application version pins the gateway to a given version and doesn't rely on `latest`.
7575

7676
Learn more on how to [install an API Management self-hosted gateway on Kubernetes with Helm](how-to-deploy-self-hosted-gateway-kubernetes-helm.md).
7777

@@ -91,7 +91,7 @@ Example - `v2` tag was released with `2.0.0` container image, but when `2.1.0` w
9191
Self-hosted gateways require outbound TCP/IP connectivity to Azure on port 443. Each self-hosted gateway must be associated with a single API Management service and is configured via its management plane. A self-hosted gateway uses connectivity to Azure for:
9292

9393
- Reporting its status by sending heartbeat messages every minute
94-
- Regularly checking for (every 10 seconds) and applying configuration updates whenever they are available
94+
- Regularly checking for (every 10 seconds) and applying configuration updates whenever they're available
9595
- Sending metrics to Azure Monitor, if configured to do so
9696
- Sending events to Application Insights, if set to do so
9797

@@ -120,7 +120,7 @@ The self-hosted gateway v2 requires the following:
120120
* The public IP address of the API Management instance in its primary location
121121
* The hostname of the instance's configuration endpoint: `<apim-service-name>.configuration.azure-api.net`
122122

123-
Additionally, customers that use API inspector or quotas in their policies have to ensure that the following additional dependencies are accessible:
123+
Additionally, customers that use API inspector or quotas in their policies have to ensure that the following dependencies are accessible:
124124

125125
* The hostname of the instance's associated blob storage account: `<blob-storage-account-name>.blob.core.windows.net`
126126
* The hostname of the instance's associated table storage account: `<table-storage-account-name>.table.core.windows.net`
@@ -145,7 +145,7 @@ The self-hosted gateway is designed to "fail static" and can survive temporary l
145145
When configuration backup is turned off and connectivity to Azure is interrupted:
146146

147147
- Running self-hosted gateways will continue to function using an in-memory copy of the configuration
148-
- Stopped self-hosted gateways will not be able to start
148+
- Stopped self-hosted gateways won't be able to start
149149

150150
When configuration backup is turned on and connectivity to Azure is interrupted:
151151

@@ -154,6 +154,64 @@ When configuration backup is turned on and connectivity to Azure is interrupted:
154154

155155
When connectivity is restored, each self-hosted gateway affected by the outage will automatically reconnect with its associated API Management service and download all configuration updates that occurred while the gateway was "offline".
156156

157+
## Security
158+
159+
### Transport Layer Security (TLS)
160+
161+
> [!IMPORTANT]
162+
> This overview is only applicable to the self-hosted gateway v1 & v2.
163+
164+
#### Supported protocols
165+
166+
The self-hosted gateway provides support for TLS v1.2 by default.
167+
168+
Customers using custom domains can enable TLS v1.0 and/or v1.1 [in the control plane](/rest/api/apimanagement/current-ga/gateway-hostname-configuration/create-or-update).
169+
170+
#### Available cipher suites
171+
172+
> [!IMPORTANT]
173+
> This overview is only applicable to the self-hosted gateway v2.
174+
175+
The self-hosted gateway uses the following cipher suites for both client and server connections:
176+
177+
- `TLS_AES_256_GCM_SHA384`
178+
- `TLS_CHACHA20_POLY1305_SHA256`
179+
- `TLS_AES_128_GCM_SHA256`
180+
- `TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384`
181+
- `TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384`
182+
- `TLS_DHE_RSA_WITH_AES_256_GCM_SHA384`
183+
- `TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256`
184+
- `TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256`
185+
- `TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256`
186+
- `TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256`
187+
- `TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256`
188+
- `TLS_DHE_RSA_WITH_AES_128_GCM_SHA256`
189+
- `TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384`
190+
- `TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384`
191+
- `TLS_DHE_RSA_WITH_AES_256_CBC_SHA256`
192+
- `TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256`
193+
- `TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256`
194+
- `TLS_DHE_RSA_WITH_AES_128_CBC_SHA256`
195+
- `TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA`
196+
- `TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA`
197+
- `TLS_DHE_RSA_WITH_AES_256_CBC_SHA`
198+
- `TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA`
199+
- `TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA`
200+
- `TLS_DHE_RSA_WITH_AES_128_CBC_SHA`
201+
- `TLS_RSA_WITH_AES_256_GCM_SHA384`
202+
- `TLS_RSA_WITH_AES_128_GCM_SHA256`
203+
- `TLS_RSA_WITH_AES_256_CBC_SHA256`
204+
- `TLS_RSA_WITH_AES_128_CBC_SHA256`
205+
- `TLS_RSA_WITH_AES_256_CBC_SHA`
206+
- `TLS_RSA_WITH_AES_128_CBC_SHA`
207+
208+
#### Managing cipher suites
209+
210+
As of v2.1.1 and above, you can manage the ciphers that are being used through the configuration:
211+
212+
- `net.server.tls.ciphers.allowed-suites` allows you to define a comma-separated list of ciphers to use for the TLS connection between the API client and the self-hosted gateway.
213+
- `net.client.tls.ciphers.allowed-suites` allows you to define a comma-separated list of ciphers to use for the TLS connection between the self-hosted gateway and the backend.
214+
157215
## Next steps
158216

159217
- Learn more about [API Management in a Hybrid and Multi-Cloud World](https://aka.ms/hybrid-and-multi-cloud-api-management)

articles/applied-ai-services/form-recognizer/containers/form-recognizer-container-install-run.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ azure-cognitive-service-layout:
138138
environment:
139139
- EULA=accept
140140
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
141-
- key={FORM_RECOGNIZER_KEY}
141+
- apiKey={FORM_RECOGNIZER_KEY}
142142
ports:
143143
- "5000"
144144
networks:
@@ -167,19 +167,19 @@ services:
167167
environment:
168168
- EULA=accept
169169
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
170-
- key={FORM_RECOGNIZER_KEY}
170+
- apiKey={FORM_RECOGNIZER_KEY}
171171
- AzureCognitiveServiceReadHost=http://azure-cognitive-service-read:5000
172172
ports:
173173
- "5000:5050"
174174
networks:
175175
- ocrvnet
176176
azure-cognitive-service-read:
177177
container_name: azure-cognitive-service-read
178-
image: mcr.microsoft.com/azure-cognitive-services/vision/read:3.2
178+
image: mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2021-04-12
179179
environment:
180180
- EULA=accept
181181
- billing={COMPUTER_VISION_ENDPOINT_URI}
182-
- key={COMPUTER_VISION_KEY}
182+
- apiKey={COMPUTER_VISION_KEY}
183183
networks:
184184
- ocrvnet
185185

@@ -207,19 +207,19 @@ services:
207207
environment:
208208
- EULA=accept
209209
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
210-
- key={FORM_RECOGNIZER_KEY}
210+
- apiKey={FORM_RECOGNIZER_KEY}
211211
- AzureCognitiveServiceReadHost=http://azure-cognitive-service-read:5000
212212
ports:
213213
- "5000:5050"
214214
networks:
215215
- ocrvnet
216216
azure-cognitive-service-read:
217217
container_name: azure-cognitive-service-read
218-
image: mcr.microsoft.com/azure-cognitive-services/vision/read:3.2
218+
image: mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2021-04-12
219219
environment:
220220
- EULA=accept
221221
- billing={COMPUTER_VISION_ENDPOINT_URI}
222-
- key={COMPUTER_VISION_KEY}
222+
- apiKey={COMPUTER_VISION_KEY}
223223
networks:
224224
- ocrvnet
225225

@@ -247,7 +247,7 @@ services:
247247
environment:
248248
- EULA=accept
249249
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
250-
- key={FORM_RECOGNIZER_KEY}
250+
- apiKey={FORM_RECOGNIZER_KEY}
251251
- AzureCognitiveServiceLayoutHost=http://azure-cognitive-service-layout:5000
252252
ports:
253253
- "5000:5050"
@@ -260,7 +260,7 @@ services:
260260
environment:
261261
- EULA=accept
262262
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
263-
- key={FORM_RECOGNIZER_KEY}
263+
- apiKey={FORM_RECOGNIZER_KEY}
264264
networks:
265265
- ocrvnet
266266

@@ -288,19 +288,19 @@ services:
288288
environment:
289289
- EULA=accept
290290
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
291-
- key={FORM_RECOGNIZER_KEY}
291+
- apiKey={FORM_RECOGNIZER_KEY}
292292
- AzureCognitiveServiceReadHost=http://azure-cognitive-service-read:5000
293293
ports:
294294
- "5000:5050"
295295
networks:
296296
- ocrvnet
297297
azure-cognitive-service-read:
298298
container_name: azure-cognitive-service-read
299-
image: mcr.microsoft.com/azure-cognitive-services/vision/read:3.2
299+
image: mcr.microsoft.com/azure-cognitive-services/vision/read:3.2-model-2021-04-12
300300
environment:
301301
- EULA=accept
302-
- billing={COMPUTER_VISION_ENDPOINT_URI}
303-
- key={COMPUTER_VISION_KEY}
302+
- billing={COMPUTER_VISION_ENDPOINT_URI}
303+
- apiKey={COMPUTER_VISION_KEY}
304304
networks:
305305
- ocrvnet
306306

0 commit comments

Comments
 (0)