Skip to content

Conversation

stefanoboriero
Copy link

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

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]>
Copy link
Contributor

@esmerel esmerel left a 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.

Comment on lines +24 to +46
## 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)

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
## 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_ |
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
| `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)
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
#### Service Principal Authentication (Default)
#### Service principal authentication

{% endtab %}
{% endtabs %}

#### User assigned Managed Identity Authentication
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
#### User assigned Managed Identity Authentication
#### User-assigned managed identity authentication

{% endtab %}
{% endtabs %}

#### System assigned Managed Identity Authentication
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
#### System assigned Managed Identity Authentication
#### System-assigned managed identity authentication

Copy link
Contributor

@esmerel esmerel left a 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants