本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 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:::
example-bucket
" ], "Condition": { "StringEquals": { "s3:delimiter": [ "/" ], "s3:prefix": [ "", "Exports
/" ] } } }, { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::example-bucket
" ], "Condition": { "StringLike": { "s3:prefix": [ "Exports
/*" ] } } }, { "Sid": "AllowAllS3ActionsInUserFolder", "Action": [ "s3:*" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::example-bucket
/Exports
/*" ] } ] }在前面的代碼中,替換的所有實例
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 資源名稱 (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的策略。