使用IAM身分驗證來產生資料庫使用者憑證 - Amazon Redshift

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

使用IAM身分驗證來產生資料庫使用者憑證

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

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

Amazon Redshift 提供產生暫存資料庫使用者憑證GetClusterCredentialsAPI的操作。您可以使用 Amazon Redshift JDBC或管理呼叫GetClusterCredentials操作程序的ODBC驅動程式來設定SQL用戶端。他們透過擷取資料庫使用者憑證,並在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 操作和登入資料庫的程序。為了簡化,我們假設您在整個主題中使用 SQL 用戶端搭配 JDBC或 ODBC驅動程式。

如需使用 GetClusterCredentials 操作或平行get-cluster-credentialsCLI命令的特定詳細資訊和範例,請參閱 GetClusterCredentialsget-cluster-credentials

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

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

如需詳細資訊,請參閱 IAM 使用者指南 中的身分提供者和聯合