Deletes the specified managed policy.

Before you can delete a managed policy, you must first detach the policy from all users, groups, and roles that it is attached to. In addition, you must delete all the policy's versions. The following steps describe the process for deleting a managed policy:

  • Detach the policy from all users, groups, and roles that the policy is attached to, using DetachUserPolicy, DetachGroupPolicy, or DetachRolePolicy. To list all the users, groups, and roles that a policy is attached to, use ListEntitiesForPolicy.
  • Delete all versions of the policy using DeletePolicyVersion. To list the policy's versions, use ListPolicyVersions. You cannot use DeletePolicyVersion to delete the version that is marked as the default version. You delete the policy's default version in the next step of the process.
  • Delete the policy (this automatically deletes the policy's default version) using this operation.

For information about managed policies, see Managed policies and inline policies in the IAM User Guide .

See also: AWS API Documentation

Request Syntax

response = client.delete_policy(
PolicyArn (string) --


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

For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference .



  • IAM.Client.exceptions.NoSuchEntityException
  • IAM.Client.exceptions.LimitExceededException
  • IAM.Client.exceptions.InvalidInputException
  • IAM.Client.exceptions.DeleteConflictException
  • IAM.Client.exceptions.ServiceFailureException