概览 - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

概览

Amazon Redshift 提供 GetClusterCredentials API 操作以生成临时数据库用户凭证。您可使用 Amazon Redshift JDBC 或 ODBC 驱动程序来配置您的 SQL 客户端,这些驱动程序可管理调用 GetClusterCredentials 操作的过程。它们通过检索数据库用户凭证并在您的 SQL 客户端和您的 Amazon Redshift 数据库之间建立连接来完成此操作。您也可以使用数据库应用程序以编程方式调用 GetClusterCredentials 操作,检索数据库用户凭证并连接到数据库。

如果您已在 Amazon 外部管理用户身份,您可以使用与安全断言标记语言 (SAML) 2.0 兼容的身份提供者 (IdP) 管理对 Amazon Redshift 资源的访问。配置您的 IdP 以允许联合身份用户访问 IAM 角色。通过使用该 IAM 角色,您可以生成临时数据库凭证并登录到 Amazon Redshift 数据库。

SQL 客户端需要具有权限才能为您调用 GetClusterCredentials 操作。您将通过创建 IAM 角色并附加 IAM 权限策略(该策略授权或限制对 GetClusterCredentials 操作和相关操作的访问)来管理这些权限。作为最佳实践,我们建议将权限策略附加到 IAM 角色,然后根据需要将其分配给用户和组。有关更多信息,请参阅 Amazon Redshift 中的 Identity and Access Management

该策略还授权或限制对特定资源 (例如,Amazon Redshift 集群、数据库、数据库用户名和用户组名称) 的访问。

注意

我们建议使用 Amazon Redshift JDBC 或 ODBC 驱动程序来管理调用 GetClusterCredentials 操作并登录数据库的过程。为简单起见,我们在整个主题中假定您将 SQL 客户端与 JDBC 或 ODBC 驱动程序结合使用。

有关使用 GetClusterCredentials 操作或并行 get-cluster-credentials CLI 命令的具体详细信息和示例,请参阅 GetClusterCredentialsget-cluster-credentials

为了集中管理身份验证和授权,Amazon Redshift 支持使用 IAM 进行数据库身份验证,从而通过企业联合进行用户身份验证。您也可以不创建用户,而是使用来自 Amazon Directory Service、您的企业用户目录或 Web 身份提供程序的现有身份。这些用户被称为联合身份用户。在通过 IdP 请求访问权限时,Amazon 将为联合身份用户分配角色。

要为组织中的用户或客户端应用程序提供联合访问权限以调用 Amazon Redshift API 操作,您还可以使用具有 SAML 2.0 支持的 JDBC 或 ODBC 驱动程序请求从组织 IdP 中进行身份验证。在这种情况下,组织的用户没有 Amazon Redshift 的直接访问权限。