IAM 匯出端點或區段的角色 - Amazon Pinpoint

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

IAM 匯出端點或區段的角色

您可以建立匯出任務以取得端點清單。建立匯出任務時,必須指定專案 ID,客群 ID 則可不指定。Amazon Pinpoint 會將與專案或客群相關聯的端點清單,匯出到 Amazon Simple Storage Service (Amazon S3) 儲存貯體。產生的檔案包含端點及其屬性的 JSON格式化清單,例如頻道、地址、選擇加入/選擇退出狀態、建立日期和端點 ID。

若要建立匯出任務,您必須設定允許 Amazon Pinpoint 寫入 Amazon S3 儲存貯體IAM的角色。設定角色的程序包含兩個步驟:

  1. 建立允許實體 (在此情況下為 Amazon Pinpoint ) 寫入特定 Amazon S3 儲存貯體IAM的政策。

  2. 建立角色並將政策連接至該IAM角色。

此主題包含完成這兩個步驟的程序。這些程序假設您已建立 Amazon S3 儲存貯體,以及該儲存貯體內的資料夾,以用於存放匯出的客群。如需建立儲存貯體的詳細資訊,請參閱 Amazon Simple Storage Service 使用者指南中的建立儲存貯體

這些程序也假設您已安裝並設定 AWS Command Line Interface (AWS CLI)。如需設定 的相關資訊 AWS CLI,請參閱 使用者指南 中的安裝 AWS CLIAWS Command Line Interface

步驟 1:建立 IAM 政策

IAM 政策定義實體的許可,例如身分或資源。若要建立一個角色來匯出 Amazon Pinpoint 端點,必須先在特定 Amazon S3 儲存貯體中,建立一個授予特定資料夾寫入許可的政策。以下政策範例遵循了授予最低權限的安全性實務—也就是只授予執行單一任務所需的許可。

建立 IAM 政策
  1. 在文字編輯器中,建立新檔案。將以下程式碼貼到檔案:

    { "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

  2. 透過使用 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 角色
  1. 在文字編輯器中,建立新檔案。將以下程式碼貼到檔案:

    { "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

  2. 透過使用 AWS CLI,導覽至trustpolicy.json檔案所在的目錄。輸入以下命令來建立新的角色:

    aws iam create-role --role-name s3ExportRole --assume-role-policy-document file://trustpolicy.json
  3. 在命令列,輸入下列命令,將您在上一節建立的政策連接到您剛建立的角色:

    aws iam attach-role-policy --policy-arn arn:aws:iam::123456789012:policy/s3ExportPolicy --role-name s3ExportRole

    在上述命令中,取代 arn:aws:iam::123456789012:policy/s3ExportPolicy 您在上一節中建立的政策ARN的 。