排查 AWS CloudTrail 身份和访问问题
使用以下信息可帮助您诊断和修复在使用 CloudTrail 和 IAM 时可能遇到的常见问题。
主题
我无权在 CloudTrail 中执行操作
如果您收到错误提示,指明您无权执行某个操作,则必须更新策略以允许执行该操作。
当 mateojackson IAM 用户尝试使用控制台查看有关虚构 资源的详细信息,但不拥有虚构 my-example-widgetcloudtrail: 权限时,会发生以下示例错误。GetWidget
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: cloudtrail:GetWidgeton resource:my-example-widget
在此情况下,必须更新 mateojackson 用户的策略,以允许使用 cloudtrail: 操作访问 GetWidget 资源。my-example-widget
如果您需要帮助,请联系 AWS 管理员。您的管理员是提供登录凭证的人。
如果 AWS 管理控制台 告诉您,您无权执行某个操作,则必须联系您的管理员寻求帮助。管理员是向您提供登录凭证的人。
在以下情况下,会发生下面的示例错误:当 mateojackson IAM 用户尝试使用控制台查看有关跟踪的详细信息,但并没有将适当的 CloudTrail 托管式策略(AWSCloudTrail_FullAccess 或 AWSCloudTrail_ReadOnlyAccess)或等效权限应用到其账户。
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: cloudtrail:GetTrailStatus on resource:My-Trail
在这种情况下,Mateo 请求他的管理员更新其策略,以允许他在控制台中访问跟踪信息和状态。
如果您用来登录的 IAM 用户或角色拥有 AWSCloudTrail_FullAccess 托管式策略或其等效权限,并且您无法配置 AWS Config 或 Amazon CloudWatch Logs 与跟踪的集成,则您可能缺少与这些服务集成必需的权限。有关更多信息,请参阅授予在 CloudTrail 控制台中查看 AWS Config 信息的权限和授予在 CloudTrail 控制台上查看和配置 Amazon CloudWatch Logs 信息的权限。
我无权执行 iam:PassRole
如果您收到一个错误,表明您无权执行 iam:PassRole 操作,则必须更新策略才能将角色传递给 CloudTrail。
有些 AWS 服务 允许将现有角色传递到该服务,而不是创建新服务角色或服务相关角色。为此,您必须具有将角色传递到服务的权限。
当名为 marymajor 的 IAM 用户尝试使用控制台在 CloudTrail 中执行操作时,会发生以下示例错误。但是,服务必须具有服务角色所授予的权限才可执行此操作。Mary 不具有将角色传递到服务的权限。
User: arn:aws:iam::123456789012:user/marymajoris not authorized to perform: iam:PassRole
在这种情况下,必须更新 Mary 的策略以允许她执行 iam:PassRole 操作。
如果您需要帮助,请联系 AWS 管理员。您的管理员是提供登录凭证的人。
我希望允许我 AWS 账户 以外的人访问我的 CloudTrail 资源
您可以创建一个角色,在多个 AWS 账户 之间共享 CloudTrail 信息。有关更多信息,请参阅 在 AWS 账户之间共享 CloudTrail 日志文件。
您可以创建一个角色,以便其他账户中的用户或您组织外的人员可以使用该角色来访问您的资源。您可以指定谁值得信赖,可以代入角色。对于支持基于资源的策略或访问控制列表(ACL)的服务,您可以使用这些策略向人员授予对您的资源的访问权。
要了解更多信息,请参阅以下内容:
-
要了解 CloudTrail 是否支持这些功能,请参阅 AWS CloudTrail 如何与 IAM 协同工作。
-
要了解如何为您拥有的 AWS 账户中的资源提供访问权限,请参阅《IAM 用户指南》中的为您拥有的另一个 AWS 账户中的 IAM 用户提供访问权限。
-
要了解如何为第三方 AWS 账户 提供您的资源的访问权限,请参阅《IAM 用户指南》中的为第三方拥有的 AWS 账户 提供访问权限。
-
要了解如何通过身份联合验证提供访问权限,请参阅《IAM 用户指南》中的为经过外部身份验证的用户(身份联合验证)提供访问权限。
-
要了解使用角色和基于资源的策略进行跨账户访问之间的差别,请参阅《IAM 用户指南》中的 IAM 中的跨账户资源访问。
我无权执行 iam:PassRole
如果您收到一个错误,表明您无权执行 iam:PassRole 操作,则必须更新策略才能将角色传递给 CloudTrail。
有些 AWS 服务 允许将现有角色传递到该服务,而不是创建新服务角色或服务相关角色。为此,您必须具有将角色传递到服务的权限。
当名为 marymajor 的 IAM 用户尝试使用控制台在 CloudTrail 中执行操作时,会发生以下示例错误。但是,服务必须具有服务角色所授予的权限才可执行此操作。Mary 不具有将角色传递到服务的权限。
User: arn:aws:iam::123456789012:user/marymajoris not authorized to perform: iam:PassRole
在这种情况下,必须更新 Mary 的策略以允许她执行 iam:PassRole 操作。
如果您需要帮助,请联系 AWS 管理员。您的管理员是提供登录凭证的人。
在尝试创建组织跟踪或事件数据存储时,我遇到了 NoManagementAccountSLRExistsException 异常
如果管理账户没有服务相关角色,就会引发 NoManagementAccountSLRExistsException 异常。
当您使用 AWS Organizations CLI 或 API 操作添加委派管理员时,如果 CloudTrail 服务相关角色不存在,则不会自动创建这些角色。只有当您从管理账户直接调用 CloudTrail 服务时,才会创建服务相关角色。例如,当您使用 CloudTrail 控制台、AWS CLI 或 CloudTrail API 添加委派管理员或创建组织跟踪或事件数据存储时,会创建 AWSServiceRoleForCloudTrail 服务相关角色。
当您使用 AWS CloudTrail CLI 或 API 操作添加委派管理员时,CloudTrail 将创建 AWSServiceRoleForCloudTrail 和 AWSServiceRoleForCloudTrailEventContext 服务相关角色。
当您借助 CloudTrail 控制台、AWS CLI 或 CloudTrail API 使用组织的管理账户添加委派管理员或创建组织跟踪或事件数据存储时,如果尚不存在 AWSServiceRoleForCloudTrail 服务相关角色,CloudTrail 会自动为管理账户创建该角色。有关更多信息,请参阅 为 CloudTrail 使用服务相关角色。
如果尚未添加委托管理员,请使用 CloudTrail 控制台、AWS CLI 或 CloudTrail API 添加委托管理员。有关添加委托管理员的更多信息,请参阅 添加 CloudTrail 委托管理员 以及 RegisterOrganizationDelegatedAdmin(API)。
如果已经添加委托管理员,可借助 CloudTrail 控制台、AWS CLI 或 CloudTrail API使用管理账户创建组织跟踪或事件数据存储。有关创建组织跟踪的更多信息,请参阅 在控制台中为您的组织创建跟踪、使用 AWS CLI 为组织创建跟踪 和 CreateTrail(API)。