本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
驗證已排程的查詢
排程查詢時,您可以在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
。下列範例政策會允許資料庫使用者awsuser
和myuser
。{ "Version": "2012-10-17", "Statement": [ { "Sid": "UseTemporaryCredentialsForAllDbUsers", "Effect": "Allow", "Action": "redshift:GetClusterCredentials", "Resource": [ "arn:aws:redshift:*:*:dbuser:*/awsuser", "arn:aws:redshift:*:*:dbuser:*/myuser" ] } ] }