Skip to content

Commit 6b5d06e

Browse files
Merge pull request #271472 from rcdun/nickb/clarify-ingestion-vm-security
Improve security guidance for AOI ingestion agent VM
2 parents e5278a1 + 939177c commit 6b5d06e

File tree

1 file changed

+40
-13
lines changed

1 file changed

+40
-13
lines changed

articles/operator-insights/set-up-ingestion-agent.md

Lines changed: 40 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -28,25 +28,52 @@ From the documentation for your Data Product, obtain the:
2828

2929
## VM security recommendations
3030

31-
The VM used for the ingestion agent should be set up following best practice for security. For example:
31+
The VM used for the ingestion agent should be set up following best practice for security. We recommend the following actions:
3232

33-
- Networking - Only allow network traffic on the ports that are required to run the agent and maintain the VM.
34-
- OS version - Keep the OS version up-to-date to avoid known vulnerabilities.
35-
- Access - Limit access to the VM to a minimal set of users, and set up audit logging for their actions. We recommend that you restrict the following.
36-
- Admin access to the VM (for example, to stop/start/install the ingestion agent).
37-
- Access to the directory where the logs are stored: */var/log/az-aoi-ingestion/*.
38-
- Access to the managed identity or certificate and private key for the service principal that you create during this procedure.
39-
- Access to the directory for secrets that you create on the VM during this procedure.
33+
### Networking
34+
35+
When using an Azure VM:
36+
37+
- Give the VM a private IP address.
38+
- Configure a Network Security Group (NSG) to only allow network traffic on the ports that are required to run the agent and maintain the VM.
39+
- Beyond this, network configuration depends on whether restricted access is set up on the data product (whether you're using service endpoints to access the Data product's input storage account). Some networking configuration might incur extra cost, such as an Azure virtual network between the VM and the Data Product's input storage account.
40+
41+
When using an on-premises VM:
42+
43+
- Configure a firewall to only allow network traffic on the ports that are required to run the agent and maintain the VM.
44+
45+
### Disk encryption
46+
47+
Ensure Azure disk encryption is enabled (this is the default when you create the VM).
48+
49+
### OS version
50+
51+
- Keep the OS version up-to-date to avoid known vulnerabilities.
52+
- Configure the VM to periodically check for missing system updates.
53+
54+
### Access
55+
56+
Limit access to the VM to a minimal set of users. Configure audit logging on the VM - for example, using the Linux audit package - to record sign-in attempts and actions taken by logged-in users.
57+
58+
We recommend that you restrict the following:
59+
- Admin access to the VM (for example, to stop/start/install the ingestion agent).
60+
- Access to the directory where the logs are stored: */var/log/az-aoi-ingestion/*.
61+
- Access to the managed identity or certificate and private key for the service principal that you create during this procedure.
62+
- Access to the directory for secrets that you create on the VM during this procedure.
63+
64+
### Microsoft Defender for Cloud
65+
66+
When using an Azure VM, also follow all recommendations from Microsoft Defender for Cloud. You can find these recommendations in the portal by navigating to the VM, then selecting Security.
4067

4168
## Download the RPM for the agent
4269

4370
Download the RPM for the ingestion agent using the details you received as part of the [Azure Operator Insights onboarding process](overview.md#how-do-i-get-access-to-azure-operator-insights) or from [https://go.microsoft.com/fwlink/?linkid=2260508](https://go.microsoft.com/fwlink/?linkid=2260508).
4471

45-
Links to the current and previous releases of the agents are available below the heading of each [release note](ingestion-agent-release-notes.md). If you're looking for an agent version that's more than 6 months old, check out the [release notes archive](ingestion-agent-release-notes-archive.md).
72+
Links to the current and previous releases of the agents are available below the heading of each [release note](ingestion-agent-release-notes.md). If you're looking for an agent version that's more than six months old, check out the [release notes archive](ingestion-agent-release-notes-archive.md).
4673

4774
### Verify the authenticity of the ingestion agent RPM (optional)
4875

49-
Before you install the RPM, you can verify the signature of the RPM with the [Microsoft public key file](https://packages.microsoft.com/keys/microsoft.asc) to ensure it has not been corrupted or tampered with.
76+
Before you install the RPM, you can verify the signature of the RPM with the [Microsoft public key file](https://packages.microsoft.com/keys/microsoft.asc) to ensure it hasn't been corrupted or tampered with.
5077

5178
To do this, perform the following steps:
5279

@@ -71,7 +98,7 @@ The output of the final command should be `<path-to-rpm>: digests signatures OK`
7198
The ingestion agent must be able to authenticate with the Azure Key Vault created by the Data Product to retrieve storage credentials. The method of authentication can either be:
7299
73100
- Service principal with certificate credential. This must be used if the ingestion agent is running outside of Azure, such as an on-premises network.
74-
- Managed identity. If the ingestion agent is running on an Azure VM, we recommend this method. It does not require handling any credentials (unlike a service principal).
101+
- Managed identity. If the ingestion agent is running on an Azure VM, we recommend this method. It doesn't require handling any credentials (unlike a service principal).
75102
76103
> [!IMPORTANT]
77104
> You may need a Microsoft Entra tenant administrator in your organization to perform this setup for you.
@@ -83,7 +110,7 @@ If the ingestion agent is running in Azure, we recommend managed identities. For
83110
> [!NOTE]
84111
> Ingestion agents on Azure VMs support both system-assigned and user-assigned managed identities. For multiple agents, a user-assigned managed identity is simpler because you can authorise the identity to the Data Product Key Vault for all VMs running the agent.
85112
86-
1. Create or obtain a user-assigned managed identity, follow the instructions in [Manage user-assigned managed identities](/entra/identity/managed-identities-azure-resources/how-manage-user-assigned-managed-identities). If you plan to use a system-assigned managed identity, do not create a user-assigned managed identity.
113+
1. Create or obtain a user-assigned managed identity, follow the instructions in [Manage user-assigned managed identities](/entra/identity/managed-identities-azure-resources/how-manage-user-assigned-managed-identities). If you plan to use a system-assigned managed identity, don't create a user-assigned managed identity.
87114
1. Follow the instructions in [Configure managed identities for Azure resources on a VM using the Azure portal](/entra/identity/managed-identities-azure-resources/qs-configure-portal-windows-vm) according to the type of managed identity being used.
88115
1. Note the Object ID of the managed identity. This is a UUID of the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, where each character is a hexadecimal digit.
89116
@@ -160,7 +187,7 @@ Repeat these steps for each VM onto which you want to install the agent.
160187
sudo dnf install systemd logrotate zip
161188
```
162189
1. Obtain the ingestion agent RPM and copy it to the VM.
163-
1. If you are using a service principal, copy the base64-encoded P12 certificate (created in the [Prepare certificates](#prepare-certificates-for-the-service-principal) step) to the VM, in a location accessible to the ingestion agent.
190+
1. If you're using a service principal, copy the base64-encoded P12 certificate (created in the [Prepare certificates](#prepare-certificates-for-the-service-principal) step) to the VM, in a location accessible to the ingestion agent.
164191
1. Configure the agent VM based on the type of ingestion source.
165192
166193
# [SFTP sources](#tab/sftp)

0 commit comments

Comments
 (0)