本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
IAM 匯出端點或區段的角色
您可以建立匯出任務以取得端點清單。建立匯出任務時,必須指定專案 ID,客群 ID 則可不指定。Amazon Pinpoint 會將與專案或客群相關聯的端點清單,匯出到 Amazon Simple Storage Service (Amazon S3) 儲存貯體。產生的檔案包含端點及其屬性的 JSON格式化清單,例如頻道、地址、選擇加入/選擇退出狀態、建立日期和端點 ID。
若要建立匯出任務,您必須設定允許 Amazon Pinpoint 寫入 Amazon S3 儲存貯體IAM的角色。設定角色的程序包含兩個步驟:
-
建立允許實體 (在此情況下為 Amazon Pinpoint ) 寫入特定 Amazon S3 儲存貯體IAM的政策。
-
建立角色並將政策連接至該IAM角色。
此主題包含完成這兩個步驟的程序。這些程序假設您已建立 Amazon S3 儲存貯體,以及該儲存貯體內的資料夾,以用於存放匯出的客群。如需建立儲存貯體的詳細資訊,請參閱 Amazon Simple Storage Service 使用者指南中的建立儲存貯體。
這些程序也假設您已安裝並設定 AWS Command Line Interface (AWS CLI)。如需設定 的相關資訊 AWS CLI,請參閱 使用者指南 中的安裝 AWS CLI 。 AWS Command Line Interface
步驟 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角色都包含信任政策:一組規則,指定允許哪些實體擔任角色。本節中,您需要建立允許 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的 。