Skip to content

Integrations

Apache Druid

Connect Apache Druid to Alter Vault for secure API access

Use Apache Druid credentials to make authenticated API calls through Alter Vault without exposing API keys in code.

PropertyValue
Template IDdruid
CategoryDatabase
Credential TypeAPI Key

Log in to Imply Polaris

Log in to Imply Polaris (hosted Apache Druid).

Create an API key

Go to Administration > API Keys and create a key (see the Imply Polaris API keys guide).

Copy the key

Copy the key — Polaris keys are used directly after Basic in the Authorization header.

Open the Developer Portal

Go to portal.alterauth.com and navigate to the application.

Add Apache Druid

Go to Managed Secrets > Add Provider > Apache Druid.

Enter credentials

Paste the API Key into the credential field.

Enter the deployment endpoint

Paste the Polaris API host: the organization’s ORG_NAME.api.imply.io host from the Polaris API docs page. Alter derives this credential’s allowed hosts from that exact host, so proxied calls can only ever reach the deployment. The allowlist cannot be widened or edited separately; rotate the credential with a new endpoint to retarget it.

Save

Click Save. You’ll receive a grant_id to use with the SDK.

response = await alter_app.request(
HttpMethod.POST,
"https://YOUR-ORG.YOUR-REGION.YOUR-CLOUD.api.imply.io/v1/projects/PROJECT_ID/query/sql",
grant_id="YOUR_GRANT_ID",
json={"query": "SELECT __time, page, user FROM wikipedia LIMIT 5"},
)
  • Imply Polaris API keys are pre-encoded: the header is Authorization: Basic <api-key> with the key verbatim.
  • Self-managed Druid clusters with basic auth enabled use base64(username:password) instead.

Alter policy rules can target these attested operations and families for operation-level and parameter-aware controls.

Operation IDFamiliesMethodProvider pathNotes
projects/listreadGET/v1/projects—
projects/createwritePOST/v1/projects—
projects/getreadGET/v1/projects/{id}—
projects/deletedeleteDELETE/v1/projects/{id}—
tables/listreadGET/v1/projects/{projectId}/tables—
tables/createwritePOST/v1/projects/{projectId}/tables—
tables/getreadGET/v1/projects/{projectId}/tables/{tableName}—
tables/updatewritePUT/v1/projects/{projectId}/tables/{tableName}—
events/pushwritePOST/v1/projects/{projectId}/events/{connectionName}—
jobs/listreadGET/v1/projects/{projectId}/jobs—
jobs/createwritePOST/v1/projects/{projectId}/jobs—
jobs/getreadGET/v1/projects/{projectId}/jobs/{jobId}—
jobs/statusreadGET/v1/projects/{projectId}/jobs/{jobId}/status—
jobs/cancelwritePOST/v1/projects/{projectId}/jobs/{jobId}/status—
jobs/progressreadGET/v1/projects/{projectId}/jobs/{jobId}/progress—
jobs/logsreadGET/v1/projects/{projectId}/jobs/{jobId}/logs—
files/listreadGET/v1/projects/{projectId}/files—
files/uploadwritePOST/v1/projects/{projectId}/files—
files/getreadGET/v1/projects/{projectId}/files/{name}—
files/deletedeleteDELETE/v1/projects/{projectId}/files/{name}—
query/sqlread, writePOST/v1/projects/{projectId}/query/sql—
query/statements/createread, writePOST/v1/projects/{projectId}/query/sql/statements—
query/statements/getreadGET/v1/projects/{projectId}/query/sql/statements/{queryId}—
query/statements/resultsreadGET/v1/projects/{projectId}/query/sql/statements/{queryId}/results—
query/statements/canceldeleteDELETE/v1/projects/{projectId}/query/sql/statements/{queryId}—
connections/listreadGET/v1/projects/{projectId}/connections—
connections/createadminPOST/v1/projects/{projectId}/connections—
apikeys/listreadGET/v1/apikeys—
apikeys/inforeadGET/v1/apikeyinfo—
createApiKeyadminPOST/v1/apikeysrefused by default: leaves the caller holding a provider credential (a credential_minting rule can allow it); served by the provider but absent from its published spec
createEmbeddingLinkSecretKeyadminPOST/v1/projects/{projectId}/embedding-links/{id}/keyrefused by default: leaves the caller holding a provider credential (a credential_minting rule can allow it); served by the provider but absent from its published spec

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.