

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# 在 AWS Secrets Manager 中存储数据库凭证
<a name="data-api-secrets"></a>

在调用数据 API 时，您可以使用 AWS Secrets Manager 中的密钥传递集群或无服务器工作组的凭证。要通过此方式传递凭证，您需要指定密钥的名称或密钥的 Amazon 资源名称（ARN）。

要使用 Secrets Manager 存储凭证，您需要 `SecretManagerReadWrite` 托管式策略权限。有关最低权限的更多信息，请参阅《AWS Secrets Manager 用户指南》**中的[使用 AWS Secrets Manager 创建和管理密钥](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets.html)。

**要将凭证存储在 Amazon Redshift 集群的密钥中**

1. 使用 AWS Secrets Manager 控制台创建包含集群凭证的密钥：
   + 当您选择**存储新密钥**时，选择**Redshift 集群的凭证**。
   + 将**用户名**（数据库用户）、**密码**和 **数据库集群**（集群标识符）的值存储在您的密钥中。
   + 使用键 `RedshiftDataFullAccess` 标记密钥。AWS 托管式策略 `AmazonRedshiftDataFullAccess` 只支持对使用键 `RedshiftDataFullAccess` 进行标记的密钥执行操作 `secretsmanager:GetSecretValue`。

   有关说明，请参阅《AWS Secrets Manager 用户指南》**中的[创建基本密钥](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html)。

1. 使用 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 User Guide》**中的 [Creating a Basic Secret with AWS CLI](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html#proc-create-api)。

1. 使用 AWS Secrets Manager 控制台查看您创建的密钥的详细信息，或运行 `aws secretsmanager describe-secret` AWS CLI 命令。

   记下密钥的名称和 ARN。您可以将其用于对数据 API 的调用中。