驗證已排程的查詢 - Amazon Redshift

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

驗證已排程的查詢

排程查詢時,您可以在SQL執行時使用下列其中一種身分驗證方法。每種方法都需要在查詢編輯器 v2 上使用不同的輸入組合。這些身分驗證方法由API用來執行SQL陳述式的資料支援。

用於執行查詢的資料庫使用者或角色必須具備必要的資料庫權限。例如,若要將IAMR:MyRedshiftQEv2Scheduler權限授予資料表 mytable,請執行下列SQL命令。

GRANT all ON TABLE mytable TO "IAMR:MyRedshiftQEv2Scheduler";

若要檢視叢集或工作群組中的資料庫使用者清單,請查詢系統檢視 PG_USER_INFO

注意

您排程查詢的任何 Redshift Serverless 工作群組都會以金鑰 標記RedshiftDataFullAccess。如需詳細資訊,請參閱授權存取 Amazon Redshift 資料 API

除了標記工作群組之外,您也可以將內嵌政策新增至允許 IAM的角色 (以排程指定的)redshift-serverless:GetCredentials。例如:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "UseTemporaryCredentialsForAllServerlessWorkgroups", "Effect": "Allow", "Action": "redshift-serverless:GetCredentials", "Resource": [ "arn:aws:redshift-serverless:*:*:workgroup/*" ] } ] }
AWS Secrets Manager

使用此方法時,請為儲存在 AWS Secrets Manager中的 secret-arn 提供機密值。此秘密包含用來連線至資料庫的憑證。當您建立叢集或工作群組時,可能已建立具有適當憑證的秘密。此機密必須標記了索引鍵 RedshiftDataFullAccess。如果標籤金鑰尚未存在,請使用 AWS Secrets Manager 主控台新增。如需有關建立秘密的資訊,請參閱 建立資料庫連線憑證的秘密

如需最基本許可的相關資訊,請參閱《AWS Secrets Manager 使用者指南》中的使用 AWS Secrets Manager建立和管理機密

暫時性憑證

使用此方法時,請在連線到叢集中的資料庫時提供您的資料庫名稱資料庫使用者值。您只需要在連線至工作群組中的資料庫時提供資料庫名稱

在連線至叢集時,AmazonRedshiftDataFullAccess 政策會允許名為 redshift_data_api_user 的資料庫使用者獲得 redshift:GetClusterCredentials 的許可。如果您想要使用不同的資料庫使用者來執行SQL陳述式,請將政策新增至連接至叢集IAM的角色,以允許 redshift:GetClusterCredentials。下列範例政策會允許資料庫使用者 awsusermyuser

{ "Version": "2012-10-17", "Statement": [ { "Sid": "UseTemporaryCredentialsForAllDbUsers", "Effect": "Allow", "Action": "redshift:GetClusterCredentials", "Resource": [ "arn:aws:redshift:*:*:dbuser:*/awsuser", "arn:aws:redshift:*:*:dbuser:*/myuser" ] } ] }