Skip to main content
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