How-to guideApplies to: Unified engine deployments
Use a local secret name for a client secret held in AWS. The local resource
contains a reference; the value stays managed by the external provider.
Prepare the external source
Have an administrator create SecureString parameter
/laminar/recipes/polaris-client-secret containing the raw Polaris client secret.
The engine’s secret-service identity needs ssm:GetParameter and any required
kms:Decrypt permission.
Configure engine provider alias recipe_ssm with type aws-ssm. Set its
region to the parameter’s Region; set profile only when using an AWS profile
available on the secret-service host. This provider uses the AWS SDK and its
runtime identity. It does not need AWS CLI. Load the configuration before
running the SQL. See Secrets configuration.
Use an existing Polaris catalog with a retail warehouse and the SF1 item
table in namespace tpcds_sf1. Replace the example URLs, client ID, warehouse,
namespace, and Region with your values. The Polaris client needs access to the
warehouse and table. These examples request PRINCIPAL_ROLE:ALL; use the scope
granted to your client.
For the final SELECT, Polaris must supply usable temporary S3 credentials for
the table. Otherwise attach a separate storage credential as shown in
Separate catalog and storage credentials.
A successful login or table listing alone does not prove S3 access.
See AWS guidance on SecureString encryption and decryption.
Create the reference and query data
The reference uses the configured alias, not an automatically registered AWS
provider name. A successful SELECT confirms the reference can resolve, OAuth
can obtain a token, and the table files can be read.
Remove the local resources
This does not delete the AWS secret or parameter.Last modified on November 4, 2026