翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
IAM エンドポイントまたはセグメントをエクスポートするための ロール
エンドポイントのリストを取得するには、エクスポートジョブを作成します。エクスポートジョブを作成したら、プロジェクト ID を指定します。また、セグメント ID をオプションで指定できます。Amazon Pinpoint は、プロジェクトまたはセグメントに関連付けられたエンドポイントのリストを Amazon Simple Storage Service (Amazon S3) バケットにエクスポートします。結果のファイルには、チャネル、アドレス、オプトイン/オプトアウトステータス、作成日、エンドポイント ID など、エンドポイントとその属性の JSON形式のリストが含まれています。
エクスポートジョブを作成するには、Amazon Pinpoint が Amazon S3 バケットに書き込むことを許可する IAMロールを設定する必要があります。ロールを設定するプロセスは、2 つのステップで構成されます。
-
エンティティ (この場合は 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 バケットの特定のフォルダに書き込むアクセス許可を付与するポリシーを作成する必要があります。次のポリシー例では、最小特権、つまり、1 つのタスクを実行するのに必要なアクセス許可のみを付与するセキュリティプラクティスを示します。
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「ID アクセス許可の追加と削除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の を使用します。