TagUser - AWS Identity and Access Management


Adds one or more tags to an IAM user. If a tag with the same key name already exists, then that tag is overwritten with the new value.

A tag consists of a key name and an associated value. By assigning tags to your resources, you can do the following:

  • Administrative grouping and discovery - Attach tags to resources to aid in organization and search. For example, you could search for all resources with the key name Project and the value MyImportantProject. Or search for all resources with the key name Cost Center and the value 41200.

  • Access control - Reference tags in IAM user-based and resource-based policies. You can use tags to restrict access to only an IAM requesting user or to a role that has a specified tag attached. You can also restrict access to only those resources that have a certain tag attached. For examples of policies that show how to use tags to control access, see Control Access Using IAM Tags in the IAM User Guide.

  • Cost allocation - Use tags to help track which individuals and teams are using which AWS resources.

  • Make sure that you have no invalid tags and that you do not exceed the allowed number of tags per role. In either case, the entire request fails and no tags are added to the role.

  • AWS always interprets the tag Value as a single string. If you need to store an array, you can store comma-separated values in the string. However, you must interpret the value in your code.

For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.


The list of tags that you want to attach to the user. Each tag consists of a key name and an associated value.

Type: Array of Tag objects

Array Members: Maximum number of 50 items.

Required: Yes


The name of the user that you want to add tags to.

This parameter accepts (through its regex pattern) a string of characters that consist of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: [\w+=,.@-]+

Required: Yes


For information about the errors that are common to all actions, see Common Errors.


The request was rejected because multiple requests to change this object were submitted simultaneously. Wait a few minutes and submit your request again.

HTTP Status Code: 409


The request was rejected because an invalid or out-of-range value was supplied for an input parameter.

HTTP Status Code: 400


The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.

HTTP Status Code: 409


The request was rejected because it referenced a resource entity that does not exist. The error message describes the resource.

HTTP Status Code: 404


The request processing has failed because of an unknown error, exception or failure.

HTTP Status Code: 500


The following example is formatted with line breaks for legibility.

The following example shows how to add tags to an existing user.

Sample Request

POST / HTTP/1.1 Host: https://iam.amazonaws.com Accept-Encoding: identity User-Agent: aws-cli/1.11.143 Python/3.6.1 Linux/3.2.45-0.6.wd.865.49.315.metal1.x86_64 botocore/1.7.1 X-Amz-Date: 20170929T181747Z Authorization: <auth details> Content-Length: 99 Content-Type: application/x-www-form-urlencoded Action=TagUser&Version=2010-05-08&UserName=anika &Tags.member.1.Key=Dept&Tags.member.1.Value=Accounting &Tags.member.2.Key=Cost Center&Tags.member.2.Value=12345

Sample Response

HTTP/1.1 200 OK x-amzn-RequestId: EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE Content-Type: text/xml Content-Length: 194 Date: Fri, 29 Sep 2017 18:17:47 GMT <TagUserResponse xmlns="https://iam.amazonaws.com/doc/2010-05-08/"> <ResponseMetadata> <RequestId>EXAMPLE8-90ab-cdef-fedc-ba987EXAMPLE</RequestId> </ResponseMetadata> </TagUserResponse>

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: