How-to guideApplies to: Unified engine deployments
Change how a credential obtains its AWS identity while keeping the name already
used by a file view.
Prepare both methods
Use an existing S3 bucket containing Parquet files for the TPC-DS SF1 item
table. The examples use s3://recipe-data/tpcds-sf1/item/ in us-east-2.
Replace the bucket, path, and Region with your real values. The identity needs
s3:ListBucket on the bucket and s3:GetObject on that prefix. Add kms:Decrypt
when its objects use a customer-managed KMS key. Keep the view and query in the
same SQL session.
Have valid saved AWS keys and an EKS Pod Identity with equivalent read access.
Complete the Pod Identity setup
on the credential-service host first. Use unused recipe names and keep the
local encrypted secret store available.
Start with saved keys
This starting example uses long-lived keys. If using temporary keys, also add
their session-token secret as shown in Saved AWS keys.
Change the definition in one statement
Remove the old method’s secret-reference fields in the same ALTER. Pod Identity
does not accept saved-key fields. If the starting definition has session_token
or the saved expires_at_unix_millis option, remove those in that ALTER too.
The view still names recipe_switch_reader and does not need to be recreated.
A fresh SELECT checks the new access path. Already running work can retain
credentials it acquired before the change.
After the new method works, remove the unused local key values:
These drops do not revoke the AWS keys. Revoke them through AWS when no other
consumer needs them. To finish the exercise:
Last modified on November 4, 2026