本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
对 AWS CodePipeline 身份和访问进行故障排除
使用以下信息来帮助您诊断和修复在使用 CodePipeline 和时可能遇到的常见问题IAM。
主题
我无权在以下位置执行操作 CodePipeline
如果 AWS Management Console 告诉您您无权执行某项操作,则必须联系管理员寻求帮助。您的管理员是指为您提供用户名和密码的那个人。
当mateojackson
IAM用户尝试使用控制台查看有关管道的详细信息但没有codepipeline:GetPipeline
权限时,会出现以下示例错误。
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: codepipeline:GetPipeline on resource: my-pipeline
在这种情况下,Mateo 请求他的管理员更新其策略,以允许他使用 codepipeline:GetPipeline
操作访问 my-pipeline
资源。
我无权执行 iam:PassRole
如果您收到错误消息,提示您无权执行 iam:PassRole
操作,则必须联系您的管理员寻求帮助。您的管理员是指为您提供用户名和密码的那个人。要求该人更新您的政策,以允许您将角色传递给 CodePipeline。
有些 AWS 服务 允许您将现有角色传递给该服务,而不是创建新的服务角色或与服务相关的角色。为此,您必须具有将角色传递到服务的权限。
当名为的IAM用户marymajor
尝试使用控制台在中执行操作时,会出现以下示例错误 CodePipeline。但是,服务必须具有服务角色所授予的权限才可执行操作。Mary 不具有将角色传递到服务的权限。
User:
arn:aws
:iam::123456789012
:user/marymajor
is not authorized to perform: iam:PassRole
在这种情况下,Mary 请求她的管理员来更新其策略,以允许她执行 iam:PassRole
操作。
我是一名管理员,想允许其他人访问 CodePipeline
要允许其他人访问 CodePipeline,您必须向需要访问的人员或应用程序授予权限。如果您使用 AWS IAM Identity Center 管理人员和应用程序,则可以向用户或组分配权限集以定义其访问级别。权限集会自动创建IAM策略并将其分配给与个人或应用程序关联的IAM角色。有关更多信息,请参阅《AWS IAM Identity Center 用户指南》中的权限集。
如果您不使用 Ident IAM ity Center,则必须为需要访问权限的人员或应用程序创建IAM实体(用户或角色)。然后,您必须将策略附加到授予他们在中的正确权限的实体 CodePipeline。授予权限后,向用户或应用程序开发人员提供证书。他们将使用这些凭证进行访问 AWS。要了解有关创建IAM用户、群组、策略和权限的更多信息,请参阅IAM用户指南IAM中的IAM身份、策略和权限。
我想允许 AWS 账户之外的人访问我的 CodePipeline资源
您可以创建一个角色,以便其他账户中的用户或您组织外的人员可以使用该角色来访问您的资源。您可以指定谁值得信赖,可以担任角色。对于支持基于资源的策略或访问控制列表 (ACLs) 的服务,您可以使用这些策略向人们授予访问您的资源的权限。
要了解更多信息,请参阅以下内容:
-
要了解是否 CodePipeline 支持这些功能,请参阅AWS CodePipeline 如何使用 IAM。
-
要了解如何提供对您拥有的资源的访问权限,请参阅《IAM用户指南》中的 AWS 账户 向其他IAM用户提供访问权限。 AWS 账户
-
要了解如何向第三方提供对您的资源的访问权限 AWS 账户,请参阅IAM用户指南中的向第三方提供访问权限。 AWS 账户
-
要了解如何通过联合身份验证提供访问权限,请参阅《用户指南》中的向经过外部身份验证的用户提供访问权限(联合身份验证)。IAM
-
要了解使用角色和基于资源的策略进行跨账户访问的区别,请参阅IAM用户指南IAM中的跨账户资源访问权限。