在 AWS Secrets Manager 中存放資料庫登入資料 - Amazon Redshift

Amazon Redshift 自 2025 年 11 月 1 日起不再支援建立新的 Python UDF。如果您想要使用 Python UDF,請在該日期之前建立 UDF。現有 Python UDF 將繼續正常運作。如需詳細資訊,請參閱部落格文章

在 AWS Secrets Manager 中存放資料庫登入資料

當您呼叫資料 API 時,您可以透過在 AWS Secrets Manager 中使用機密來傳遞叢集或無伺服器工作群組的憑證。若要這樣傳遞登入資料,請指定秘密的名稱或秘密的 Amazon Resource Name (ARN)。

若要使用 Secrets Manager 來儲存憑證,您需要 SecretManagerReadWrite 受管政策許可。如需最基本許可的相關資訊,請參閱《AWS Secrets Manager 使用者指南》中的使用 AWS Secrets Manager 建立和管理機密

將憑證儲存在 Amazon Redshift 叢集的機密中
  1. 使用 AWS Secrets Manager 主控台建立包含叢集憑證的機密。

    • 當您選擇儲存新的機密時,請選擇 Redshift 叢集的憑證

    • 使用者名稱 (資料庫使用者)、密碼資料庫叢集 (叢集識別碼) 的值儲存在機密中。

    • 使用索引鍵 RedshiftDataFullAccess 標記機密。AWS 受管政策 AmazonRedshiftDataFullAccess 只允許針對使用索引鍵 RedshiftDataFullAccess 標記的機密執行動作 secretsmanager:GetSecretValue

    如需說明,請參閱《AWS Secrets Manager 使用者指南》中的建立基本秘密

  2. 使用 AWS Secrets Manager 主控台來檢視您所建立的秘密詳細資訊,或執行 aws secretsmanager describe-secret AWS CLI 命令。

    記下秘密的名稱和 ARN。您可以在呼叫資料 API 時使用這些資料。

將憑證儲存在無伺服器工作群組的機密中
  1. 使用 AWS Secrets Manager AWS CLI 命令儲存包含無伺服器工作群組憑證的機密:

    • 在檔案中建立您的秘密,例如名為 mycreds.json 的 JSON 檔案。在檔案中提供使用者名稱 (資料庫使用者) 和密碼的值。

      { "username": "myusername", "password": "mypassword" }
    • 將值儲存在機密中,並使用索引鍵 RedshiftDataFullAccess 標記機密。

      aws secretsmanager create-secret --name MyRedshiftSecret --tags Key="RedshiftDataFullAccess",Value="serverless" --secret-string file://mycreds.json

      以下將顯示輸出。

      { "ARN": "arn:aws:secretsmanager:region:accountId:secret:MyRedshiftSecret-mvLHxf", "Name": "MyRedshiftSecret", "VersionId": "a1603925-e8ea-4739-9ae9-e509eEXAMPLE" }

    如需詳細資訊,請參閱《AWS Secrets Manager 使用者指南》中的使用 AWS CLI 建立基本機密

  2. 使用 AWS Secrets Manager 主控台來檢視您所建立的秘密詳細資訊,或執行 aws secretsmanager describe-secret AWS CLI 命令。

    記下秘密的名稱和 ARN。您可以在呼叫資料 API 時使用這些資料。