:doc:`Role <index>` / Action / attach_policy

*************
attach_policy
*************



.. py:method:: IAM.Role.attach_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 <https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html>`__. You can update a role's trust policy using `UpdateAssumerolePolicy <https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAssumeRolePolicy.html>`__.

    

   

  Use this operation to attach a *managed* policy to a role. To embed an inline policy in a role, use `PutRolePolicy <https://docs.aws.amazon.com/IAM/latest/APIReference/API_PutRolePolicy.html>`__. For more information about policies, see `Managed policies and inline policies <https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html>`__ in the *IAM User Guide*.

   

  As a best practice, you can validate your IAM policies. To learn more, see `Validating IAM policies <https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_policy-validator.html>`__ in the *IAM User Guide*.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AttachRolePolicy>`_  


  **Request Syntax**
  ::

    response = role.attach_policy(
        PolicyArn='string'
    )
    
  :type PolicyArn: string
  :param PolicyArn: **[REQUIRED]** 

    The Amazon Resource Name (ARN) of the IAM policy you want to attach.

     

    For more information about ARNs, see `Amazon Resource Names (ARNs) <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html>`__ in the *Amazon Web Services General Reference*.

    

  
  
  :returns: None