Google Workspace归档用户Directory API返回suspended字段异常咨询
Google Directory API 归档用户suspended字段不一致问题说明
现象本质
该表现属于接口正常逻辑,不存在数据异常:
archived和suspended是两个互相独立的用户状态字段,没有强制绑定关系,*「归档用户必然suspended=true」*的认知不符合接口实际设计。- 管理后台的状态展示做了前端逻辑合并:只要用户标记为
archived=true,无论底层suspended字段取值如何,前端都会统一显示为「已暂停」——因为归档用户本身就被完全禁止登录、无法使用所有Workspace核心服务,和主动暂停的用户最终使用权限完全一致,前端没有额外区分底层字段的差异。
- 两类字段取值的差异来自归档操作的执行路径:
- 先手动将用户设置为暂停状态,再执行归档操作的用户,接口返回值为
suspended=true、archived=true - 直接对处于活跃状态的用户执行归档操作、未提前手动暂停的用户,接口返回值为
suspended=false、archived=true,也就是本次观察到的字段表现。
- 先手动将用户设置为暂停状态,再执行归档操作的用户,接口返回值为
接口返回示例(suspended=false、archived=true)
{ "kind":"admin#directory#user", "id":"10901XXXXXX620", "etag":"\"SEQQBYC70u6XXXXNYw6b0a5EzY0mTMShjiZga8A/yP85WF6T0tk9a_pgQVEqRq9kHtY\"", "primaryEmail":"ad....@aaa.com", "name":{ "givenName":"Aaaa", "familyName":"John", "fullName":"Aaaaa John" }, "isAdmin":false, "isDelegatedAdmin":false, "lastLoginTime":"2022-01-10T20:35:25.000Z", "creationTime":"2020-10-15T22:40:55.000Z", "agreedToTerms":true, "suspended":false, "archived":true, "changePasswordAtNextLogin":false, "ipWhitelisted":false, "emails":[ { "address":"ad....@aaa.com", "primary":true } ], "languages":[ { "languageCode":"pt", "preference":"preferred" } ], "customerId":"C00pnlc1u", "orgUnitPath":"/Suspensos", "isMailboxSetup":true, "isEnrolledIn2Sv":true, "isEnforcedIn2Sv":true, "includeInGlobalAddressList":true, "thumbnailPhotoUrl":"https://www.google.com/s2/photos/private/AIbEiAIAAABDCPSAwvv50PWPfSILdmNhcmRfcGhvdG8qKDFhZWFiOTk4NzM5NDY1MjJlOWE4MmE0ODgxMzc3MjM4MzJiYzYyNDUwAUuoUxHJzf7midKhUvdRVmS3n2UE", "thumbnailPhotoEtag":"\"SEQQBYC70u6XQ2UUjmjNYw6b0a5EzY0mTMShjiZga8A/hU3SJUEhoSHtQtx1ZyG7nXFnWgw\"", "recoveryEmail":"aaaa@gmail.com" }
安全风险结论
suspended=false的归档用户不存在额外安全风险:
archived=true的状态限制优先级高于suspended字段,只要用户被标记为归档,Google服务端会强制阻断该账号的所有登录请求、禁止访问所有Workspace服务、拦截邮件收发,不会因为suspended=false就放开使用权限。- 示例中该类用户归属的
/Suspensos组织单元如果配置了登录拦截、权限收窄策略,还会额外叠加一层访问防护。
内容的提问来源于stack exchange,提问作者rafasalo
相关产品推荐
相关产品推荐

