本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Redshift 與 Amazon S3 Access Grants 整合
使用與 Amazon S3 Access Grants 的整合,您可以無縫傳播 IAM Identity Center 身分,以控制對 Amazon S3 資料的存取。此整合可讓您根據 IAM Identity Center 使用者和群組授權 Amazon S3 資料存取。
如需 Amazon S3 Access Grants 的相關資訊,請參閱使用 S3 Access Grants 管理存取權。
使用 Amazon S3 Access Grants 為您的應用程式提供下列優點:
根據 IAM Identity Center 身分對 Amazon S3 資料進行精細存取控制。
跨 Amazon Redshift 和 Amazon S3 集中管理 IAM Identity Center 身分。
您可以避免管理 Amazon S3 存取的個別 IAM 許可。
運作方式
若要將您的應用程式與 Amazon S3 存取授權整合,請執行下列動作:
首先,您將 Amazon Redshift 設定為使用 AWS Management Console 或 與 Amazon S3 Access Grants 整合 AWS CLI。
接著,具有 IdC 管理員權限的使用者會使用 Amazon S3 Access Grants 服務,將 Amazon S3 儲存貯體或字首存取權授予特定 IdC 使用者/群組。如需詳細資訊,請參閱在 S3 Access Grants 中使用授權。
當向 Redshift 驗證的 IdC 使用者執行存取 S3 的查詢 (例如 COPY、UNLOAD 或 Spectrum 操作) 時,Amazon Redshift 會從 Amazon S3 Access Grants 服務擷取範圍限定於該 IdC 身分的臨時 S3 存取憑證。 Amazon S3
然後,Amazon Redshift 會使用擷取的臨時登入資料來存取該查詢的授權 Amazon S3 位置。
設定與 Amazon S3 Access Grants 的整合
若要設定與 Amazon Redshift 的 Amazon S3 Access Grants 整合的整合,請執行下列動作:
主題
使用 設定與 Amazon S3 Access Grants 的整合 AWS Management Console
開啟 Amazon Redshift 主控台。
從叢集窗格中選擇您的叢集。
在叢集的詳細資訊頁面的身分提供者整合區段中,啟用與 S3 Access Grants 服務的整合。
注意
如果您沒有設定 IAM Identity Center,則不會顯示身分提供者整合區段。如需詳細資訊,請參閱啟用 AWS IAM Identity Center。
使用 啟用與 Amazon S3 Access Grants 的整合 AWS CLI
若要在啟用 S3 整合的情況下建立新的 Amazon Redshift IdC 應用程式,請執行下列動作:
aws redshift create-redshift-idc-application <other parameters> --service-integrations '[ {"S3AccessGrants": [{"ReadWriteAccess": {"Authorization": "Enabled"}}]} ]'
若要修改現有的應用程式以啟用 S3 Access Grants 整合,請執行下列動作:
aws redshift modify-redshift-idc-application <other parameters> --service-integrations '[ {"S3AccessGrants": [{"ReadWriteAccess": {"Authorization": "Enabled"}}]} ]'
若要修改現有應用程式以停用 S3 Access Grants 整合,請執行下列動作:
aws redshift modify-redshift-idc-application <other parameters> --service-integrations '[ {"S3AccessGrants": [{"ReadWriteAccess": {"Authorization": "Disabled"}}]} ]'
使用與 S3 Access Grants 的整合
設定 S3 Access Grants 整合之後,存取 S3 資料的查詢 (例如 COPY
、 UNLOAD
或 Spectrum 查詢) 會使用 IdC 身分進行授權。未使用 IdC 驗證的使用者也可以執行這些查詢,但這些使用者帳戶不會利用 IdC 提供的集中式管理。
下列範例顯示與 S3 Access Grants 整合一起執行的查詢:
COPY table FROM 's3://mybucket/data'; // -- Redshift uses IdC identity UNLOAD ('SELECT * FROM table') TO 's3://mybucket/unloaded/' // -- Redshift uses IdC identity