Skip to content

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 分配订阅。

整体流程分五步:

  1. 在 Entra ID 中创建 Kiro application。
  2. 配置 API scopes、redirect URI 和 access token version。
  3. 在 Kiro console 中创建 Kiro profile。
  4. 配置 Entra 的 SCIM provisioning。
  5. 把 users 和 groups 加入应用并同步到 Kiro。

创建 Entra application

在 Microsoft Entra admin center 中:

  1. 进入 Enterprise applications。
  2. 创建 New application。
  3. 选择 Create your own application。
  4. 设置应用名,例如 Kiro-Entra
  5. 选择 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 中:

  1. 打开 Settings。
  2. 找到 Identity Management → Access Tokens。
  3. Generate Token。
  4. 复制 token。
  5. 复制 SCIM Endpoint。

在 Entra Enterprise Apps → Kiro-Entra → Provisioning 中:

  1. Provisioning Mode 设为 Automatic。
  2. Tenant URL 填 Kiro 的 SCIM Endpoint。
  3. Secret Token 填 Kiro 生成的 access token。
  4. Test Connection。
  5. 成功后 Save。

这个 SCIM token 是长期凭证,要按企业凭证管理策略保存和轮换。如果泄露,应在 Kiro console 中 revoke,再生成新 token 并更新 Entra provisioning 配置。

设置 attribute mapping

Entra provisioning 页面刷新后,进入 Attribute Mapping。

建议把 externalId 的 Source attribute 设置为:

text
objectId

objectId 是稳定且唯一的用户或 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 erroraccess token version 没设为 2在 manifest 中把 api.requestedAccessTokenVersion 设为 2
登录页直接报错没添加 Kiro scopes补充 codewhisperer:completionscodewhisperer: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。