本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
S3 儲存 | 建立
為雲端儲存建立 Amazon S3 儲存貯體。
完整分類:部署 | 進階堆疊元件 | S3 儲存 | 建立
變更類型詳細資訊
變更類型 ID |
ct-1a68ck03fn98r |
目前版本 |
5.0 |
預期的執行持續時間 |
60 分鐘 |
AWS 核准 |
必要 |
客戶核准 |
非必要 |
執行模式 |
自動化 |
其他資訊
建立 S3 儲存體
AMS 主控台中此變更類型的螢幕擷取畫面:
運作方式:
導覽至建立 RFC 頁面:在 AMS 主控台的左側導覽窗格中,按一下 RFCs以開啟 RFCs清單頁面,然後按一下建立 RFC。
在預設瀏覽變更類型檢視中選擇熱門的變更類型 (CT),或在依類別選擇檢視中選擇 CT。
依變更類型瀏覽:您可以在快速建立區域中按一下熱門的 CT,以立即開啟執行 RFC 頁面。請注意,您無法透過快速建立選擇較舊的 CT 版本。
若要排序 CTs,請使用卡片或資料表檢視中的所有變更類型區域。在任一檢視中,選取 CT,然後按一下建立 RFC 以開啟執行 RFC 頁面。如果適用,建立較舊版本選項會顯示在建立 RFC 按鈕旁。
依類別選擇:選取類別、子類別、項目和操作,如果適用,CT 詳細資訊方塊會開啟,其中包含使用較舊版本建立的選項。按一下建立 RFC 以開啟執行 RFC 頁面。
在執行 RFC 頁面上,開啟 CT 名稱區域以查看 CT 詳細資訊方塊。需要主旨 (如果您在瀏覽變更類型檢視中選擇 CT,則會為您填入)。開啟其他組態區域以新增 RFC 的相關資訊。
在執行組態區域中,使用可用的下拉式清單或輸入必要參數的值。若要設定選用的執行參數,請開啟其他組態區域。
完成後,請按一下執行。如果沒有錯誤,RFC 成功建立的頁面會顯示已提交的 RFC 詳細資訊,以及初始的執行輸出。
開啟執行參數區域以查看您提交的組態。重新整理頁面以更新 RFC 執行狀態。或者,取消 RFC 或使用頁面頂端的選項建立 RFC 的副本。
運作方式:
使用內嵌建立 (您發出包含所有 RFC 和執行參數的
create-rfc命令) 或範本建立 (您建立兩個 JSON 檔案,一個用於 RFC 參數,另一個用於執行參數),並使用兩個檔案作為輸入發出create-rfc命令。此處說明這兩種方法。使用傳回的 RFC ID 提交 RFC:
aws amscm submit-rfc --rfc-id命令。ID監控 RFC:
aws amscm get-rfc --rfc-id命令。ID
若要檢查變更類型版本,請使用下列命令:
aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
內嵌建立:
使用內嵌提供的執行參數發出建立 RFC 命令 (在內嵌提供執行參數時逸出引號),然後提交傳回的 RFC ID。例如,您可以將內容取代為如下內容:
僅包含必要參數的範例,5.0 版:
aws amscm create-rfc --title "my-s3-bucket" --change-type-id "ct-1a68ck03fn98r" --change-type-version "5.0" --execution-parameters "{\"DocumentName\":\"AWSManagedServices-CreateBucket\",\"Region\":\"us-east-1\",\"Parameters\":{\"BucketName\":\"amzn-s3-demo-bucket\"}}"
所有參數的範例,5.0 版:
aws amscm create-rfc --title "My S3 Bucket" --change-type-id "ct-1a68ck03fn98r" --change-type-version "5.0" --execution-parameters "{\"DocumentName\":\"AWSManagedServices-CreateBucket\",\"Region\":\"us-east-1\",\"Parameters\":{\"BucketName\":\"amzn-s3-demo-bucket\",\"ServerSideEncryption\":\"KmsManagedKeys\",\"KMSKeyId\":\"arn:aws:kms:ap-southeast-2:123456789012:key/9d5948f1-2082-4c07-a183-eb829b8d81c4\",\"Versioning\":\"Enabled\",\"IAMPrincipalsRequiringReadObjectAccess\":[\"arn:aws:iam::123456789012:user/myuser\",\"arn:aws:iam::123456789012:role/myrole\"],\"IAMPrincipalsRequiringWriteObjectAccess\":[\"arn:aws:iam::123456789012:user/myuser\",\"arn:aws:iam::123456789012:role/myrole\"],\"ServicesRequiringReadObjectAccess\":[\"rds.amazonaws.com\",\"ec2.amazonaws.com\",\"logs.ap-southeast-2.amazonaws.com\"],\"ServicesRequiringWriteObjectAccess\":[\"rds.amazonaws.com\",\"ec2.amazonaws.com\",\"logs.ap-southeast-2.amazonaws.com\"],\"EnforceSecureTransport\":true,\"AccessAllowedIpRanges\":[\"1.0.0.0/24\",\"2.0.0.0/24\"]}}"
範本建立:
將此變更類型的執行參數 JSON 結構描述輸出至檔案;此範例會將其命名為 CreateBucketParams.json.
aws amscm get-change-type-version --change-type-id "ct-1a68ck03fn98r" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateBucketParams.json修改並儲存 CreateBucketParams 檔案。請注意,您不需要在 中使用帳戶 ID
BucketName,但可以更輕鬆地尋找儲存貯體 (請記住,儲存貯體名稱在所有區域中的帳戶中必須是唯一的,而且不能有大寫字母)。如果使用此項目來建立tier-and-tie WordPress 網站,您可能想要在設定 時指出該用途BucketName。具有讀取存取權的範例:
{ "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "IAMPrincipalsWithReadObjectAccess": [ "arn:aws:iam::123456789123:role/roleA", "arn:aws:iam::987654321987:role/roleB" ] } }具有寫入存取權的範例:
{ "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "IAMPrincipalsRequiringWriteObjectAccess": [ "arn:aws:iam::123456789123:role/roleA", "arn:aws:iam::987654321987:role/roleB" ] } }如需產生的政策,請參閱 授予 IAM 使用者或角色的 READ 存取權。
具有服務讀取存取權的範例:
{ "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "ServicesRequiringWriteObjectAccess": [ "rds.amazonaws.com", "logs.ap-southeast-2.amazonaws.com", "ec2.amazonaws.com" ] } }如需產生的政策,請參閱 授予 IAM 使用者或角色的 WRITE 存取權。
具有服務寫入存取權的範例:
{ "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "ServicesRequiringWriteObjectAccess": [ "rds.amazonaws.com", "logs.ap-southeast-2.amazonaws.com", "ec2.amazonaws.com" ] } }使用 強制執行安全傳輸的範例:
{ "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "EnforceSecureTransport": "true" } }如需產生的政策,請參閱 使用 EnforceSecureTransport。
限制從一組 IP 範圍存取儲存貯體的範例:
{ "DocumentName": "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "amzn-s3-demo-bucket", "AccessAllowedIpRanges": [ "1.2.3.0/24", "2.3.4.0/24" ] } }如需產生的政策,請參閱 限制對 IP 範圍的存取。
將 RFC 範本 JSON 檔案輸出至名為 CreateBucketRfc.json:
aws amscm create-rfc --generate-cli-skeleton > CreateBucketRfc.json修改並儲存 CreateBucketRfc.json 檔案。例如,您可以將內容取代為如下內容:
{ "ChangeTypeVersion": "5.0", "ChangeTypeId": "ct-1a68ck03fn98r", "Title": "S3-Bucket-Create-RFC", "RequestedStartTime": "2016-12-05T14:20:00Z", "RequestedEndTime": "2016-12-05T16:20:00Z" }建立 RFC,指定 CreateBucketRfc 檔案和 CreateBucketParams 檔案:
aws amscm create-rfc --cli-input-json file://CreateBucketRfc.json --execution-parameters file://CreateBucketParams.json您會在回應中收到新 RFC 的 ID,並且可以使用它來提交和監控 RFC。在您提交之前,RFC 會保持在編輯狀態,不會啟動。
若要檢視 S3 儲存貯體或將物件載入其中,請查看執行輸出:使用
stack_id在雲端表單主控台中檢視儲存貯體,使用 S3 儲存貯體名稱在 S3 主控台中檢視儲存貯體。注意
從非擁有者帳戶上傳物件時,必須指定
bucket-owner-full-controlACL,以授予儲存貯體擁有者帳戶對儲存貯體中所有物件的完整控制權。範例:aws s3api put-object --aclbucket-owner-full-control--bucketamzn-s3-demo-bucket--keydata.txt--body/tmp/data.txt
注意
此逐步解說說明 ,並提供使用變更類型 (ct-1a68ck03fn98r) 版本 5.0 建立 Amazon S3 儲存貯體的範例命令。此版本不允許您建立公有 S3 儲存貯體,僅允許私有。若要建立公有 S3 儲存貯體,請使用變更類型的先前版本,並指定 AccessControl 參數的 PublicRead。
此外,本演練不會授予刪除版本控制物件所需的許可。
若要進一步了解 Amazon S3,請參閱 Amazon Simple Storage Service 文件
S3 儲存貯體建立產生政策的範例
視您建立 Amazon S3 儲存貯體的方式而定,您會建立 政策。這些範例政策符合 中提供的各種 Amazon S3 建立案例使用 CLI 建立 S3 儲存貯體。
授予 IAM 使用者或角色的 READ 存取權
產生的範例政策會授予 IAM 使用者或角色對儲存貯體中物件的 READ 存取權:
{ "Sid": "AllowBucketReadActionsForArns", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::123456789123:role/roleA”, "arn:aws:iam::987654321987:role/roleB” ] }, "Action": [ "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.BUCKET_NAME" }, { "Sid": "AllowObjectReadActionsForArns", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::123456789123:role/roleA”, "arn:aws:iam::987654321987:role/roleB” ] }, "Action": [ "s3:GetObject", "s3:ListMultipartUploadParts" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*" }
如需使用 S3 儲存貯體建立變更類型的建立此政策的執行參數,請參閱 使用 CLI 建立 S3 儲存貯體
授予 IAM 使用者或角色的 WRITE 存取權
下列產生的範例政策會授予 IAM 使用者或角色對儲存貯體中物件的 WRITE 存取權。此政策不會授予刪除版本控制物件所需的許可。
{ "Sid": "AllowObjectWriteActionsForArns", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::123456789123:role/roleA”, "arn:aws:iam::987654321987:role/roleB” ] }, "Action": [ "s3:PutObject", "s3:DeleteObject", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*" }
如需使用 S3 儲存貯體建立變更類型的建立此政策的執行參數,請參閱 使用 CLI 建立 S3 儲存貯體
授予 AWS 服務的 READ 存取權
產生的範例政策會授予 AWS 服務儲存貯體中物件的 READ 存取權:
{ "Sid": "AllowBucketReadActionsForServcices", "Effect": "Allow", "Principal": { "Service": [ "rds.amazonaws.com", "logs.ap-southeast-2.amazonaws.com", "ec2.amazonaws.com" ] }, "Action": [ "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*" }, { "Sid": "AllowObjectReadActionsForServcices", "Effect": "Allow", "Principal": { "Service": [ "rds.amazonaws.com", "logs.ap-southeast-2.amazonaws.com", "ec2.amazonaws.com" ] }, "Action": [ "s3:GetObject", "s3:ListMultipartUploadParts" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*" }
如需使用 S3 儲存貯體建立變更類型的建立此政策的執行參數,請參閱 使用 CLI 建立 S3 儲存貯體
授予 AWS 服務的 WRITE 存取權
下列產生的範例政策會授予 AWS 服務儲存貯體中物件的 WRITE 存取權。此政策不會授予刪除版本控制物件所需的許可。
{ "Sid": "AllowObjectWriteActionsForServcices", "Effect": "Allow", "Principal": { "Service": [ "rds.amazonaws.com", "logs.ap-southeast-2.amazonaws.com", "ec2.amazonaws.com" ] }, "Action": [ "s3:PutObject", "s3:DeleteObject", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*" }
如需使用 S3 儲存貯體建立變更類型的建立此政策的執行參數,請參閱 使用 CLI 建立 S3 儲存貯體
使用 EnforceSecureTransport
強制執行安全傳輸的範例政策:
{ "Sid": "EnforceSecureTransport", "Effect": "Deny", "Principal": "*", "Action": "*", "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*", "Condition": { "Bool": { "aws:SecureTransport": "false" } } }
如需使用 S3 儲存貯體建立變更類型的建立此政策的執行參數,請參閱 使用 CLI 建立 S3 儲存貯體
限制對 IP 範圍的存取
產生的範例政策會限制從一組 IP 範圍存取儲存貯體:
{ "Sid": "RestrictBasedOnIPRanges", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::ACCOUNT-ID.amzn-s3-demo-bucket/*", "Condition": { "NotIpAddress": { "aws:SourceIp": [ “1.2.3.0/24", “2.3.4.0/24" ] } } }
如需使用 S3 儲存貯體建立變更類型的建立此政策的執行參數,請參閱 使用 CLI 建立 S3 儲存貯體
執行輸入參數
如需執行輸入參數的詳細資訊,請參閱 變更類型的結構描述 ct-1a68ck03fn98r。
範例:必要參數
{ "DocumentName" : "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "mybucket" } }
範例:所有參數
{ "DocumentName" : "AWSManagedServices-CreateBucket", "Region": "us-east-1", "Parameters": { "BucketName": "mybucket", "ServerSideEncryption": "KmsManagedKeys", "KMSKeyId": "arn:aws:kms:ap-southeast-2:123456789012:key/9d5948f1-2082-4c07-a183-eb829b8d81c4", "Versioning": "Enabled", "IAMPrincipalsRequiringReadObjectAccess": [ "arn:aws:iam::123456789012:user/myuser", "arn:aws:iam::123456789012:role/myrole" ], "IAMPrincipalsRequiringWriteObjectAccess": [ "arn:aws:iam::123456789012:user/myuser", "arn:aws:iam::123456789012:role/myrole" ], "ServicesRequiringReadObjectAccess": [ "rds.amazonaws.com", "ec2.amazonaws.com", "logs.ap-southeast-2.amazonaws.com" ], "ServicesRequiringWriteObjectAccess": [ "rds.amazonaws.com", "ec2.amazonaws.com", "logs.ap-southeast-2.amazonaws.com" ], "EnforceSecureTransport": true, "AccessAllowedIpRanges": [ "1.0.0.0/24", "2.0.0.0/24" ], "Tags": [ "{\"Key\": \"foo\", \"Value\": \"bar\"}", "{ \"Key\": \"testkey\",\"Value\": \"testvalue\" }" ] } }