

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon RDS 实用程序
<a name="sdk-utilities-rds"></a>

## IAM Authentication
<a name="iam-authentication"></a>

 [auth](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/feature/rds/auth) 程序包提供了生成身份验证令牌（用于连接到 Amazon RDS MySQL 和 PostgreSQL 数据库实例）的实用程序。使用 [BuildAuthToken](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/feature/rds/auth#BuildAuthToken) 方法，您可以通过提供数据库端点、AWS 区域、用户名和一个 [aws.CredentialProvider](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/aws#CredentialsProvider) 实现来生成数据库授权令牌，它会返回 IAM 凭证并具有使用 IAM 数据库身份验证连接到数据库的权限。要了解有关使用 IAM 身份验证配置 Amazon RDS 的更多信息，请参阅以下《Amazon RDS 开发人员指南》资源：
+  [启用和禁用 IAM 数据库身份验证](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.Enabling.html) 
+  [创建和使用适用于 IAM 数据库访问的 IAM 策略](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.IAMPolicy.html) 
+  [使用 IAM 身份验证创建数据库账户](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.DBAccounts.html) 

 以下示例演示了如何生成身份验证令牌以连接到 Amazon RDS 数据库：

```
import "context"
import "github.com/aws/aws-sdk-go-v2/config"
import "github.com/aws/aws-sdk-go-v2/feature/rds/auth"

// ...

cfg, err := config.LoadDefaultConfig(context.TODO())
if err != nil {
    panic("configuration error: " + err.Error())
}

authenticationToken, err := auth.BuildAuthToken(
    context.TODO(),
    "mydb.123456789012.us-east-1.rds.amazonaws.com:3306", // Database Endpoint (With Port)
    "us-east-1", // AWS Region
    "jane_doe", // Database Account
    cfg.Credentials,
)
if err != nil {
    panic("failed to create authentication token: " + err.Error())
}
```