Troubleshooting AWS CodePipeline identity and access
Use the following information to help you diagnose and fix common issues that you might encounter when working with CodePipeline and IAM.
Topics
I am not authorized to perform an action in CodePipeline
If the AWS Management Console tells you that you're not authorized to perform an action, you must contact your administrator for assistance. Your administrator is the person who provided you with your user name and password.
The following example error occurs when the mateojackson
IAM user
tries to use the console to view details about a pipeline, but does not have
codepipeline:GetPipeline
permissions.
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: codepipeline:GetPipeline on resource: my-pipeline
In this case, Mateo asks his administrator to update his policies to allow him to
access the my-pipeline
resource using the
codepipeline:GetPipeline
action.
I am not authorized to perform iam:PassRole
If you receive an error that you're not authorized to perform the
iam:PassRole
action, you must contact your administrator for
assistance. Your administrator is the person who provided you with your user name
and password. Ask that person to update your policies to allow you to pass a role to
CodePipeline.
Some AWS services allow you to pass an existing role to that service, instead of creating a new service role or service-linked role. To do this, you must have permissions to pass the role to the service.
The following example error occurs when an IAM user named marymajor
tries to use the console to perform an action in CodePipeline. However, the action requires
the service to have permissions granted by a service role. Mary does not have
permissions to pass the role to the service.
User:
arn:aws
:iam::123456789012
:user/marymajor
is not authorized to perform: iam:PassRole
In this case, Mary asks her administrator to update her policies to allow her to
perform the iam:PassRole
action.
I'm an administrator and want to allow others to access CodePipeline
To allow others to access CodePipeline, you must create an IAM entity (user or role) for the person or application that needs access. They will use the credentials for that entity to access AWS. You must then attach a policy to the entity that grants them the correct permissions in CodePipeline.
To get started right away, see Creating your first IAM delegated user and group in the IAM User Guide.
I want to allow people outside of my AWS account to access my CodePipeline resources
You can create a role that users in other accounts or people outside of your organization can use to access your resources. You can specify who is trusted to assume the role. For services that support resource-based policies or access control lists (ACLs), you can use those policies to grant people access to your resources.
To learn more, consult the following:
-
To learn whether CodePipeline supports these features, see How AWS CodePipeline works with IAM.
-
To learn how to provide access to your resources across AWS accounts that you own, see Providing access to an IAM user in another AWS account that you own in the IAM User Guide.
-
To learn how to provide access to your resources to third-party AWS accounts, see Providing access to AWS accounts owned by third parties in the IAM User Guide.
-
To learn how to provide access through identity federation, see Providing access to externally authenticated users (identity federation) in the IAM User Guide.
-
To learn the difference between using roles and resource-based policies for cross-account access, see How IAM roles differ from resource-based policies in the IAM User Guide.