-
Notifications
You must be signed in to change notification settings - Fork 45
Enabling Secrets Storage in Scale
Starting with version 4.4, Scale supports the use of an external secrets storage and management service. By setting up one of the supported services, job settings that are designated as a secret will not be stored in the Scale database. Instead, these values will be stored with the configured secrets service and gathered when that job is run.
Secrets usage in Scale is currently compatible with Vault by Hashicorp and the DC/OS Secrets Store.
A standalone secrets management service. Reference Documentation
If you already have an instance of Vault running, you can skip to deploying Scale.
Hashicorp has good documentation on installing Vault standalone here.
See this Github project for the needed files and a walk through.
See this documentation on generating a new token for Scale. At this time Scale will need a token with root access.
Assuming you already have a working Scale service running in DC/OS, the only thing you will need to do is provide two additional Environment Variables to Scale to start using secrets. These can be added by modifying the Scale service configuration in DC/OS.
-
SECRETS_URLis the URL to the API entry point for the Vault service.- Example:
"SECRETS_URL": "http://140.32.192.60:8200"
- Example:
-
SECRETS_TOKENis the permission token that scale will use to authenticate with Vault- Example:
"SECRETS_TOKEN": "feskrt64-02kq-vh22-l3q5-xh3p65123456"
- Example:
A secrets management solution included in DC/OS Enterprise Edition. Reference Documentation
- Remote in to a DC/OS node
$ dcos security org service-accounts keypair private-key.pem public-key.pem- Add the private key to DC/OS as a new secret:
- Browse to
System>Security>Secretsin the web interface and click New Secret - Name the secret
SCALE_SECRETS_SA_KEY, or something similar. - Copy in the contents of
private-key.pemfrom Step 2.
- Browse to
- Add a new service account that Scale will use to access the secrets in DC/OS:
- Browse to
System>Organization>Service Accountsand Add New Service Account - Enter
Scale_Secrets_Agent, or something similar as the ID - Enter
Service account for accessing secrets with Scale, or something similar for the description. - Copy in the contents of
public-key.pemfrom Step 2.
- Browse to
- Modify the settings of the new account:
- Browse to
System>Organization>Service Account>[Scale_Secrets_Agent]. - Click Add Permission, set Enforcer to Secrets Store and Allow all actions.
-
NOTE: As of 17 March 2017 this function is not working, to get things working:
- Browse to
System>Organization>Groups>superusers>Service Accountsand Add Service Account from Step 4.
- Browse to
- Browse to
Assuming you already have a working Scale service running in DC/OS, the only thing you will need to do is provide three additional Environment Variables to Scale to start using secrets. These can be added by modifying the Scale service configuration in DC/OS.
-
SECRETS_URLis the URL address of the DC/OS cluster.- Example:
"SECRETS_URL": "http://140.32.192.62"
- Example:
-
DCOS_SERVICE_ACCOUNTis the account setup to access secrets.- Example:
"DCOS_SERVICE_ACCOUNT": "Scale_Secrets_Agent"
- Example:
-
SECRETS_TOKENis the private key generated when setting up a service account.- Example:
"SECRETS_TOKEN": { "secret": "secret0" }"secrets": { "secret0": { "source": "SCALE_SECRETS_SA_KEY" } }
- Example:
- Home
- What's New
-
In-depth Topics
- Enable Scale to run CUDA GPU optimized algorithms
- Enable Scale to store secrets securely
- Test Scale's scan capability on the fly
- Test Scale's workspace broker capability on the fly
- Scale Performance Metrics
- Private docker repository configuration
- Setting up Automated Snapshots for Elasticsearch
- Setting up Cluster Monitoring
- Developer Notes