設定 Amazon Redshift 資料倉儲的授權 - Amazon Redshift

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

設定 Amazon Redshift 資料倉儲的授權

若要將資料從整合來源複寫到您的 Amazon Redshift 資料倉儲,您最初必須新增下列兩個實體:

  • 授權主體 — 識別可在資料倉儲中建立零 ETL 整合的使用者或角色。

  • 授權的整合來源 — 識別可更新資料倉儲的來源資料庫。

您可以從 Amazon Redshift 主控台上的資源政策索引標籤或使用 Amazon Redshift PutResourcePolicy API 作業,設定授權的整合來源。

新增授權主體

若要在 Redshift Serverless 工作群組或佈建叢集中建立零 ETL 整合,請授權相關聯命名空間或佈建叢集的存取權。

如果下列兩個情況都成立,則可以略過此步驟:

  • AWS 帳戶 擁有 Redshift Serverless 工作群組或佈建叢集的 也擁有來源資料庫。

  • 該主體與以身分為基礎的 IAM 政策相關聯,且具有可在此 Redshift Serverless 命名空間或佈建叢集中建立零 ETL 整合的許可。

將授權主體新增至 Amazon Redshift Serverless 命名空間

  1. 在 Amazon Redshift 主控台中,從左側導覽窗格中選擇 Redshift Serverless

  2. 選擇命名空間組態,然後選擇您的命名空間,然後移至資源政策索引標籤。

  3. 選擇新增授權主體

  4. 對於您要新增的每個授權委託人,在命名空間中輸入 AWS 使用者或角色的 ARN,或 AWS 帳戶 您要授予存取權以建立零 ETL 整合的 的 ID。帳戶 ID 會儲存為 ARN。

  5. 選擇 Save changes (儲存變更)。

將授權主體新增至 Amazon Redshift 佈建叢集

  1. 在 Amazon Redshift 主控台的左側導覽窗格中,選擇佈建叢集儀表板

  2. 選擇叢集,然後選擇叢集,接著前往資源政策索引標籤。

  3. 選擇新增授權主體

  4. 針對您要新增的每個授權委託人,在叢集中輸入 AWS 使用者或角色的 ARN,或 AWS 帳戶 您要授予存取權以建立零 ETL 整合的 ID。帳戶 ID 會儲存為 ARN。

  5. 選擇 Save changes (儲存變更)。

新增授權的整合來源

若要允許來源更新 Amazon Redshift 資料倉儲,您必須以授權的整合來源的形式將其新增至命名空間。

將授權的整合來源新增至 Amazon Redshift Serverless 命名空間

  1. 在 Amazon Redshift 主控台中,前往 無伺服器儀表板

  2. 選擇命名空間的名稱。

  3. 前往資源政策索引標籤。

  4. 選擇新增授權的整合來源

  5. 針對零 ETL 整合指定來源的 ARN。

注意

移除授權的整合來源會讓系統不再將資料複寫至命名空間。此動作會停用從該來源到此命名空間的所有零 ETL 整合。

將授權的整合來源新增至 Amazon Redshift 佈建叢集

  1. 在 Amazon Redshift 主控台中,前往佈建叢集儀表板

  2. 選擇佈建叢集的名稱。

  3. 前往資源政策索引標籤。

  4. 選擇新增授權的整合來源

  5. 指定屬於零 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" } ] }