根据AlloyDB官方文档,它支持使用AWS IAM进行身份验证。下面是一个基本的示例:
-- create user
CREATE USER "iam:user_name" WITH LOGIN;
-- create role
CREATE ROLE "iam:role_name" WITH LOGIN;
-- grant privileges to role
GRANT ALL PRIVILEGES ON DATABASE mydatabase TO "iam:role_name";
-- use IAM credentials to log in
psql "host=myhost dbname=mydatabase user=iam_user_name password=$(aws rds generate-db-auth-token --hostname myhost --port 5432 --region us-west-2 --username iam:user_name)"
以上示例使用IAM服务帐户“iam:user_name”进行身份验证,然后授予这个服务帐户对“mydatabase”的全部访问权限。然后使用AWS CLI生成数据库身份验证令牌(auth token)来登录。
需要注意的是,如果要使用IAM身份验证,数据库实例必须启用IAM身份验证。此外,此示例需要AWS CLI的支持,要在执行脚本之前安装它。