Skip to content

[azure_blob_storage, azure_network_watcher_nsg, azure_network_watcher_vnet, symantec_enpoint_security] Add RBAC Based Auth for Azure Blob Storage Input #14396

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

mohitjha-elastic
Copy link
Collaborator

@mohitjha-elastic mohitjha-elastic commented Jul 2, 2025

Proposed commit message

azure_blob_storage,azure_network_watcher_nsg,azure_network_watcher_vnet,symantec_enpoint_security: add RBAC-based authentication for azure blob storage input

Implemented RBAC-based authentication support for the azure blob storage
input across the following packages: azure_blob_storage,
azure_network_watcher_nsg, azure_network_watcher_vnet, and
symantec_endpoint_security. This enhancement enables secure data
collection using azure active directory RBAC credentials instead of
access keys.

Checklist

  • I have reviewed tips for building integrations and this pull request is aligned with them.
  • I have verified that all data streams collect metrics or logs.
  • I have added an entry to my package's changelog.yml file.
  • I have verified that Kibana version constraints are current according to guidelines.
  • I have verified that any added dashboard complies with Kibana's Dashboard good practices

How to test this PR locally

  • Clone integrations repo.
  • Install elastic package locally.
  • Start elastic stack using elastic-package.
  • Move to integrations/packages/<integration_name> directory.
  • Run the following command to run tests.

elastic-package test -v

NOTE: Replace the <integration_name> with the actual one.

Related Issue

@mohitjha-elastic mohitjha-elastic self-assigned this Jul 2, 2025
@mohitjha-elastic mohitjha-elastic requested a review from a team as a code owner July 2, 2025 07:40
@mohitjha-elastic mohitjha-elastic added enhancement New feature or request Integration:azure_blob_storage Custom Azure Blob Storage Input Team:Security-Service Integrations Security Service Integrations team [elastic/security-service-integrations] Integration:azure_network_watcher_vnet Azure Network Watcher VNet Integration:azure_network_watcher_nsg Azure Network Watcher NSG Integration:symantec_endpoint_security Symantec Endpoint Security Team:Sit-Crest Crest developers on the Security Integrations team [elastic/sit-crest-contractors] labels Jul 2, 2025
@elasticmachine
Copy link

Pinging @elastic/security-service-integrations (Team:Security-Service Integrations)

@elastic-vault-github-plugin-prod

🚀 Benchmarks report

To see the full report comment with /test benchmark fullreport

@mohitjha-elastic mohitjha-elastic requested a review from ShourieG July 2, 2025 10:51
@mohitjha-elastic
Copy link
Collaborator Author

Here are the recording:

Azure-NSG.Recording.2025-06-18.124349.mp4
Azure-vnet.Recording.2025-06-18.134731.mp4
SES.Recording.2025-06-18.140523.mp4
ABS.Recording.mp4

@ShourieG ShourieG added the documentation Improvements or additions to documentation. Applied to PRs that modify *.md files. label Jul 2, 2025
@mohitjha-elastic mohitjha-elastic requested a review from ShourieG July 2, 2025 11:24
@mohitjha-elastic mohitjha-elastic requested a review from kcreddy July 3, 2025 10:43
Copy link
Contributor

@kcreddy kcreddy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nits.


**Note**: Enable virtual network flow logs using the steps provided in [reference](https://learn.microsoft.com/en-us/azure/network-watcher/nsg-flow-logs-portal).
- How to setup the `auth.oauth2` credentials can be found in the Azure documentation https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app[here]
Copy link
Contributor

@kcreddy kcreddy Jul 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mohitjha-elastic, the link doesn't render. Please check.
Could be due to presence of [here] in the suffix.

@@ -21,8 +21,15 @@ Elastic Agent must be installed. For more details, check the Elastic Agent [inst
3. Click on **Show** keys to show your **access keys** and **connection strings** and to enable buttons to copy the values.
4. Under key1, find the Key value. Click on the Copy button to copy the **account key**. Same way you can copy the **storage account name** shown above keys.
5. Go to **Containers** under **Data storage** in your storage account to copy the **container name**.
6. Configure the integration using either Service Account Credentials or Microsoft Entra ID RBAC with OAuth2 options.For OAuth2 (Entra ID RBAC), you'll need the Client ID, Client Secret, and Tenant ID. For Service Account Credentials, you'll need either the Service Account Key or the URI to access the data.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
6. Configure the integration using either Service Account Credentials or Microsoft Entra ID RBAC with OAuth2 options.For OAuth2 (Entra ID RBAC), you'll need the Client ID, Client Secret, and Tenant ID. For Service Account Credentials, you'll need either the Service Account Key or the URI to access the data.
6. Configure the integration using either Service Account Credentials or Microsoft Entra ID RBAC with OAuth2 options. For OAuth2 (Entra ID RBAC), you'll need the Client ID, Client Secret, and Tenant ID. For Service Account Credentials, you'll need either the Service Account Key or the URI to access the data.


**Note**: Enable virtual network flow logs using the steps provided in [reference](https://learn.microsoft.com/en-us/azure/network-watcher/nsg-flow-logs-portal).
- How to setup the `auth.oauth2` credentials can be found in the Azure documentation https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app[here]
- For more details about the Azure Blob Storage input settings, check the [Filebeat documentation](https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-azure-blob-storage.html).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- For more details about the Azure Blob Storage input settings, check the [Filebeat documentation](https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-azure-blob-storage.html).
- For more details about the Azure Blob Storage input settings, check the [Filebeat documentation](https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-input-azure-blob-storage.html).

Note:
- Enable virtual network flow logs using the steps provided in [reference](https://learn.microsoft.com/en-us/azure/network-watcher/nsg-flow-logs-portal).
- The service principal must be granted the appropriate permissions to read blobs. Ensure that the necessary role assignments are in place for the service principal to access the storage resources. For more information, please refer to the [Azure Role-Based Access Control (RBAC) documentation](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles/storage).
- We recommend assigning either the Storage Blob Data Reader or BlobOwner role. The Storage Blob Data Reader role provides read-only access to blob data and is aligned with the principle of least privilege, making it suitable for most use cases. The Storage Blob Data Owner role grants full administrative access — including read, write, and delete permissions — and should be used only when such elevated access is explicitly required.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- We recommend assigning either the Storage Blob Data Reader or BlobOwner role. The Storage Blob Data Reader role provides read-only access to blob data and is aligned with the principle of least privilege, making it suitable for most use cases. The Storage Blob Data Owner role grants full administrative access — including read, write, and delete permissions — and should be used only when such elevated access is explicitly required.
- We recommend assigning either the **Storage Blob Data Reader** or **Storage Blob Data Owner** role. The **Storage Blob Data Reader** role provides read-only access to blob data and is aligned with the principle of least privilege, making it suitable for most use cases. The **Storage Blob Data Owner** role grants full administrative access — including read, write, and delete permissions — and should be used only when such elevated access is explicitly required.

@mohitjha-elastic mohitjha-elastic requested a review from kcreddy July 3, 2025 12:34
Copy link
Contributor

@kcreddy kcreddy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM for my comments.

@elasticmachine
Copy link

💚 Build Succeeded

History

cc @mohitjha-elastic

Copy link

Copy link
Contributor

@ShourieG ShourieG left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@mohitjha-elastic mohitjha-elastic merged commit ea221ca into elastic:main Jul 4, 2025
7 checks passed
@mohitjha-elastic mohitjha-elastic deleted the add-rbac-oauth2-in-azure-blob-storage branch July 4, 2025 09:10
@elastic-vault-github-plugin-prod

Package azure_blob_storage - 2.3.0 containing this change is available at https://epr.elastic.co/package/azure_blob_storage/2.3.0/

@elastic-vault-github-plugin-prod

Package azure_network_watcher_nsg - 1.5.0 containing this change is available at https://epr.elastic.co/package/azure_network_watcher_nsg/1.5.0/

@elastic-vault-github-plugin-prod

Package azure_network_watcher_vnet - 1.6.0 containing this change is available at https://epr.elastic.co/package/azure_network_watcher_vnet/1.6.0/

@elastic-vault-github-plugin-prod

Package symantec_endpoint_security - 1.13.0 containing this change is available at https://epr.elastic.co/package/symantec_endpoint_security/1.13.0/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation. Applied to PRs that modify *.md files. enhancement New feature or request Integration:azure_blob_storage Custom Azure Blob Storage Input Integration:azure_network_watcher_nsg Azure Network Watcher NSG Integration:azure_network_watcher_vnet Azure Network Watcher VNet Integration:symantec_endpoint_security Symantec Endpoint Security Team:Security-Service Integrations Security Service Integrations team [elastic/security-service-integrations] Team:Sit-Crest Crest developers on the Security Integrations team [elastic/sit-crest-contractors]
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[integrations] - Update Azure Blob Storage Input template options with support RBAC based authentication.
4 participants