Skip to content

Commit db64fb5

Browse files
Merge pull request #251385 from alfpark/alpark/batch2
Update Batch OS security best practices
2 parents e9b16c3 + 705bc69 commit db64fb5

File tree

2 files changed

+41
-6
lines changed

2 files changed

+41
-6
lines changed

articles/batch/best-practices.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Best practices
33
description: Learn best practices and useful tips for developing your Azure Batch solutions.
4-
ms.date: 01/18/2023
4+
ms.date: 09/13/2023
55
ms.topic: conceptual
66
---
77

@@ -35,13 +35,14 @@ initiates communication to the compute nodes, and compute nodes also require com
3535
node communication model, compute nodes initiate communication with the Batch service. Due to the reduced scope of
3636
inbound/outbound connections required, and not requiring Azure Storage outbound access for baseline operation, the recommendation
3737
is to use the simplified node communication model. Some future improvements to the Batch service will also require the simplified
38-
node communication model.
38+
node communication model. The classic node communication model will be
39+
[retired on March 31, 2026](batch-pools-to-simplified-compute-node-communication-model-migration-guide.md).
3940

4041
- **Job and task run time considerations:** If you have jobs comprised primarily of short-running tasks, and the expected total task counts are small, so that the overall expected run time of the job isn't long, don't allocate a new pool for each job. The allocation time of the nodes will diminish the run time of the job.
4142

4243
- **Multiple compute nodes:** Individual nodes aren't guaranteed to always be available. While uncommon, hardware failures, operating system updates, and a host of other issues can cause individual nodes to be offline. If your Batch workload requires deterministic, guaranteed progress, you should allocate pools with multiple nodes.
4344

44-
- **Images with impending end-of-life (EOL) dates:** We strongly recommended avoiding images with impending Batch support
45+
- **Images with impending end-of-life (EOL) dates:** It's strongly recommended to avoid images with impending Batch support
4546
end of life (EOL) dates. These dates can be discovered via the
4647
[`ListSupportedImages` API](/rest/api/batchservice/account/listsupportedimages),
4748
[PowerShell](/powershell/module/az.batch/get-azbatchsupportedimage), or

articles/batch/security-best-practices.md

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Batch security and compliance best practices
33
description: Learn best practices and useful tips for enhancing security with your Azure Batch solutions.
4-
ms.date: 11/15/2022
4+
ms.date: 09/13/2023
55
ms.topic: conceptual
66
---
77

@@ -27,7 +27,9 @@ Pools can also be configured in one of two node communication modes, classic or
2727
In the classic node communication model, the Batch service initiates communication to the compute nodes, and compute nodes
2828
also require communicating to Azure Storage. In the simplified node communication model, compute nodes initiate communication
2929
with the Batch service. Due to the reduced scope of inbound/outbound connections required, and not requiring Azure Storage
30-
outbound access for baseline operation, the recommendation is to use the simplified node communication model.
30+
outbound access for baseline operation, the recommendation is to use the simplified node communication model. The classic
31+
node communication model will be
32+
[retired on March 31, 2026](batch-pools-to-simplified-compute-node-communication-model-migration-guide.md).
3133

3234
### Batch account authentication
3335

@@ -60,10 +62,42 @@ In addition to operations specific to a Batch account, [management operations](/
6062

6163
Batch management operations via Azure Resource Manager are encrypted using HTTPS, and each request is authenticated using Azure AD authentication.
6264

63-
### Batch pool nodes
65+
### Batch pool compute nodes
6466

6567
The Batch service communicates with a Batch node agent that runs on each node in the pool. For example, the service instructs the node agent to run a task, stop a task, or get the files for a task. Communication with the node agent is enabled by one or more load balancers, the number of which depends on the number of nodes in a pool. The load balancer forwards the communication to the desired node, with each node being addressed by a unique port number. By default, load balancers have public IP addresses associated with them. You can also remotely access pool nodes via RDP or SSH (this access is enabled by default, with communication via load balancers).
6668

69+
#### Batch compute node OS
70+
71+
Batch supports both Linux and Windows operating systems. Batch supports Linux with an aligned node agent for a subset of Linux OS
72+
distributions. It's recommended that the operating system is kept up-to-date with the latest patches provided by the OS
73+
publisher.
74+
75+
Batch support for images and node agents phase out over time, typically aligned with publisher support timelines. It's
76+
recommended to avoid using images with impending end-of-life (EOL) dates or images that are past their EOL date.
77+
It's your responsibility to periodically refresh your view of the EOL dates pertinent to your pools and migrate your workloads
78+
before the EOL date occurs. If you're using a custom image with a specified node agent, ensure that you follow Batch support
79+
end-of-life dates for the image for which your custom image is derived or aligned with. An image without a specified
80+
`batchSupportEndOfLife` date indicates that such a date hasn't been determined yet by the Batch service. Absence of a date
81+
doesn't indicate that the respective image will be supported indefinitely. An EOL date may be added or updated in the future
82+
at any time. EOL dates can be discovered via the
83+
[`ListSupportedImages` API](/rest/api/batchservice/account/listsupportedimages),
84+
[PowerShell](/powershell/module/az.batch/get-azbatchsupportedimage), or
85+
[Azure CLI](/cli/azure/batch/pool/supported-images).
86+
87+
#### Windows OS Transport Layer Security (TLS)
88+
89+
The Batch node agent doesn't modify operating system level defaults for SSL/TLS versions or cipher suite ordering. In Windows,
90+
SSL/TLS versions and cipher suite order is controlled at the operating system level, and therefore the Batch node agent adopts
91+
the settings set by the image used by each compute node. Although the Batch node agent attempts to utilize the
92+
most secure settings available when possible, it can still be limited by operating system level settings. We recommend that
93+
you review your OS level defaults and set them appropriately for the most secure mode that is amenable for your workflow and
94+
organizational requirements. For more information, please visit
95+
[Manage TLS](https://learn.microsoft.com/windows-server/security/tls/manage-tls) for cipher suite order enforcement and
96+
[TLS registry settings](https://learn.microsoft.com/windows-server/security/tls/tls-registry-settings) for SSL/TLS version
97+
control for Schannel SSP. Note that some setting changes require a reboot to take effect. Utilizing a newer operating system
98+
with modern security defaults or a [custom image](batch-sig-images.md) with modified settings is recommended instead of
99+
application of such settings with a Batch start task.
100+
67101
### Restricting access to Batch endpoints
68102

69103
Several capabilities are available to limit access to the various Batch endpoints, especially when the solution uses a virtual network.

0 commit comments

Comments
 (0)