本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
您可以建立匯出任務以取得端點清單。建立匯出任務時,必須指定專案 ID,客群 ID 則可不指定。Amazon Pinpoint 會將與專案或客群相關聯的端點清單,匯出到 Amazon Simple Storage Service (Amazon S3) 儲存貯體。產生的檔案包含端點及其屬性的 JSON 格式清單,例如管道、地址、加入/退出狀態、建立日期和端點 ID。
若要建立匯出任務,您必須設定 IAM 角色允許 Amazon Pinpoint 寫入 Amazon S3 儲存貯體。設定角色的程序包含兩個步驟:
-
建立一個允許實體 (就本案例而言是 Amazon Pinpoint) 寫入特定 Amazon S3 儲存貯體的 IAM 政策。
-
建立 IAM 角色,並將政策連接到該角色。
此主題包含完成這兩個步驟的程序。這些程序假設您已建立 Amazon S3 儲存貯體,以及該儲存貯體內的資料夾,以用於存放匯出的客群。如需建立儲存貯體的詳細資訊,請參閱 Amazon Simple Storage Service 使用者指南中的建立儲存貯體。
這些程序也假設您已安裝並設定 AWS Command Line Interface (AWS CLI)。如需設定 的資訊 AWS CLI,請參閱AWS Command Line Interface 《 使用者指南》中的安裝 AWS CLI 。
步驟 1:建立 IAM 政策
IAM 政策定義了實體的許可,例如身分或資源。若要建立一個角色來匯出 Amazon Pinpoint 端點,必須先在特定 Amazon S3 儲存貯體中,建立一個授予特定資料夾寫入許可的政策。以下政策範例遵循了授予最低權限的安全性實務—也就是只授予執行單一任務所需的許可。
若要建立 IAM 政策
-
在文字編輯器中,建立新檔案。將以下程式碼貼到檔案:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowUserToSeeBucketListInTheConsole", "Action": [ "s3:ListAllMyBuckets", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::*" ] }, { "Sid": "AllowRootAndHomeListingOfBucket", "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::
amzn-s3-demo-bucket-example-bucket
" ], "Condition": { "StringEquals": { "s3:delimiter": [ "/" ], "s3:prefix": [ "", "Exports
/" ] } } }, { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-example-bucket
" ], "Condition": { "StringLike": { "s3:prefix": [ "Exports
/*" ] } } }, { "Sid": "AllowAllS3ActionsInUserFolder", "Action": [ "s3:*" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-example-bucket
/Exports
/*" ] } ] }在上述程式碼中,將
amzn-s3-demo-bucket-example-bucket
的所有執行個體取代為 Amazon S3 儲存貯體的名稱,其中包含您要匯出區段資訊的資料夾。此外,請將Exports
的所有執行個體取代為資料夾本身的名稱。完成後,請將檔案儲存為
s3policy.json
。 -
透過使用 AWS CLI,導覽至
s3policy.json
檔案所在的目錄。然後,輸入以下命令建立政策:aws iam create-policy --policy-name s3ExportPolicy --policy-document file://
s3policy.json
如果成功建立政策,您會看到類似以下的輸出:
{ "Policy": { "CreateDate": "2018-04-11T18:44:34.805Z", "IsAttachable": true, "DefaultVersionId": "v1", "AttachmentCount": 0, "PolicyId": "ANPAJ2YJQRJCG3EXAMPLE", "UpdateDate": "2018-04-11T18:44:34.805Z", "Arn": "arn:aws:iam::123456789012:policy/s3ExportPolicy", "PolicyName": "s3ExportPolicy", "Path": "/" } }
複製政策的 Amazon Resource Name (ARN) (上述範例中的
arn:aws:iam::123456789012:policy/s3ExportPolicy
)。在下一節,您必須在建立角色時提供此 ARN。注意
如果出現訊息,說明您的帳戶無權執行
CreatePolicy
操作,您需要將政策與您的使用者連接,這樣才能建立新的 IAM 政策和角色。如需詳細資訊,請參閱《IAM 使用者指南》中的新增和移除 IAM 身分許可。
步驟 2:建立 IAM 角色
現在您已建立 IAM 政策,接下來就能建立角色並連接該 IAM 政策。每個 IAM 角色包含了信任政策—這套規則指定了哪些實體可擔任該角色。本節中,您需要建立允許 Amazon Pinpoint 擔任角色的信任政策。接著,您需要建立角色本身,然後連接您在上一節建立的政策。
建立 IAM 角色
-
在文字編輯器中,建立新檔案。將以下程式碼貼到檔案:
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"pinpoint.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
accountId
" }, "ArnLike": { "aws:SourceArn": "arn:aws:mobiletargeting:region
:accountId
:apps/applicationId
" } } } ] }儲存檔案為
trustpolicy.json
。 -
透過使用 AWS CLI,導覽至
trustpolicy.json
檔案所在的目錄。輸入以下命令來建立新的角色:aws iam create-role --role-name s3ExportRole --assume-role-policy-document file://
trustpolicy.json
-
在命令列,輸入下列命令,將您在上一節建立的政策連接到您剛建立的角色:
aws iam attach-role-policy --policy-arn
arn:aws:iam::123456789012:policy/s3ExportPolicy
--role-name s3ExportRole在上述命令中,將
arn:aws:iam::123456789012:policy/s3ExportPolicy
替換成您在上一節建立的政策的 ARN。