使用IAM驗證產生資料庫使用者認證 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用IAM驗證產生資料庫使用者認證

您可以根據授予的權限產生臨時資料庫認證 AWS Identity and Access Management (IAM) 許可政策,用於管理您的使用者對 Amazon Redshift 資料庫的存取權限。

Amazon Redshift 資料庫使用者通常會使用資料庫使用者名稱和密碼來登入資料庫。但是,您不必維護 Amazon Redshift 資料庫中的使用者名稱和密碼。或者,您可以將系統設定為允許使用者建立使用者認證,並根據其IAM認證登入資料庫。

Amazon Redshift 提供產生臨時資料庫使用者登入資料的GetClusterCredentialsAPI作業。您可以使SQL用 Amazon Redshift JDBC 或管理呼叫GetClusterCredentials作業程ODBC序的驅動程式來設定用戶端。他們透過擷取資料庫使用者登入資料,並在您的用SQL戶端和 Amazon Redshift 資料庫之間建立連線來達到此目的。但您也可以使用資料庫應用程式,以程式設計的方式呼叫 GetClusterCredentials 操作,擷取資料庫使用者登入資料,然後連線至資料庫。

如果您已經在外部管理使用者身分 AWS時,您可以使用符合安全聲明標記語言 () 2.0 的身分提供者 (IdPSAML) 來管理對 Amazon Redshift 資源的存取。您可以將 IdP 設定為允許同盟使用者存取角色。IAM使用該IAM角色,您可以產生臨時資料庫登入資料並登入 Amazon Redshift 資料庫。

您的SQL客戶需要許可才能為您調用GetClusterCredentials操作。您可以建立IAM角色並附加權限原則來管理這些IAM權限,以授與或限制GetClusterCredentials作業和相關動作的存取權。最佳作法是,建議將權限原則附加至IAM角色,然後視需要將其指派給使用者和群組。如需詳細資訊,請參閱 Amazon Redshift 中的身分和存取管理

政策也會授予或限制特定資源的存取,例如 Amazon Redshift 叢集、資料庫、資料庫使用者名稱和使用者群組名稱。

注意

我們建議您使用 Amazon Redshift JDBC 或ODBC驅動程式來管理呼叫GetClusterCredentials作業和登入資料庫的程序。為了簡單起見,我們假設您在本主題中使用帶有JDBC或ODBC驅動程序的SQL客戶端。

如需使用GetClusterCredentials作業或 parallel get-cluster-credentials CLI 指令的特定詳細資訊和範例,請參閱GetClusterCredentialsget-cluster-credentials

為了集中管理身份驗證和授權,Amazon Redshift 支援資料庫身份驗證IAM,可透過企業聯合啟用使用者身份驗證。您可以使用現有的身分,而不是建立使用者 AWS Directory Service、您的企業使用者目錄或 Web 身分識別提供者。這些稱為「聯合身分使用者」。 AWS 透過 IdP 要求存取時,會將角色指派給聯合身分使用者。

若要為組織中的使用者或用戶端應用程式提供聯合存取以呼叫 Amazon Redshift API 操作,您也可以使用支援 SAML 2.0 的JDBC或ODBC驅動程式向組織 IdP 請求身份驗證。在這種情況下,組織的使用者無法直接存取 Amazon Redshift。

如需詳細資訊,請參閱IAM使用指南中的身分識別提供者和同盟