Basicauth extension
Use the basicauth extension to authenticate clients and servers using basic authentication.
The basicauth
extension implements both configauth.ServerAuthenticator
and configauth.ClientAuthenticator
to authenticate clients and servers using basic authentication. The authenticator type has to be set to basicauth
.
When used to authenticate servers, if the authentication is successful, client.Info.Auth
exposes the following attributes:
-
username
: The username of the authenticated user. -
raw
: Raw base64 encoded credentials.
Get started
Follow these steps to configure and activate the component:
-
Deploy the Splunk Distribution of the OpenTelemetry Collector to your host or container platform:
-
Configure the
basicauth
extension as described in the next section. -
Restart the Collector.
Sample configurations
To activate this component add basicauth
to the extensions
section of your configuration file, as shown in the following example:
extensions:
basicauth/server:
htpasswd:
file: .htpasswd
inline: |
${env:BASIC_AUTH_USERNAME}:${env:BASIC_AUTH_PASSWORD}
basicauth/client:
client_auth:
username: username
password: password
receivers:
otlp:
protocols:
http:
auth:
authenticator: basicauth/server
processors:
exporters:
otlp:
auth:
authenticator: basicauth/client
To complete the configuration, include the extension in any pipeline of the service
section of your configuration file. For example:
service:
extensions: [basicauth/server, basicauth/client]
pipelines:
traces:
receivers: [otlp]
processors: []
exporters: [otlp]
Configuration example: Simple Prometheus receiver
The following example illustrates how to configure the basicauth
extension for the Simple Prometheus receiver:
receivers:
lightprometheus/myjob:
auth:
authenticator: basicauth
collection_interval: 1s
endpoint: "http://localhost:8000/metrics"
exporters:
otlp:
endpoint: "${OTLP_ENDPOINT}"
tls:
insecure: true
extensions:
basicauth:
client_auth:
username: foo
password: bar
service:
extensions: [ basicauth ]
pipelines:
metrics:
receivers: [ lightprometheus/myjob ]
exporters: [ otlp ]
Settings
The following table shows the configuration options for the basicauth
extension:
Authenticate servers or clients
You can either authenticate servers or clients with the extension. If you configure both options, the extension throws an error.
-
To configure the extension as a server authenticator, set either
htpasswd.file
orhtpasswd.inline
. If you configure both,htpasswd.inline
credentials takes precedence. -
To configure the extension as a client authenticator, set
client_auth
.
Troubleshooting
If you are a Splunk Observability Cloud customer and are not able to see your data in Splunk Observability Cloud, you can get help in the following ways.
Available to Splunk Observability Cloud customers
-
Submit a case in the Splunk Support Portal.
-
Contact Splunk Support.
Available to prospective customers and free trial users
-
Ask a question and get answers through community support at Splunk Answers.
-
Join the Splunk #observability user group Slack channel to communicate with customers, partners, and Splunk employees worldwide. To join, see Chat groups.