Enabling basic access authentication
In this recipe, you will learn how to enable HTTP basic authentication to limit a user who can access the Marathon API.
Getting ready
Before you start, ensure Marathon is up and running. Before applying any authentication, ensure you enabled SSL to protect secrets from eavesdropping.
How to do it...
Update the configuration with credentials:
echo MARATHON_HTTP_CREDENTIALS=username:password >> /etc/default/marathon
Check the API requires authentication:
curl -k https://localhost:8443/ping
The preceding command should return a 401 Unauthorized
code, while the following command should work. From now, all interactions with Marathon require passing credentials:
curl -k -u username:password https://localhost:8443/ping
How it works...
When HTTP credentials are passed to Marathon, it checks HTTP request headers for credentials and compares them with those configured. When no credentials are provided or the provided credentials don't match, it returns a 401
error code...