本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 Amazon Redshift 資料倉儲的授權
若要將資料從整合來源複寫到您的 Amazon Redshift 資料倉儲,您最初必須新增下列兩個實體:
-
授權主體 — 識別可在資料倉儲中建立零 ETL 整合的使用者或角色。
-
授權的整合來源 — 識別可更新資料倉儲的來源資料庫。
您可以從 Amazon Redshift 主控台上的資源政策索引標籤或使用 Amazon Redshift PutResourcePolicy
API 作業,設定授權的整合來源。
新增授權主體
若要在 Redshift Serverless 工作群組或佈建叢集中建立零 ETL 整合,請授權相關聯命名空間或佈建叢集的存取權。
如果下列兩個情況都成立,則可以略過此步驟:
-
AWS 帳戶 擁有 Redshift Serverless 工作群組或佈建叢集的 也擁有來源資料庫。
-
該主體與以身分為基礎的 IAM 政策相關聯,且具有可在此 Redshift Serverless 命名空間或佈建叢集中建立零 ETL 整合的許可。
將授權主體新增至 Amazon Redshift Serverless 命名空間
-
在 Amazon Redshift 主控台中,從左側導覽窗格中選擇 Redshift Serverless。
-
選擇命名空間組態,然後選擇您的命名空間,然後移至資源政策索引標籤。
-
選擇新增授權主體。
-
對於您要新增的每個授權委託人,在命名空間中輸入 AWS 使用者或角色的 ARN,或 AWS 帳戶 您要授予存取權以建立零 ETL 整合的 的 ID。帳戶 ID 會儲存為 ARN。
-
選擇 Save changes (儲存變更)。
將授權主體新增至 Amazon Redshift 佈建叢集
-
在 Amazon Redshift 主控台的左側導覽窗格中,選擇佈建叢集儀表板。
-
選擇叢集,然後選擇叢集,接著前往資源政策索引標籤。
-
選擇新增授權主體。
-
針對您要新增的每個授權委託人,在叢集中輸入 AWS 使用者或角色的 ARN,或 AWS 帳戶 您要授予存取權以建立零 ETL 整合的 ID。帳戶 ID 會儲存為 ARN。
-
選擇 Save changes (儲存變更)。
新增授權的整合來源
若要允許來源更新 Amazon Redshift 資料倉儲,您必須以授權的整合來源的形式將其新增至命名空間。
將授權的整合來源新增至 Amazon Redshift Serverless 命名空間
-
在 Amazon Redshift 主控台中,前往 無伺服器儀表板。
-
選擇命名空間的名稱。
-
前往資源政策索引標籤。
-
選擇新增授權的整合來源。
-
針對零 ETL 整合指定來源的 ARN。
注意
移除授權的整合來源會讓系統不再將資料複寫至命名空間。此動作會停用從該來源到此命名空間的所有零 ETL 整合。
將授權的整合來源新增至 Amazon Redshift 佈建叢集
-
在 Amazon Redshift 主控台中,前往佈建叢集儀表板。
-
選擇佈建叢集的名稱。
-
前往資源政策索引標籤。
-
選擇新增授權的整合來源。
-
指定屬於零 ETL 整合資料來源之來源的 ARN。
注意
移除授權的整合來源會讓系統不再將資料複寫至佈建叢集。此動作會停用從該來源到此 Amazon Redshift 佈建叢集的所有零 ETL 整合。
使用 Amazon Redshift API 設定授權
您可以使用 Amazon Redshift API 操作來設定與零 ETL 整合搭配使用的資源政策。
若要控制可以在命名空間中建立傳入整合的來源,請建立資源政策,並將其附加至命名空間。使用資源政策,您可以指定具有整合存取權的來源。資源政策會附加至目標資料倉儲的命名空間,以允許來源建立傳入整合,將即時資料從來源複寫到 Amazon Redshift。
以下是範例資源政策。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "redshift:AuthorizeInboundIntegration", "Condition": { "StringEquals": { "aws:SourceArn": "
source_arn
" } } }, { "Effect": "Allow", "Principal": { "AWS": "source_principal
" }, "Action": "redshift:CreateInboundIntegration" } ] }
以下概述了適用於設定整合資源政策的 Amazon Redshift API 操作:
-
使用 PutResourcePolicy API 作業來保留資源政策。當您提供其他資源政策時,會取代資源上先前的資源政策。使用上一個範本資源政策,該策略會授予下列動作的許可:
-
CreateInboundIntegration
– 允許來源主體建立輸入整合,以便將資料從來源複寫到目標資料倉儲。 -
AuthorizeInboundIntegration
– 允許 Amazon Redshift 持續驗證目標資料倉儲是否可以接收從來源 ARN 複寫的資料。
-
-
使用 GetResourcePolicy API 操作是查看現有的資源政策。
-
使用 DeleteResourcePolicy API 作業從資源中移除資源政策。
若要更新資源策略,您也可以使用 put-resource-policy AWS CLI 命令。例如,若要將資源政策放在 DynamoDB 來源的 Amazon Redshift 命名空間 ARN 上,請執行類似以下的 AWS CLI 命令。
aws redshift put-resource-policy \ --policy file://rs-rp.json \ --resource-arn "arn:aws:redshift-serverless:us-east-1:123456789012:namespace/cc4ffe56-ad2c-4fd1-a5a2-f29124a56433"
其中 rs-rp.json
包含:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "redshift:AuthorizeInboundIntegration", "Resource": "arn:aws:redshift-serverless:us-east-1:123456789012:namespace/cc4ffe56-ad2c-4fd1-a5a2-f29124a56433", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:dynamodb:us-east-1:123456789012:table/test_ddb" } } }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": "redshift:CreateInboundIntegration", "Resource": "arn:aws:redshift-serverless:us-east-1:123456789012:namespace/cc4ffe56-ad2c-4fd1-a5a2-f29124a56433" } ] }