如何对 IAM Identity Center SCIM 预调配的“拒绝创建新的重复资源”错误进行故障排除?
我使用 AWS IAM Identity Center 为用户和组使用了跨域身份管理系统 (SCIM) 预调配。SCIM 或自动预调配失败并显示错误“拒绝创建新的重复资源。”
简短描述
出现此错误是因为用户名、电子邮件地址或外部 ID 属性不是唯一值。当显示名称或外部 ID 不是组的唯一值时,也会出现此错误。有关详细信息,请参阅使用自动预调配的注意事项。
解决方法
要解决此错误,请使用您的身份存储 ID 搜索重复的属性。然后,完成以下步骤以重新预调配用户或组,或者删除并创建新的用户或组。
**注意:**如果在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
在以下 AWS CLI 命令中,替换这些值:
- 将 YOUR-REGION 替换为您的 AWS 区域
- 将 YOUR-IDENTITY_STORE_ID 替换为您的身份存储 ID
- 将 YOUR-USER-NAME 替换为您的用户名
- 将 YOUR-EMAIL-ADDRESS 替换为您的电子邮件地址
- 将 YOUR-EXTERNAL-ID 替换为您的外部 ID
- 将 YOUR-TENANT_ID 替换为您的租户 ID
- 将 YOUR-GROUP-NAME 替换为您的组名称
获取您的身份存储 ID
运行 list-instances 命令:
aws sso-admin list-instances --region "YOUR-REGION"
输出示例:
{ "Instances": [ { "CreatedDate": "...", "IdentityStoreId": "IDENTITY-STORE-ID", "InstanceArn": "...", "OwnerAccountId": "...", "Status": "ACTIVE" } ] }
记下要在后续步骤中使用的身份存储 ID 值。
获取您的租户 ID
完成以下步骤:
- 打开 IAM Identity Center 控制台。
- 在导航窗格中,选择 Settings(设置)。
- 从 Identity source(身份来源)中,选择 Actions(操作)下拉列表。
- 选择 Manage provisioning(管理预调配)。
- 在 Configuration(配置)中,复制 SCIM 端点 URL。
SCIM 端点 URL 采用以下格式:https://scim.YOUR-REGION.amazonaws.com/YOUR-TENANT-ID/scim/v2/。
对用户预调配进行故障排除
要按用户名、电子邮件地址或外部 ID 搜索现有用户,请运行 get-user-id 命令。
按用户名搜索
运行以下命令:
aws identitystore get-user-id --identity-store-id "YOUR-IDENTITY_STORE_ID" --alternate-identifier '{"UniqueAttribute" : {"AttributePath": "userName","AttributeValue": "YOUR-USER-NAME"}}' --region "YOUR-REGION"
按电子邮件地址搜索
运行以下命令:
aws identitystore get-user-id --identity-store-id "YOUR-IDENTITY-STORE-ID" --alternate-identifier '{"UniqueAttribute": {"AttributePath":"emails.value", "AttributeValue": "YOUR-EMAIL-ADDRESS"} }' --region "YOUR-REGION"
按外部 ID 搜索
aws identitystore get-user-id --identity-store-id "YOUR-IDENTITY-STORE-ID" --alternate-identifier '{"ExternalId" : {"Issuer": "https://scim.aws.com/YOUR-TENANT-ID", "Id": "YOUR-EXTERNAL-ID"}}' --region "YOUR-REGION"
具有相同唯一属性的用户 ID 和身份存储 ID 输出示例:
{ "UserId": "YOUR-USER-ID", "IdentityStoreId": "YOUR-IDENTITY-STORE-ID" }
如果找不到用户 ID 或身份存储 ID,则会收到与以下内容类似的错误:
“调用 GetUserId 操作时出现错误 (ResourceNotFoundException): 未找到用户。”
重新预调配用户
确定重复属性后,为用户重新预调配其他属性,或删除该用户并创建一个新用户。
**重要事项:**要帮助您进行预调配,请联系您的身份提供者 (IdP)。
要使用 AWS 管理控制台删除用户,请参阅在 IAM Identity Center 删除用户。
要使用 DeleteUser API 操作删除用户,请运行 delete-user 命令:
aws identitystore delete-user --identity-store-id "YOUR-IDENTITY-STORE-ID" --user-id "YOUR-USER-ID" --region "YOUR-REGION"
**注意:**删除用户后,您无法撤消该操作,必须为新用户重新创建分配。
组预调配故障排除
要按显示名称或外部 ID 搜索现有组,请运行 get-group-id 命令。
按显示名称搜索
运行以下命令:
aws identitystore get-group-id --identity-store-id "IDENTITY-STORE-ID>" --alternate-identifier '{"UniqueAttribute" : {"AttributePath": "displayName","AttributeValue": "YOUR-GROUP-NAME"}}' --region "YOUR-REGION"
按外部 ID 搜索
运行以下命令:
aws identitystore get-group-id --identity-store-id "IDENTITY-STORE-ID" --alternate-identifier '{"ExternalId" : {"Issuer": "https://scim.aws.com/YOUR-TENANT-ID", "Id": "YOUR-EXTERNAL-ID"}}' --region "YOUR-REGION"
具有相同唯一属性的组 ID 和身份存储 ID 输出示例:
{ "GroupId": "GROUP-ID", "IdentityStoreId": "IDENTITY-STORE-ID" }
如果找不到显示名称或外部 ID,则会收到与以下内容类似的错误:
“调用 GetGroupId 操作时出现错误 (ResourceNotFoundException): 未找到组。”
重新预调配组
确定重复属性后,为组重新预调配其他属性,或删除该组并创建一个新组。
**重要事项:**要帮助您进行预调配,请联系您的 IdP。
要使用 AWS 管理控制台删除组,请参阅在 IAM Identity Center 删除组。
要使用 DeleteGroup API 操作删除组,请运行 delete-user 命令:
aws identitystore delete-group --identity-store-id "YOUR-IDENTITY-STORE-ID" --group-id "YOUR-GROUP-ID" --region "YOUR-REGION"
**注意:**删除组后,您无法撤消该操作,必须为新组重新创建分配。
相关信息
- 语言
- 中文 (简体)

相关内容
AWS 官方已更新 2 年前