Amazon Redshift 自 2025 年 11 月 1 日起不再支援建立新的 Python UDF。如果您想要使用 Python UDF,請在該日期之前建立 UDF。現有 Python UDF 將繼續正常運作。如需詳細資訊,請參閱部落格文章
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 AWS Secrets Manager 管理 Amazon Redshift 管理員密碼
Amazon Redshift 可與 AWS Secrets Manager 整合,以在加密的機密內產生和管理您的管理員憑證。使用 AWS Secrets Manager,您可以使用 API 呼叫取代管理員密碼,以便在需要時以程式設計方式擷取機密。使用機密而非硬式編碼憑證可降低這些憑證遭到洩露或遭到入侵的風險。如需 AWS Secrets Manager 的相關資訊,請參閱《AWS Secrets Manager 使用者指南》。
您可以指定讓 Amazon Redshift 在您執行下列其中一個操作時,使用 AWS Secrets Manager 管理您的管理員密碼:
-
建立佈建叢集或無伺服器命名空間
-
編輯、更新或修改佈建叢集或無伺服器命名空間的管理員憑證
-
從快照還原叢集或無伺服器命名空間
當您指定讓 Amazon Redshift 在 AWS Secrets Manager 中管理管理員密碼時,Amazon Redshift 會產生密碼並將其儲存在 Secrets Manager 中。您可以直接在 AWS Secrets Manager 中存取機密,以擷取管理員使用者的憑證。或者,如果您需要從其他 AWS 帳戶存取機密,則也可以指定客戶受管金鑰來加密機密。您也可以使用 AWS Secrets Manager 提供的 KMS 金鑰。
Amazon Redshift 會管理機密的設定,並依預設每 30 天輪換一次密碼。您可以隨時手動輪換機密。如果您刪除在 AWS Secrets Manager 中管理機密的佈建叢集或無伺服器命名空間,機密及其相關聯的中繼資料也會遭到刪除。
若要使用機密管理的憑證來連線到叢集或無伺服器命名空間,您可以使用 Secrets Manager 主控台或 GetSecretValue Secrets Manager API 呼叫從 AWS Secrets Manager 擷取機密。如需詳細資訊,請參閱《AWS Secrets Manager 使用者指南》中的從 AWS Secrets Manager 擷取機密和使用 AWS Secrets Manager 機密中的憑證連線至 SQL 資料庫。
AWS Secrets Manager 整合所需的許可
使用者必須具有必要的權限,才能執行與 AWS Secrets Manager 整合相關的操作。建立 IAM 政策,授予對其需要的指定資源執行特定 API 操作的許可。然後,將這些政策附加至需要這些許可的 IAM 許可集或角色。如需更多詳細資訊,請參閱 Amazon Redshift 中的身分和存取管理。
指定讓 Amazon Redshift 在 AWS Secrets Manager 中管理管理員密碼的使用者,必須擁有執行下列操作的許可:
-
secretsmanager:CreateSecret -
secretsmanager:RotateSecret -
secretsmanager:DescribeSecret -
secretsmanager:UpdateSecret -
secretsmanager:DeleteSecret -
secretsmanager:GetRandomPassword -
secretsmanager:TagResource
如果使用者想要在佈建叢集的 MasterPasswordSecretKmsKeyId 參數中傳遞 KMS 金鑰,或在無伺服器命名空間的 AdminPasswordSecretKmsKeyId 參數中傳遞 KMS 金鑰,除了上面所列的許可外,其還需要下列許可。
-
kms:Decrypt -
kms:GenerateDataKey -
kms:CreateGrant -
kms:RetireGrant
管理員密碼機密輪換
根據預設,Amazon Redshift 會每 30 天自動輪換您的機密,以確保您的憑證不會長時間保持不變。當 Amazon Redshift 輪換管理員密碼機密時,AWS Secrets Manager 會更新現有機密以包含新的管理員密碼。Amazon Redshift 會變更叢集的管理員密碼,以符合已更新之機密中的密碼。
您可以使用 AWS Secrets Manager 立即輪換機密,而無需等待排程的輪換。如需輪換機密的相關資訊,請參閱《AWS Secrets Manager 使用者指南》中的輪換 AWS Secrets Manager 機密。
將 AWS Secrets Manager 與 Amazon Redshift 搭配使用的考量
使用 AWS Secrets Manager 來管理佈建叢集或無伺服器命名空間的管理員憑證時,請考量下列事項:
-
當您暫停由 AWS Secrets Manager 管理其管理員憑證的叢集時,系統不會刪除您叢集的機密,而且會繼續向您收取該機密的費用。只有刪除叢集時才會刪除機密。
-
如果您的叢集在 Amazon Redshift 嘗試輪換其附加的機密時暫停了,輪換會失敗。在這種情況下,即使您繼續叢集,Amazon Redshift 還是會停止自動輪換,而且不會嘗試再次輪換。您必須使用
secretsmanager:RotateSecretAPI 呼叫重新啟動自動輪換排程,才能繼續讓 AWS Secrets Manager 自動輪換機密。 -
如果在 Amazon Redshift 嘗試輪換其附加的機密時,您的無伺服器命名空間沒有相關聯的工作群組,則輪換會失敗,且不會嘗試再次輪換,即使在您附加工作群組之後也是如此。您必須使用
secretsmanager:RotateSecretAPI 呼叫重新啟動自動輪換排程,才能繼續讓 AWS Secrets Manager 自動輪換機密。