错误:“UnknownResourceException” - AWS Resource Access Manager

错误:“UnknownResourceException”

场景

您会收到以下错误之一:

  • CannotCreateResourceShare: UnknownResourceException: OrganizationalUnit ou-xxxx could not be found

  • CannotUpdateResourceShare: UnknownResourceException: OrganizationalUnit ou-xxxx could not be found”。

原因

如果您使用 Organizations 控制台或 Organizations EnableAWSServiceAccess API,而非使用 AWS RAM 控制台,来启用 AWS RAM 与 AWS Organizations 之间的集成,则可能会发生这些错误。当您使用 Organizations 控制台或 API 启用集成时,该服务不会在您的账户中创建 AWSServiceRoleForResourceAccessManager 角色。需要该角色才能访问有关您组织的信息。由于该角色尚未创建,因此,AWS RAM 无法访问有关组织中账户或组织单位(OU)的详细信息。

解决方案

要解决此问题,请关闭 AWS RAM 与 AWS Organizations 之间的集成。然后,通过调用 AWS RAM EnableSharingWithAwsOrganization API 操作或使用 AWS 管理控制台 按以下步骤操作,再次将其打开。

重要

当您禁用对 AWS Organizations 的可信访问后,将从所有资源共享中删除您组织内的主体,他们将无法访问这些共享的资源。

  1. 使用具有管理权限的 IAM 角色或用户登录您组织的管理账户。

  2. 导航到 AWS Organizations 控制台的“服务”页面

  3. 选择 RAM

  4. 选择 Disable trusted access(禁用信任访问权限)

  5. 导航到 AWS RAM 控制台的“设置”页面

  6. 选中允许与 AWS Organizations 共享框,然后选择保存设置

您现在应该能够使用 AWS RAM,与组织中的账户和 OU 共享资源。