-
Notifications
You must be signed in to change notification settings - Fork 538
out_azure_logs_ingestion: add support for Managed Identities #2062
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
base: master
Are you sure you want to change the base?
out_azure_logs_ingestion: add support for Managed Identities #2062
Conversation
This change updates the documentation to document support for Managed Identities authentication. It tries to align with the documentation style and content for the similar feature for the out_azure_kusto plugin. Signed-off-by: Stefano Boriero <[email protected]>
15d5f84
to
8f065d6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Stylistic updates for consistency. @fluent/fluent-bit-maintainers should review for technical accuracy.
## Authentication Methods | ||
|
||
Fluent-Bit can use various authentication methods to send records to Azure Log Analytics: | ||
|
||
### Service Principal Authentication (Default) | ||
|
||
For service principal authentication, you'll need to create an Azure AD application: | ||
|
||
- [Register an Application](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app#register-an-application) | ||
- [Add a client secret](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app#add-a-client-secret) | ||
- [Authorize the app in your database](https://docs.microsoft.com/en-us/azure/data-explorer/kusto/management/access-control/principals-and-identity-providers#azure-ad-tenants) | ||
|
||
Configure Fluent Bit with your application's `tenant_id`, `client_id`, and `client_secret`. | ||
|
||
### Managed Identity Authentication | ||
|
||
When running on Azure services that support Managed Identities (such as Azure VMs, AKS, or App Service): | ||
|
||
1. [Assign the managed identity appropriate permissions to your Kusto database](https://learn.microsoft.com/en-us/azure/data-explorer/configure-managed-identities-cluster) | ||
2. Configure Fluent Bit with `auth_type` set to `managed_identity` | ||
3. For system-assigned identity, set `client_id` to `system` | ||
4. For user-assigned identity, set `client_id` to the managed identity's client ID (GUID) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
## Authentication Methods | |
Fluent-Bit can use various authentication methods to send records to Azure Log Analytics: | |
### Service Principal Authentication (Default) | |
For service principal authentication, you'll need to create an Azure AD application: | |
- [Register an Application](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app#register-an-application) | |
- [Add a client secret](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app#add-a-client-secret) | |
- [Authorize the app in your database](https://docs.microsoft.com/en-us/azure/data-explorer/kusto/management/access-control/principals-and-identity-providers#azure-ad-tenants) | |
Configure Fluent Bit with your application's `tenant_id`, `client_id`, and `client_secret`. | |
### Managed Identity Authentication | |
When running on Azure services that support Managed Identities (such as Azure VMs, AKS, or App Service): | |
1. [Assign the managed identity appropriate permissions to your Kusto database](https://learn.microsoft.com/en-us/azure/data-explorer/configure-managed-identities-cluster) | |
2. Configure Fluent Bit with `auth_type` set to `managed_identity` | |
3. For system-assigned identity, set `client_id` to `system` | |
4. For user-assigned identity, set `client_id` to the managed identity's client ID (GUID) | |
## Authentication methods | |
Fluent Bit can use various authentication methods to send records to Azure Log Analytics: | |
### Service principal authentication | |
Service principal authentication is the default method. To use it, you mst create an Azure AD application: | |
- [Register an application](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app#register-an-application) | |
- [Add a client secret](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app#add-a-client-secret) | |
- [Authorize the app in your database](https://docs.microsoft.com/en-us/azure/data-explorer/kusto/management/access-control/principals-and-identity-providers#azure-ad-tenants) | |
Configure Fluent Bit with your application's `tenant_id`, `client_id`, and `client_secret`. | |
### Managed identity authentication | |
When running on Azure services that support managed identities (such as Azure VMs, AKS, or App Service): | |
1. [Assign the managed identity appropriate permissions to your Kusto database](https://learn.microsoft.com/en-us/azure/data-explorer/configure-managed-identities-cluster). | |
1. Configure Fluent Bit with `auth_type` set to `managed_identity`. | |
1. For system-assigned identity, set `client_id` to `system`. | |
1. For user-assigned identity, set `client_id` to the managed identity's client ID (GUID). | |
| :------------ | :------------------------- | :------ | | ||
| `tenant_id` | The tenant ID of the Azure Active Directory (AAD) application. | _none_ | | ||
| `client_id` | The client ID of the AAD application. | _none_ | | ||
| `client_id` | _Required for service_principal and managed_identity auth_ - The client ID of the AAD registered application. When using managed identity authentication, set this to 'system' for system-assigned identity or provide the managed identity's client ID. | _none_ | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| `client_id` | _Required for service_principal and managed_identity auth_ - The client ID of the AAD registered application. When using managed identity authentication, set this to 'system' for system-assigned identity or provide the managed identity's client ID. | _none_ | | |
| `client_id` | The client ID of the AAD registered application. When using managed identity authentication, set this to `system` for system-assigned identity or provide the managed identity's client ID. Required for `service_principal` and `managed_identity` auth. | _none_ | |
|
||
Use this configuration file to get started: | ||
|
||
#### Service Principal Authentication (Default) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#### Service Principal Authentication (Default) | |
#### Service principal authentication |
{% endtab %} | ||
{% endtabs %} | ||
|
||
#### User assigned Managed Identity Authentication |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#### User assigned Managed Identity Authentication | |
#### User-assigned managed identity authentication |
{% endtab %} | ||
{% endtabs %} | ||
|
||
#### System assigned Managed Identity Authentication |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#### System assigned Managed Identity Authentication | |
#### System-assigned managed identity authentication |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Stylistic updates for consistency. @fluent/fluent-bit-maintainers should review for technical accuracy.
This change updates the documentation to document support for Managed Identities authentication. It tries to align with the documentation style and content for the similar feature for the out_azure_kusto plugin. The feature is implemented on PR fluent/fluent-bit#10867