Skip to content

IAM  >  Operations  >  put_user_policy

put_user_policy

Operation

put_user_policy async

put_user_policy(input: PutUserPolicyInput, plugins: list[Plugin] | None = None) -> PutUserPolicyOutput

Adds or updates an inline policy document that is embedded in the specified IAM user.

An IAM user can also have a managed policy attached to it. To attach a managed policy to a user, use AttachUserPolicy . To create a new managed policy, use CreatePolicy . For information about policies, see Managed policies and inline policies in the IAM User Guide.

For information about the maximum number of inline policies that you can embed in a user, see IAM and STS quotas in the IAM User Guide.

Note

Because policy documents can be large, you should use POST rather than GET when calling PutUserPolicy. For general information about using the Query API with IAM, see Making query requests in the IAM User Guide.

Parameters:

Name Type Description Default
input PutUserPolicyInput

An instance of PutUserPolicyInput.

required
plugins list[Plugin] | None

A list of callables that modify the configuration dynamically. Changes made by these plugins only apply for the duration of the operation execution and will not affect any other operation invocations.

None

Returns:

Type Description
PutUserPolicyOutput

An instance of PutUserPolicyOutput.

Input

PutUserPolicyInput dataclass

Bases: _SerdeShape

Dataclass for PutUserPolicyInput structure.

Attributes

policy_document class-attribute instance-attribute
policy_document: str | None = ...
The policy document.

You must provide policies in JSON format in IAM. However, for
CloudFormation templates formatted in YAML, you can provide the policy
in JSON or YAML format. CloudFormation always converts a YAML policy to
JSON format before submitting it to IAM.

The [regex pattern](http://wikipedia.org/wiki/regex) used to validate
this parameter is a string of characters consisting of the following:

- Any printable ASCII character ranging from the space character
  (` `) through the end of the ASCII character range

- The printable characters in the Basic Latin and Latin-1 Supplement
  character set (through `ΓΏ`)

- The special characters tab (`     `), line feed (`

), and carriage return ( `)

policy_name class-attribute instance-attribute
policy_name: str | None = ...

The name of the policy document.

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

user_name class-attribute instance-attribute
user_name: str | None = ...

The name of the user to associate the policy with.

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

Output

PutUserPolicyOutput dataclass

Bases: _SerdeShape

Dataclass for PutUserPolicyOutput structure.

Attributes

response_metadata class-attribute instance-attribute
response_metadata: ResponseMetadata = ...

Metadata about the response that produced this output. Use this to recover the request identifiers a service's support team needs in order to investigate a call. Members of the metadata are individually optional.