IAM / Client / attach_role_policy
attach_role_policy#
- IAM.Client.attach_role_policy(**kwargs)#
Attaches the specified managed policy to the specified IAM role. When you attach a managed policy to a role, the managed policy becomes part of the role’s permission (access) policy.
Note
You cannot use a managed policy as the role’s trust policy. The role’s trust policy is created at the same time as the role, using CreateRole. You can update a role’s trust policy using UpdateAssumeRolePolicy.
Use this operation to attach a managed policy to a role. To embed an inline policy in a role, use PutRolePolicy. For more information about policies, see Managed policies and inline policies in the IAM User Guide.
As a best practice, you can validate your IAM policies. To learn more, see Validating IAM policies in the IAM User Guide.
See also: AWS API Documentation
Request Syntax
response = client.attach_role_policy( RoleName='string', PolicyArn='string' )
- Parameters:
RoleName (string) –
[REQUIRED]
The name (friendly name, not ARN) of the role to attach the policy to.
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: _+=,.@-
PolicyArn (string) –
[REQUIRED]
The Amazon Resource Name (ARN) of the IAM policy you want to attach.
For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference.
- Returns:
None
Exceptions
IAM.Client.exceptions.NoSuchEntityException
IAM.Client.exceptions.LimitExceededException
IAM.Client.exceptions.InvalidInputException
IAM.Client.exceptions.UnmodifiableEntityException
IAM.Client.exceptions.PolicyNotAttachableException
IAM.Client.exceptions.ServiceFailureException
Examples
The following command attaches the AWS managed policy named ReadOnlyAccess to the IAM role named ReadOnlyRole.
response = client.attach_role_policy( PolicyArn='arn:aws:iam::aws:policy/ReadOnlyAccess', RoleName='ReadOnlyRole', ) print(response)
Expected Output:
{ 'ResponseMetadata': { '...': '...', }, }