Appearance
Kiro CLI Enterprise 可以直接连接 Microsoft Entra ID,把企业用户和 groups 同步到 Kiro profile。管理员需要创建 Entra application,配置 Kiro 所需的 OIDC scopes、redirect URI 和 access token version,再在 Kiro console 中填写应用信息、验证域名,并通过 SCIM provisioning 同步用户。
Kiro CLI Enterprise Microsoft Entra ID:连接企业 IdP
如果企业主目录在 Microsoft Entra ID,可以把 Entra 直接作为 Kiro 的 external Identity Provider。这样用户继续用企业账号登录,管理员在 Kiro console 中按 users 或 groups 分配订阅。
整体流程分五步:
- 在 Entra ID 中创建 Kiro application。
- 配置 API scopes、redirect URI 和 access token version。
- 在 Kiro console 中创建 Kiro profile。
- 配置 Entra 的 SCIM provisioning。
- 把 users 和 groups 加入应用并同步到 Kiro。
创建 Entra application
在 Microsoft Entra admin center 中:
- 进入 Enterprise applications。
- 创建 New application。
- 选择 Create your own application。
- 设置应用名,例如
Kiro-Entra。 - 选择 Non-gallery application。
这个 application 用来承载 Kiro 登录、授权和用户同步配置。
配置 Kiro 所需 scopes
在 App registrations 中打开刚创建的 application,进入 Expose an API。
先保存默认 Application ID URI,然后添加两个 scope:
| Scope | 用途 |
|---|---|
codewhisperer:completions | 授权用户使用 Kiro inline code completion。 |
codewhisperer:conversations | 授权用户使用 Kiro chat 和 conversation。 |
scope 的 consent 可以设置为 Admins and Users,状态为 Enabled。
只授予组织实际需要的 scope。对于企业环境,这一步相当于定义 Kiro client 能代表用户访问哪些能力。
配置 redirect URI 和 token version
在 Authentication 中添加 Mobile and desktop application redirect URI:
text
kiro://kiro.oauth/callback
http://localhost/oauth/callback然后在 application manifest 中把:
text
api.requestedAccessTokenVersion设置为 2。Entra 默认可能使用 OAuth 1.0 token,而 Kiro 需要 OAuth 2.0 access token。
创建 Kiro profile
在 AWS Console 中进入 Kiro console,选择创建或连接 Kiro profile,并选择连接 existing Identity Provider。
需要从 Entra application 复制:
- Application client ID。
- Directory tenant ID。
然后填入 Kiro profile 对应字段。
接着在 Kiro console 的 Identity management → Domains 中添加企业域名。Kiro 会给出 verification token,需要在 DNS provider 中创建 TXT record。验证完成后,domain 状态会变成 Verified。
配置 SCIM provisioning
SCIM provisioning 用来把 Entra 中的 users 和 groups 推送到 Kiro。
在 Kiro console 中:
- 打开 Settings。
- 找到 Identity Management → Access Tokens。
- Generate Token。
- 复制 token。
- 复制 SCIM Endpoint。
在 Entra Enterprise Apps → Kiro-Entra → Provisioning 中:
- Provisioning Mode 设为 Automatic。
- Tenant URL 填 Kiro 的 SCIM Endpoint。
- Secret Token 填 Kiro 生成的 access token。
- Test Connection。
- 成功后 Save。
这个 SCIM token 是长期凭证,要按企业凭证管理策略保存和轮换。如果泄露,应在 Kiro console 中 revoke,再生成新 token 并更新 Entra provisioning 配置。
设置 attribute mapping
Entra provisioning 页面刷新后,进入 Attribute Mapping。
建议把 externalId 的 Source attribute 设置为:
text
objectIdobjectId 是稳定且唯一的用户或 group 标识,适合 Kiro 用来识别和同步身份。
添加 users 和 groups
在 Entra application 的 Users and groups 中添加需要同步到 Kiro 的用户或 group。
同步可能需要等待,也可以在 Provisioning 页面使用 Provision On Demand 触发手动同步。group 成员变化通常由 Entra 通过 SCIM 推送到 Kiro。
同步完成后,这些 users 和 groups 才能在 Kiro console 中用于订阅。
安全注意事项
- 不要给无关用户分配 Kiro Entra application。
- 只添加 Kiro 指定的 redirect URI。
- 删除用户 assignment 后,用户不能再发起新登录;已有 session 会在 refresh token 下次刷新时失效,不会立刻终止。
- 移除 Entra assignment 不会自动释放 Kiro seat,需要在 Kiro console 中手动删除 subscription。
- 如果删除 Kiro profile 后又用同一个 Entra application 创建新 profile,group membership 可能不同步,需要重新 provisioning。
常见排障
| 现象 | 常见原因 | 处理方式 |
|---|---|---|
| 登录后 API authorization error | access token version 没设为 2 | 在 manifest 中把 api.requestedAccessTokenVersion 设为 2。 |
| 登录页直接报错 | 没添加 Kiro scopes | 补充 codewhisperer:completions 和 codewhisperer:conversations。 |
| 用户登录后没有订阅 | externalId mapping 不正确 | 把 externalId 改为 objectId,必要时重新 provisioning。 |
| 用户或 group 不出现在 Kiro | 未完成 provisioning | 使用 Provision On Demand,或等待自动同步。 |
常见问题
Q: Kiro 连接 Entra ID 后还需要 IAM Identity Center 吗?
A: 不一定。这里是直接连接外部 IdP 的方式,适合企业身份主目录在 Microsoft Entra ID 的团队。
Q: 删除 Entra 里的用户 assignment 会自动取消 Kiro 计费吗?
A: 不会。它会阻止后续登录,但 Kiro subscription 需要管理员在 Kiro console 中手动删除。
Q: Entra group 变更会立即同步到 Kiro 吗?
A: 不一定。Kiro 依赖 Entra 的 SCIM push,同步可能有延迟;需要立即同步时可以使用 Provision On Demand。