本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用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 指令的特定詳細資訊和範例,請參閱GetClusterCredentials和get-cluster-credentials。
為了集中管理身份驗證和授權,Amazon Redshift 支援資料庫身份驗證IAM,可透過企業聯合啟用使用者身份驗證。您可以使用現有的身分,而不是建立使用者 AWS Directory Service、您的企業使用者目錄或 Web 身分識別提供者。這些稱為「聯合身分使用者」。 AWS 透過 IdP 要求存取時,會將角色指派給聯合身分使用者。
若要為組織中的使用者或用戶端應用程式提供聯合存取以呼叫 Amazon Redshift API 操作,您也可以使用支援 SAML 2.0 的JDBC或ODBC驅動程式向組織 IdP 請求身份驗證。在這種情況下,組織的使用者無法直接存取 Amazon Redshift。
如需詳細資訊,請參閱IAM使用指南中的身分識別提供者和同盟。