Amazon S3 存儲桶政策 AWS Compute Optimizer - AWS Compute Optimizer

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

Amazon S3 存儲桶政策 AWS Compute Optimizer

您可以將 Compute Optimizer 建議匯出到 Amazon Simple Storage Service (Amazon S3) 儲存貯體。您的建議會匯出為CSV檔案,而中繼資料會匯出為JSON檔案。如需詳細資訊,請參閱匯出建議

在建立匯出任務之前,您必須先為建議匯出建議建立目標 S3 儲存貯體。Compute Optimizer 不會為您建立 S3 儲存貯體。您為建議匯出檔案指定的 S3 儲存貯體不得公開存取,且無法設定為要求者付款儲存貯體。安全性最佳做法是為 Compute Optimizer 匯出檔案建立專用的 S3 儲存貯體。如需詳細資訊,請參閱如何建立 S3 儲存貯體?Amazon S3 控制台用戶指南中。

指定建議匯出的現有值區

建立 S3 儲存貯體之後,請按照下列步驟將政策新增至 S3 儲存貯體,讓 Compute Optimizer 將建議匯出檔案寫入儲存貯體。

  1. 在開啟 Amazon S3 主控台https://console.aws.amazon.com/s3/

  2. 選擇您希望「Compute Optimizer」傳送匯出檔案的值區。

  3. 選擇 Permissions (許可)。

  4. 選擇 Bucket Policy (儲存貯體政策)。

  5. 複製下列其中一個原則,並將其貼到儲存貯體原則編輯器文字方塊中。

  6. 取代策略中的下列預留位置文字:

    • Replace (取代) amzn-s3-demo-bucket 用你的桶的名稱。

    • Replace (取代) optionalPrefix 帶有可選對象前綴。

    • Replace (取代) myRegion 與來源 AWS 區域。

    • Replace (取代) myAccountID 具有匯出工作要求者的帳號。

  7. 在策略中包括以下所有三個陳述:

    1. 第一個陳述式 (針對GetBucketAcl動作) 允許 Compute Optimizer 取得值區的存取控制清單 (ACL)。

    2. 第二個陳述式 (針對GetBucketPolicyStatus動作) 可讓 Compute Optimizer 取得值區的政策狀態,指出值區是否為公開狀態。

    3. 第三個陳述式 (針對PutObject動作) 可讓 Compute Optimizer 完全控制將匯出檔案放入值區中。

    如果缺少任何這些陳述式,或原則中的值區名稱和選用物件前置詞與您在匯出要求中指定的內容不符,您的匯出要求就會失敗。如果政策中的帳號與匯出工作要求者的帳號不符,您的匯出也會失敗。

    注意

    如果現有值區已附加一或多個原則,請將 Compute Optimizer 存取權限的陳述式新增至該原則或政策。評估產生的一組權限,以確保它們適合存取值區的使用者。

原則選項 1:使用選用的前置字元

物件前置詞是 S3 物件金鑰的選擇性新增項目,可在 S3 儲存貯體中組織匯出檔案。如果您要在建立建議匯出時指定物件前置詞,請使用下列原則。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"Service": "compute-optimizer.amazonaws.com"}, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" }, { "Effect": "Allow", "Principal": {"Service": "compute-optimizer.amazonaws.com"}, "Action": "s3:GetBucketPolicyStatus", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" }, { "Effect": "Allow", "Principal": {"Service": "compute-optimizer.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/optionalPrefix/compute-optimizer/myAccountID/*", "Condition": {"StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": "myAccountID" }, "StringLike": { "aws:SourceArn": "arn:aws:compute-optimizer:myRegion:myAccountID:*" } } } ] }
注意

所以此 compute-optimizer/myAccountID/ 組件不是可選前綴的一部分。Compute Optimizer 建立 optimizer/myAccountID/ 儲存貯體路徑的一部分,已新增至您指定的前置字元。

原則選項 2:無物件前置詞

如果您不想指定物件前置詞,請使用下列原則。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"Service": "compute-optimizer.amazonaws.com"}, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" }, { "Effect": "Allow", "Principal": {"Service": "compute-optimizer.amazonaws.com"}, "Action": "s3:GetBucketPolicyStatus", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" }, { "Effect": "Allow", "Principal": {"Service": "compute-optimizer.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/compute-optimizer/myAccountID/*", "Condition": {"StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": "myAccountID" }, "StringLike": { "aws:SourceArn": "arn:aws:compute-optimizer:myRegion:myAccountID:*" } } } ] }

使用加密的 S3 儲存貯體進行建議匯出

對於 Compute Optimizer 建議匯出的目的地,您可以指定使用 Amazon S3 客戶受管金鑰或 AWS Key Management Service (KMS) 金鑰加密的 S3 儲存貯體。

若要使用已啟用 AWS KMS 加密的 S3 儲存貯體,您必須建立對稱KMS金鑰。對稱KMS金鑰是 Amazon S3 支援的唯一KMS金鑰。如需指示,請參閱AWS KMS 開發人員指南中的建立金鑰。建立KMS金鑰之後,請將其套用至您計劃用於建議匯出的 S3 儲存貯體。如需詳細資訊,請參閱 Amazon 簡易儲存服務使用者指南中的啟用 Amazon S3 預設儲存貯體加密

請使用下列程序授與 Compute Optimizer 程式使用KMS金鑰的必要權限。此權限專用於在將建議匯出檔案儲存到加密的 S3 儲存貯體時加密。

  1. https://console.aws.amazon.com/kms 處開啟 AWS KMS 主控台。

  2. 若要變更 AWS 區域,請使用頁面右上角的「地區」選取器。

  3. 在左側導覽選單中,選擇「客戶管理的金鑰」。

    注意

    使用AWS 受管金鑰加密的 S3 儲存貯體不允許 Compute Optimizer 建議匯出。

  4. 選擇您用來加密匯出 S3 儲存貯體的KMS金鑰名稱。

  5. 選擇 [金鑰原則] 索引標籤,然後選擇 [切換至原則檢視]。

  6. 選擇編輯以編輯金鑰原則。

  7. 複製下列其中一個原則,並將其貼到金鑰原則的陳述式區段中。

  8. 取代策略中的下列預留位置文字:

    • Replace (取代) myRegion 與來源 AWS 區域。

    • Replace (取代) myAccountID 與出口請求者的帳號。

    GenerateDataKey陳述式可讓「Compute Optimizer」呼叫, AWS KMS API以取得用於加密建議檔案的資料金鑰。如此一來,上傳的資料格式就可以容納儲存貯體加密設定。否則,Amazon S3 會拒絕出口請求。

    注意

    如果現有KMS金鑰已附加一或多個原則,請將 Compute Optimizer 存取權的陳述式新增至這些原則。評估產生的一組權限,以確保它們適合存取KMS金鑰的使用者。

如果您未啟用 Amazon S3 儲存貯體金鑰,請使用下列政策。

{ "Sid": "Allow use of the key to Compute Optimizer", "Effect": "Allow", "Principal": { "Service": "compute-optimizer.amazonaws.com" }, "Action": "kms:GenerateDataKey", "Resource": "*", "Condition": {"StringEquals": { "aws:SourceAccount": "myAccountID" }, "StringLike": { "aws:SourceArn": "arn:aws:compute-optimizer:myRegion:myAccountID:*" } } }

如果您已啟用 Amazon S3 儲存貯體金鑰,請使用下列政策。如需詳細資訊,請參閱 Amazon 簡單儲存服務使用者指南中的SSE使用 Amazon S3 儲存貯體金鑰降低成本。KMS

{ "Sid": "Allow use of the key to Compute Optimizer", "Effect": "Allow", "Principal": { "Service": "compute-optimizer.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": {"StringEquals": { "aws:SourceAccount": "myAccountID" }, "StringLike": { "aws:SourceArn": "arn:aws:compute-optimizer:myRegion:myAccountID:*" } } }

其他資源

如需 S3 儲存貯體和政策的詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》。