AWS Identity and Access Management
ユーザーガイド

IAM エンティティのタグ付け

IAM タグでタグキー – 値のペアで、カスタム属性を IAM ユーザーまたはロールに追加できます。たとえば、位置情報をユーザーに追加するには、タグキー location とタグ値 us_wa_seattle を追加できます。または、3 つの位置 (loc-country = usloc-state = waloc-city = seattle) のタグキー – キーのペアを使用できます。タグを使用して、エンティティのリソースへのアクセスや、エンティティにアタッチできるタグを制御できます。タグを使用したアクセスの制御については、「IAM タグを使用したアクセス制御」を参照してください。

AWS タグ命名規則を選択する

タグを IAM ユーザーおよびロールにアタッチする場合は、タグの命名規則を慎重に選択し、同じ規則を AWS のすべてのタグに適用します。ポリシーでタグを使用して AWS リソースへのアクセスを制御する場合、これは特に重要です。AWS のタグをすでに使用している場合は、命名規則を確認し、必要に応じて調整します。命名ルールの作成の詳細については、「AWS タグ付け戦略」を参照してください。

IAM エンティティをタグ付けするためのルール

IAM のタグの作成と適用を管理する多数の規則。

命名タグ

IAM エンティティ (ユーザーとロール) のタグ命名規則を策定する場合は、次の規則を確認します。

  • タグキーと値には、文字、数字、空白、記号 (_ . : / = + - @ .) の任意の組み合わせを使用できます。

  • タグキー – 値のペアは大文字と小文字が区別されませんが、大文字と小文字は保持されます。つまり、Departmentdepartment のタグキーを別々に持つことはできません。Department=foo タグでユーザーをタグ付けし、department=bar タグを追加すると、最初のタグが置き換えられます。2 番目のタグは追加されません。

  • テキスト aws: から開始するタグキーや値を作成することはできません。このタグプレフィックスは AWS 社内使用のために予約されています。

  • 空の値 (例: phoneNumber = ) を含むタグを作成することができます。空のタグキーを作成することはできません。

  • 1 つのタグで複数の値を指定することはできませんが、カスタムの複数値構造を 1 つの値で作成することができます。たとえば、ユーザー Zhang がエンジニアリングチーム、QA チームで働いているとします。team = Engineering タグ、team = QA タグの順にアタッチする場合は、タグの値を Engineering から QA に変更します。代わりに、カスタム区切り文字を使用して 1 つのタグに複数の値を含めることができます。この例では、team = Engineering:QA タグを Zhang にアタッチします。

    注記

    team タグを使用して、この例のエンジニアへのアクセスを制御するには、Engineering を含む可能性のある各設定を許可するポリシー (例: Engineering:QA) を作成する必要があります。ポリシーのタグの使用の詳細については、「IAM タグを使用したアクセス制御」を参照してください。

タグの適用と編集

タグを IAM エンティティ (ユーザーまたはロール) にアタッチするとき、次の規則を確認します。

  • ユーザーまたはロールにタグを付けることはできますが、グループやポリシーにタグを付けることはできません。

  • タグエディタを使用して、IAM エンティティにタグ付けすることはできません。タグエディタは IAM タグをサポートしていません。他のサービスでのタグエディタの使用については、『AWS マネジメントコンソール ユーザーガイド』の「タグエディタの使用」を参照してください。

  • IAM エンティティにタグ付けするには、特定のアクセス許可が必要です。ロールやユーザーにタグ付けまたはタグ解除するには、タグを一覧表示するアクセス許可も必要です。詳細については、「IAM エンティティのタグ付けに必要なアクセス許可」を参照してください。

  • ユーザーやロールにアタッチできるタグの数やサイズには制限があります。詳細については、「IAM エンティティおよびオブジェクトの制限」を参照してください。

  • 同じタグを複数の IAM エンティティに適用することができます。たとえば、AWS_Development という名前の部署に 12 名 のメンバーがいる場合は、タグキー (department) と値 (awsDevelopment) (department = awsDevelopment) を使用して、12 のユーザーと 1 のロールを持つことができます。また、タグ付けをサポートする他のサービスのリソースで同じタグを使用することもできます。

  • IAM エンティティが、同じタグキーの複数のインスタンスを持つことはできません。たとえば、タグキー – 値のペア costCenter = 1234 を含むユーザーがいる場合は、タグキー – 値のペア costCenter = 5678 をアタッチできます。IAM は、costCenter タグの値を 5678 に更新します。

  • IAM ユーザーまたはロールにアタッチされているタグを編集するには、新しい値のタグをアタッチして、既存のタグを上書きします。たとえば、タグキー – 値のペア department = Engineering をもつユーザーがいるとします。ユーザーを QA 部門に異動する場合は、department = QA タグキー – 値のペアをこのユーザーにアタッチします。その結果、department タグキーの Engineering 値は、QA 値に置き換わります。

IAM エンティティのタグ付けに必要なアクセス許可

IAM エンティティ (ユーザーまたはロール) が他のエンティティをタグ付けできるようにするには、アクセス許可を設定する必要があります。IAM ポリシーの次の IAM タグアクションのいずれかまたはすべてを指定することができます。

  • iam:ListRoleTags

  • iam:ListUserTags

  • iam:TagRole

  • iam:TagUser

  • iam:UntagRole

  • iam:UntagUser

IAM エンティティが特定のユーザーのタグを追加、一覧表示、または削除できるようにするには

タグを管理する必要のある IAM エンティティのアクセス許可ポリシーに、以下のステートメントを追加します。アカウント番号を使用して、<username> を、管理する必要のあるユーザー名に置き換えます。この例の JSON ポリシードキュメントを使用してポリシーを作成する方法については、「[JSON] タブでのポリシーの作成」を参照してください。

{ "Effect": "Allow", "Action": [ "iam:ListUserTags", "iam:TagUser", "iam:UntagUser" ], "Resource": "arn:aws:iam:*:<account-number>:user/<username>" }

IAM ユーザーがタグを自己管理できるようにするには

独自のタグの管理をユーザーに許可するアクセス許可ポリシーに、以下のステートメントを追加します。この例の JSON ポリシードキュメントを使用してポリシーを作成する方法については、「[JSON] タブでのポリシーの作成」を参照してください。

{ "Effect": "Allow", "Action": [ "iam:ListUserTags", "iam:TagUser", "iam:UntagUser" ], "Resource": "arn:aws:iam:*:user/${aws:username}" }

IAM エンティティが特定のユーザーにタグを追加できるようにするには

指定したユーザーのタグを追加する必要はあるが、削除やタグ付けは不要な IAM エンティティのアクセス許可ポリシーに、以下のステートメントを追加します。

注記

iam:AddRoleTags および iam:AddUserTags アクションでは、iam:ListRoleTags および iam:ListUserTags アクションも含める必要があります。

このポリシーを使用するには、<username> を、管理する必要のあるユーザー名に置き換えます。この例の JSON ポリシードキュメントを使用してポリシーを作成する方法については、「[JSON] タブでのポリシーの作成」を参照してください。

{ "Effect": "Allow", "Action": [ "iam:ListUserTags", "iam:TagUser" ], "Resource": "arn:aws:iam:*:<account-number>:user/<username>" }

IAM エンティティが特定のロールのタグを追加、一覧表示、または削除できるようにするには

タグを管理する必要のある IAM エンティティのアクセス許可ポリシーに以下のステートメントを追加します。その際、<rolename> は、管理する必要のあるロールの名前に置き換えます。この例の JSON ポリシードキュメントを使用してポリシーを作成する方法については、「[JSON] タブでのポリシーの作成」を参照してください。

{ "Effect": "Allow", "Action": [ "iam:ListRoleTags", "iam:TagRole", "iam:UntagRole" ], "Resource": "arn:aws:iam:*:<account-number>:role/<rolename>" }

または、IAMFullAccess などの AWS 管理ポリシーを使用して、IAM へのフルアクセスを付与することもできます。

IAM エンティティのタグの管理 (コンソール)

IAM ユーザーまたはロールのタグは、AWS マネジメントコンソール から管理することができます。

ユーザーまたはロールのタグを管理するには (コンソール)

  1. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

  2. コンソールのナビゲーションペインで、[ロール] または [ユーザー] を選択し、編集するエンティティの名前を選択します。

  3. [タグ] タブを選択し、以下のいずれかのアクションを完了します。

    • エンティティにタグがない場合は、[タグの追加] を選択します。

    • [タグの編集] を選択して、既存のタグセットを管理します。

  4. タグのセットを完了するには、タグを追加または削除します。次に、[変更の保存] を選択します。

IAM エンティティのタグの管理 (AWS CLI または AWS API)

IAM ユーザーおよびロールのタグを表示、アタッチ、または削除することができます。AWS CLI または AWS API を使用して IAM ユーザーおよびロールのタグ付けを管理できます。

IAM ロールに現在アタッチされているタグを一覧表示するには (AWS CLI または AWS API)

IAM ユーザーに現在アタッチされているタグを一覧表示するには (AWS CLI または AWS API)

タグを IAM ロールにアタッチするには (AWS CLI または AWS API)

タグを IAM ユーザーにアタッチするには (AWS CLI または AWS API)

IAM ロールからタグを削除するには (AWS CLI または AWS API)

IAM ユーザーからタグを削除するには (AWS CLI または AWS API)

他の AWS サービスのリソースにタグをアタッチする方法については、これらのサービスのドキュメントを参照してください。

IAM を使用して、タグで詳細なアクセスを許可する設定については、「IAM ポリシーエレメント: 変数およびタグ」を参照してください。