Amazon S3 身份和访问问题排查
可以使用以下信息,协助您诊断和修复在使用 Amazon S3 和 IAM 时可能遇到的常见问题。
主题
我收到了拒绝访问错误
确认无论是在存储桶策略还是基于身份的策略中,都没有针对您尝试向其授予权限的请求者使用显式 Deny
语句。
有关排查拒绝访问错误的详细信息,请参阅排查 Amazon S3 中的拒绝访问(403 Forbidden)错误。
我无权在 Amazon S3 中执行操作
如果您收到错误提示,表明您无权执行某个操作,则您必须更新策略以允许执行该操作。
当 mateojackson
IAM 用户尝试使用控制台查看有关虚构
资源的详细信息,但不拥有虚构 my-example-widget
s3:
权限时,会发生以下示例错误。GetWidget
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: s3:GetWidget
on resource:my-example-widget
在此情况下,必须更新 mateojackson
用户的策略,以允许使用 s3:
操作访问 GetWidget
资源。my-example-widget
如果您需要帮助,请联系 AWS 管理员。您的管理员是提供登录凭证的人。
我无权执行 iam:PassRole
如果您收到一个错误,表明您无权执行 iam:PassRole
操作,则必须更新策略以允许您将角色传递给 Amazon S3。
有些 AWS 服务 允许将现有角色传递到该服务,而不是创建新服务角色或服务相关角色。为此,您必须具有将角色传递到服务的权限。
当名为 marymajor
的 IAM 用户尝试使用控制台在 Amazon S3 中执行操作时,会发生以下示例错误。但是,服务必须具有服务角色所授予的权限才可执行此操作。Mary 不具有将角色传递到服务的权限。
User: arn:aws:iam::123456789012:user/
marymajor
is not authorized to perform: iam:PassRole
在这种情况下,必须更新 Mary 的策略以允许她执行 iam:PassRole
操作。
如果您需要帮助,请联系 AWS 管理员。您的管理员是提供登录凭证的人。
我希望允许我的 AWS 账户以外的人访问我的 Amazon S3 资源
您可以创建一个角色,以便其他账户中的用户或您组织外的人员可以使用该角色来访问您的资源。您可以指定谁值得信赖,可以担任角色。对于支持基于资源的策略或访问控制列表(ACL)的服务,您可以使用这些策略向人员授予对您的资源的访问权。
要了解更多信息,请参阅以下内容:
-
要了解 Amazon S3 是否支持这些功能,请参阅Amazon S3 如何与 IAM 配合使用。
-
要了解如何为您拥有的 AWS 账户中的资源提供访问权限,请参阅《IAM 用户指南》中的为您拥有的另一个 AWS 账户中的 IAM 用户提供访问权限。
-
要了解如何为第三方 AWS 账户 提供您的资源的访问权限,请参阅 IAM 用户指南中的为第三方拥有的 AWS 账户 提供访问权限。
-
要了解如何通过联合身份验证提供访问权限,请参阅《IAM 用户指南》中的为经过外部身份验证的用户(联合身份验证)提供访问权限。
-
要了解使用角色和基于资源的策略进行跨账户访问之间的差别,请参阅《IAM 用户指南》中的 IAM 中的跨账户资源访问。