Amazon Pinpoint のリソースにタグを付ける - Amazon Pinpoint

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Pinpoint のリソースにタグを付ける

タグは、特定のタイプの AWS リソースなど、Amazon Pinpoint リソースをオプションで定義および関連付けるラベルです。タグを使用することで、目的、所有者、環境、その他の条件など、さまざまな方法でリソースを分類および管理できます。例えば、タグを使用してポリシーや自動化を適用したり、特定のコンプライアンス要件の対象となるリソースを識別したりできます。以下のタイプの Amazon Pinpoint リソースにタグを追加できます。

  • キャンペーン

  • メッセージテンプレート

  • プロジェクト (アプリケーション)

  • セグメント

リソースには、最大 50 個のタグを含めることができます。

タグの管理

タグはそれぞれ、1 つの必須タグキーとオプションの 1 つのタグ値で構成されており、どちらもお客様側が定義します。タグキーは、より具体的なタグ値のカテゴリのように動作する、一般的なラベルです。タグ値は、タグキーの記述子として機能します。

タグキーには最大 128 文字を含めることができます。タグ値は最大 256 文字を含めることができます。Unicode 文字、数字、空白、または次の記号のいずれか 1 つを使用できます。_ 。: / = + - さらに、タグには以下のような制限が追加されます。

  • タグのキーと値は大文字と小文字が区別されます。

  • タグキーは、関連付けられたリソースごとにそれぞれ一意である必要があります。また、設定できる値は 1 つのみです。

  • aws: プレフィックスは AWS で使用されるためにリザーブされています。定義した任意のタグキーや値で使用することはできません。さらに、このプレフィックスを使用するタグキーまたは値は編集または削除できません。このプレフィックスを使用するタグは、リソースあたりのタグ数のクォータ (50 個) にはカウントされません。

  • タグのみに基づいて、リソースを更新または削除することはできません。使用する操作に応じて、Amazon リソースネーム (ARN) またはリソース ID も指定する必要があります。

  • パブリックリソースまたは共有リソースにタグを関連付けることができます。ただし、タグは自分の AWS アカウントにのみ使用でき、リソースを共有する他のアカウントには使用できません。さらに、AWS アカウント用に指定された AWS リージョンにあるリソースにのみタグを使用できます。

Amazon Pinpoint リソースからタグキーと値を追加、表示、更新、削除するには、AWS Command Line Interface (AWS CLI)、Amazon Pinpoint API、AWS Resource Groups タグ付け API、または AWS SDK を使用できます。AWS アカウントに指定された AWS リージョンにあるすべての AWS リソース (Amazon Pinpoint リソースなど) にわたってタグキーおよび値を管理するには、AWS Resource Groups タグ付け API を使用します。

IAMポリシーでタグを使用する

タグの実装を開始した後、タグベースのリソースレベルのアクセス許可を AWS Identity and Access Management (IAM) ポリシーと API オペレーションに適用できます。これには、リソースの作成時にリソースへのタグの追加をサポートするオペレーションが含まれます。このようにタグを使用することで、AWS アカウントのどのグループとユーザーにリソースの作成とタグ付けのアクセス許可があって、どのグループとユーザーにタグの作成、更新、削除のアクセス許可があるかを、広範囲にきめ細かく制御できます。

例えば、リソースの Owner タグの値がユーザー名となっているすべての Amazon Pinpoint リソースに対して、ユーザーにフルアクセスを許可するポリシーを作成できます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ModifyResourceIfOwner", "Effect": "Allow", "Action": "mobiletargeting:*", "Resource": "*", "Condition": { "StringEqualsIgnoreCase": { "aws:ResourceTag/Owner": "${aws:username}" } } } ] }

タグをベースにしてリソースレベルでアクセス許可を定義した場合、そのアクセス許可は即座に反映されます。つまり、リソースが作成されるとすぐにリソースの安全性が増し、新しいリソースにタグの使用をすぐに強制できるようになります。リソースレベルのアクセス許可を使用して、新しいリソースと既存のリソースに、どのタグキーと値を関連付けるかを制御することもできます。詳細については、AWS IAM ユーザーガイドの「タグを使用したアクセス制御」を参照してください。

リソースにタグを追加する

次の例は、AWS CLIAmazon Pinpoint REST API を使用して、Amazon Pinpoint リソースにタグを追加する方法を示しています。サポートされている AWS SDK を使用して、リソースにタグを追加することもできます。

1 回の操作で複数の Amazon Pinpoint リソースにタグを追加するには、AWS CLI のリソースグループのタグ付け操作か、AWS Resource Groups タグ付け API を使用します。

API を使用したタグの追加

Amazon Pinpoint REST API を使用して新しいリソースを作成し、タグを追加するには、適切なリソース URI に POST リクエストを送信します。リクエストの本文で tags パラメータと値を含めます。次の例は、新しいプロジェクトを作成するときにタグを指定する方法を示しています。

POST /v1/apps HTTP/1.1 Host: pinpoint.us-east-1.amazonaws.com Content-Type: application/x-www-form-urlencoded Accept: application/json Cache-Control: no-cache { "Name":"MyProject", "tags":{ "key1":"value1" } }

既存のリソースにタグを追加するには、 タグ URI に POST リクエストを送信します。URI にリソースの Amazon リソースネーム (ARN) を含めます。ARN は URL エンコードする必要があります。リクエストの本文には、次の例に示すように、tags パラメータと値を含めます。

POST /v1/tags/resource-arn HTTP/1.1 Host: pinpoint.us-east-1.amazonaws.com Content-Type: application/json Accept: application/json Cache-Control: no-cache { "tags":{ "key1":"value1" } }

AWS CLI を使用したタグの追加

AWS CLI を使用して新しいリソースを作成し、タグを追加するには、そのリソースに適切な create コマンドを使用します。tags パラメータと値を含めます。次の例は、新しいプロジェクトを作成するときにタグを指定する方法を示しています。

Linux, macOS, or Unix
$ aws pinpoint create-app \ --create-application-request '{ "Name":"MyProject", "tags": { "key1":"value1", "key2":"value2" } }'
Windows Command prompt
C:\> aws pinpoint create-app ^ --create-application-request Name=MyProject,tags={key1=value1,key2=value2}

前述の例で、以下を実行します。

  • MyProject を、プロジェクトに付ける名前に置き換えます。

  • key1key2 を、リソースに追加するタグのキーに置き換えます。

  • value1value2 を、それぞれのキーに追加するタグの値に置き換えます。

Amazon Pinpoint リソースの作成に使用できるコマンドの詳細については、AWS CLI コマンドリファレンスを参照してください。

既存のリソースにタグを追加するには、tag-resource コマンドを使用して、必須のパラメータに適切な値を指定します。

Linux, macOS, or Unix
$ aws pinpoint tag-resource \ --resource-arn resource-arn \ --tags-model '{ "tags": { "key1":"value1", "key2":"value2" } }'
Windows Command Prompt
C:\> aws pinpoint tag-resource ^ --resource-arn resource-arn ^ --tags-model tags={key1=value1,key2=value2}

前述の例で、以下を実行します。

  • resource-arn を、タグを追加するリソースの Amazon リソースネーム (ARN) に置き換えます。

  • key1key2 を、リソースに追加するタグのキーに置き換えます。

  • value1value2 を、それぞれのキーに追加するタグの値に置き換えます。

リソースのタグを表示する

以下の例では、AWS CLI および Amazon Pinpoint REST API を使用して、 リソースに関連付けられているすべてのタグ (キーと値) を一覧表示する方法を示します。サポートされている AWS SDK を使用して、リソースに関連付けられているタグを表示することもできます。

API を使用したタグの表示

Amazon Pinpoint REST API を使用して、特定のリソースに関連付けられているすべてのタグを表示するには、GET リクエストを Tags URI に送信し、その URI にリソースの Amazon リソースネーム (ARN) を含めます。ARN は URL エンコードする必要があります。例えば、以下のリクエストは、指定されたキャンペーン (resource-arn) に関連付けられているすべてのタグを取得します。

GET /v1/tags/resource-arn HTTP/1.1 Host: pinpoint.us-east-1.amazonaws.com Content-Type: application/json Accept: application/json Cache-Control: no-cache

リクエストへの JSON レスポンスには、tags オブジェクトが含まれます。tags オブジェクトで、キャンペーンに関連付けられているすべてのタグキーと値が一覧表示されます。

同じタイプの複数のリソースに関連付けられているタグをすべて表示するには、そのタイプのリソースの適切な URI に GET リクエストを送信します。例えば、以下のリクエストは、特定のプロジェクト (application-id) にあるすべてのキャンペーンに関する情報を取得します。

GET /v1/apps/application-id/campaigns HTTP/1.1 Host: pinpoint.us-east-1.amazonaws.com Content-Type: application/json Accept: application/json Cache-Control: no-cache

リクエストへの JSON レスポンスで、そのプロジェクトにあるすべてのキャンペーンが一覧表示されます。各キャンペーンの tags オブジェクトにより、そのキャンペーンに関連付けられたすべてのタグキーと値が一覧表示されます。

AWS CLI を使用したタグの表示

AWS CLI を使用して、特定のリソースに関連付けられているタグのリストを表示するには、次の例に示すように、list-tags-for-resource コマンドを実行し、resource-arn パラメータにリソースの Amazon リソースネーム (ARN) を指定します。

Linux, macOS, or Unix
$ aws pinpoint list-tags-for-resource \ --resource-arn resource-arn
Windows Command Prompt
C:\> aws pinpoint list-tags-for-resource ^ --resource-arn resource-arn

タグの付いたすべての Amazon Pinpoint リソースと、それらのリソースのそれぞれに関連付けられたすべてのタグのリストを表示するには、AWS Resource Groups タグ付け API の get-resources コマンドを使用します。次のコード例に示すように、resource-type-filters パラメータ を mobiletargeting に設定します。

Linux, macOS, or Unix
$ aws resourcegroupstaggingapi get-resources \ --resource-type-filters "mobiletargeting"
Windows Command Prompt
C:\> aws resourcegroupstaggingapi get-resources ^ --resource-type-filters "mobiletargeting"

コマンドのアウトプットは、タグを持つすべての Amazon Pinpoint リソースの ARN のリストです。リストには、各リソースに関連付けられたタグキーと値がすべて含まれます。

リソースのタグを更新する

Amazon Pinpoint リソースのタグを更新する (上書きする) には、いくつかの方法があります。タグを更新する最適な方法は、次の要素に応じて異なります。

  • 更新するタグのリソースのタイプ。

  • 1 つのリソースのタグを更新するか、または複数のリソースのタグを同時に更新するか。

  • タグキーまたはタグ値を更新するのか、またはその両方を更新するのか。

Amazon Pinpoint プロジェクトのタグを更新するか、複数のリソースのタグを同時に更新するには、AWS CLI または AWS Resource Groups タグ付け API のリソースグループのタグ付けオペレーションを使用します。現在、Amazon Pinpoint API はこれらのタスクについて、直接はサポートしていません。

あるリソースのタグを更新するには、Amazon Pinpoint API を使用して現在のタグを削除し、新しいタグを追加します。

リソースからのタグの削除

次の例は、AWS CLIAmazon Pinpoint REST API を使用して、Amazon Pinpoint リソースにタグ (キーと値) を削除する方法を示しています。また、サポートされている AWS SDK を使用して、リソースからタグを削除することもできます。

1 回のオペレーションで複数の Amazon Pinpoint リソースからタグを削除するには、AWS CLI のリソースグループのタグ付け操作か、AWS Resource Groups タグ付け API を使用します。タグキーではなく、特定のタグ値のみをリソースから削除するには、そのリソースのタグを更新します。

API を使用したタグの削除

Amazon Pinpoint REST API を使用してリソースからタグを削除するには、DELETE リクエストを Tags URI に送信します。この URI では、タグを削除するリソースの Amazon リソースネーム (ARN) を含め、その後に tagKeys パラメータと削除するタグを続けます。例:

https://endpoint/v1/tags/resource-arn?tagKeys=key

実行する条件は以下のとおりです。

  • endpoint は、リソースをホストする AWS リージョンの Amazon Pinpoint エンドポイントです。

  • resource-arn は、タグを削除するリソースの ARN です。

  • key は、リソースから削除するタグです。

すべてのパラメータは、URL エンコードする必要があります。

複数のタグキーとそれらに関連付けられた値の両方をリソースから削除するには、削除するさらなるタグそれぞれの tagKeys パラメータと引数を、アンパサンド (&) で区切って追加します。例:

https://endpoint/v1/tags/resource-arn?tagKeys=key1&tagKeys=key2

すべてのパラメータは、URL エンコードする必要があります。

AWS CLI を使用したタグの削除

AWS CLI を使用してリソースからタグを削除するには、untag-resource コマンドを実行します。次の例に示すように、tag-keys パラメータと引数を含めます。

Linux, macOS, or Unix
$ aws pinpoint untag-resource \ --resource-arn resource-arn \ --tag-keys key1 key2
Windows Command Prompt
C:\> aws pinpoint untag-resource ^ --resource-arn resource-arn ^ --tag-keys key1 key2

上の例に、以下の変更を加えます。

  • resource-arn を、タグを削除するリソースの ARN に置き換えます。

  • key1key2 を、リソースから削除するタグのキーに置き換えます。

Amazon Pinpoint リソースの管理に使用できる CLI コマンドの詳細については、「AWS CLI コマンドリファレンス」の「Amazon Pinpoint」セクションを参照してください。

サポート対象の HTTP(S) メソッド、パラメータ、スキーマなど、Amazon Pinpoint API のリソースに関する詳細については、「Amazon Pinpoint API リファレンス」を参照してください。