创建 OpenID Connect (OIDC) 身份提供商 - Amazon Identity and Access Management
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

创建 OpenID Connect (OIDC) 身份提供商

IAM OIDC 身份提供商是 IAM 中的实体,这些实体描述支持 OpenID Connect (OIDC) 标准的身份提供商 (IdP) 服务,如 Google 或 Salesforce)。当您要在与 OIDC 兼容的 IdP 和您的 Amazon 账户之间建立信任时,请使用 IAM OIDC 身份提供商。如果您正在创建需要访问 Amazon 资源的移动应用或 Web 应用程序,但又不想创建自定义登录代码或管理您自己的用户身份,这会很有用。有关此方案的更多信息,请参阅关于 Web 联合身份验证

您可以使用 Amazon Web Services Management Console、Amazon Command Line Interface、Tools for Windows PowerShell 或 IAM API 创建和管理 IAM OIDC 身份提供程序。

创建 IAM OIDC 身份提供商后,必须创建一个或多个 IAM 角色。角色是 Amazon 中的一个实体,它没有自己的凭证(与用户一样)。但在此上下文中,角色将动态分配给由组织的 IdP 验证的联合身份用户。该角色允许组织的 IdP 请求临时安全凭证以便访问 Amazon。分配给该角色的策略决定了联合用户可在 Amazon 中执行的操作。要为第三方身份提供商创建角色,请参阅 针对第三方身份提供商创建角色(联合)

创建和管理 OIDC 提供商(控制台)

按照以下说明在 Amazon Web Services Management Console 中创建和管理 IAM OIDC 身份提供商。

重要

如果您使用的是 Google、Facebook 或 Amazon Cognito 的 OIDC 身份提供程序,请勿使用此过程创建单独的 IAM 身份提供程序。这些 OIDC 身份提供程序已经内置到 Amazon,并可供您使用。相反,请按照以下步骤为身份提供程序创建新角色,请参阅 创建用于 Web 联合身份验证或 OpenID Connect 联合身份验证的角色(控制台)

创建 IAM OIDC 身份提供商(控制台)

  1. 在创建 IAM OIDC 身份提供商之前,您必须向 IdP 注册您的应用程序以便接收客户端 ID。客户端 ID(也称为受众)是您的应用的唯一标识符,在您向 IdP 注册您的应用时颁发给您。有关如何获取客户端 ID 的更多信息,请参阅您的 IdP 的文档。

    注意

    Amazon 通过我们的受信任证书颁发机构 (CA) 库保护与某些 OIDC 身份提供程序 (IdP) 的通信,而不是使用证书指纹验证您的 IdP 服务器证书。这些 OIDC IdPs 包括 Google,以及那些使用 Amazon S3 存储桶托管 JSON Web 密钥集 (JWKS) 端点的 IdP。在这些情况下,您的旧式指纹将保留在您的配置中,但不再用于验证。

  2. 打开 IAM 控制台:https://console.aws.amazon.com/iam/

  3. 在导航窗格中,选择 Identity providers(身份提供商),然后选择 Add provider(添加提供商)。

  4. 对于 Configure provider(配置提供商),选择 OpenID Connect

  5. 对于 Provider URL,键入 IdP 的 URL。该 URL 必须遵从以下限制:

    • 该 URL 区分大小写。

    • URL 必须以 https:// 开头。

    • URL 不应包含端口号。

    • 在您的 Amazon 账户中,每个 IAM OIDC 身份提供商都必须有唯一的 URL。

  6. 选择 Get thumbprint(获取指纹)验证您的 IdP 的服务器证书。要了解如何操作,请参阅获取 OpenID Connect 身份提供商的根 CA 指纹

  7. 对于 Audience,键入您向 IdP 注册的、在步骤 1 中接收的并且将向 Amazon 发出请求的应用程序的客户端 ID。如果您对于此 IdP 有其他客户端 ID(也称为受众),稍后可以在提供商详细信息页面上添加它们。

  8. (可选)对于 Add tags (添加标签),您可以添加键值对来帮助识别和组织您的 IdP。您还可以使用标签来控制对 Amazon 资源的访问。要了解有关标记 IAM OIDC 身份提供商的更多信息,请参阅 标记 OpenID Connect (OIDC) 身份提供商。选择 Add tag。为每个标签键值对输入值。

  9. 验证您提供的信息。完成此操作后,选择 Add provider(添加提供商)。

  10. 将 IAM 角色分配至身份提供商,以向身份提供商管理的外部用户身份授予访问账户中的 Amazon 资源的权限。要了解有关为联合身份创建角色的更多信息,请参阅 针对第三方身份提供商创建角色(联合)

为 IAM OIDC 身份提供商添加或删除指纹(控制台)

  1. 打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择 Identity providers(身份提供商)。然后选择要更新的 IAM 身份提供商的名称。

  3. Thumbprints(指纹)部分,选择 Manage(管理)。要输入新的指纹值,请选择 Add thumbprint(添加指纹)。要删除指纹,请选择您要删除的指纹旁边的 Remove(删除)。

    注意

    IAM OIDC 身份提供商必须具有至少 1 个、最多 5 个指纹。

    完成后,选择 Save changes(保存更改)。

为 IAM OIDC 身份提供商添加受众(控制台)

  1. 在导航窗格中,选择 Identity providers(身份提供商),然后选择要更新的 IAM 身份提供商的名称。

  2. Audiences(受众)部分,选择 Actions(操作),然后选择 Add audience(添加受众)。

  3. 键入您向 IdP 注册的、在 步骤 1 中接收的并且将向 Amazon 发出请求的应用程序的客户端 ID。然后选择 Add audiences(添加受众)。

    注意

    IAM OIDC 身份提供商必须具有至少 1 个且最多 100 个受众。

    完成此操作后,选择 Add audiences(添加受众)。

为 IAM OIDC 身份提供商删除受众(控制台)

  1. 在导航窗格中,选择 Identity providers(身份提供商),然后选择要更新的 IAM 身份提供商的名称。

  2. Audiences(受众)部分,选择要删除的受众旁边的单选按钮,然后选择 Actions(操作)。

  3. 选择 Remove audience(删除受众)。此时会打开一个新窗口。

  4. 如果删除受众,受众的联合身份将无法代入与受众关联的角色。在窗口中,阅读警告并通过在字段中键入 remove 一词以确认删除受众。

  5. 选择 Remove(删除)以删除受众。

删除 IAM OIDC 身份提供商(控制台)

  1. 打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择 Identity providers(身份提供商)。

  3. 选中要删除的 IAM 身份提供商旁边的复选框。选择 Delete。此时会打开一个新窗口。

  4. 通过在字段中键入 delete 一词以确认您要删除此提供商。然后选择 Delete(删除)。

为 IAM OIDC 身份提供商添加或删除指纹(控制台)

  1. 打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择 Identity providers(身份提供商)。然后选择要更新的 IAM 身份提供商的名称。

  3. Thumbprints(指纹)部分,选择 Manage(管理)。要输入新的指纹值,请选择 Add thumbprint(添加指纹)。要删除指纹,请选择您要删除的指纹旁边的 Remove(删除)。

    注意

    IAM OIDC 身份提供商必须具有至少 1 个、最多 5 个指纹。

    完成后,选择 Save changes(保存更改)。

为 IAM OIDC 身份提供商添加受众(控制台)

  1. 在导航窗格中,选择 Identity providers(身份提供商),然后选择要更新的 IAM 身份提供商的名称。

  2. Audiences(受众)部分,选择 Actions(操作),然后选择 Add audience(添加受众)。

  3. 键入您向 IdP 注册的、在 步骤 1 中接收的并且将向 Amazon 发出请求的应用程序的客户端 ID。然后选择 Add audiences(添加受众)。

    注意

    IAM OIDC 身份提供商必须具有至少 1 个且最多 100 个受众。

为 IAM OIDC 身份提供商删除受众(控制台)

  1. 在导航窗格中,选择 Identity providers(身份提供商),然后选择要更新的 IAM 身份提供商的名称。

  2. Audiences(受众)部分,选择要删除的受众旁边的单选按钮,然后选择 Actions(操作)。

  3. 选择 Remove audience(删除受众)。此时会打开一个新窗口。

  4. 如果删除受众,受众的联合身份将无法代入与受众关联的角色。在窗口中,阅读警告并通过在字段中键入 remove 一词以确认删除受众。

  5. 选择 Remove(删除)以删除受众。

删除 IAM OIDC 身份提供商(控制台)

  1. 打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择 Identity providers(身份提供商)。

  3. 选中要删除的 IAM 身份提供商旁边的复选框。此时会打开一个新窗口。

  4. 通过在字段中键入 delete 一词以确认您要删除此提供商。然后选择 Delete(删除)。

创建和管理 IAM OIDC 身份提供商 (Amazon CLI)

可以使用以下 Amazon CLI 命令来创建和管理 IAM OIDC 身份提供商。

创建 IAM OIDC 身份提供商 (Amazon CLI)

  1. (可选)要获取您 Amazon 账户中所有 IAM OIDC 身份提供商的列表,请运行以下命令:

  2. 要创建新的 IAM OIDC 身份提供商,请运行以下命令:

更新现有 IAM OIDC 身份提供商的服务器证书指纹列表 (Amazon CLI)

要标记现有 IAM OIDC 身份提供商 (Amazon CLI)

要列出现有 IAM OIDC 身份提供商 (Amazon CLI) 的标签

要删除 IAM OIDC 身份提供商 (Amazon CLI) 的标签

要标记现有 IAM OIDC 身份提供商 (Amazon CLI)

要列出现有 IAM OIDC 身份提供商 (Amazon CLI) 的标签

要删除 IAM OIDC 身份提供商 (Amazon CLI) 的标签

在现有 IAM OIDC 提供商中添加或删除客户端 ID (Amazon CLI)

  1. (可选)要获取您 Amazon 账户中所有 IAM OIDC 身份提供商的列表,请运行以下命令:

  2. (可选)要获取有关 IAM OIDC 身份提供商的详细信息,请运行以下命令:

  3. 要向现有 IAM OIDC 身份提供商中添加新的客户端 ID,请运行以下命令:

  4. 要从现有 IAM OIDC 身份提供商中删除客户端,请运行以下命令:

删除 IAM OIDC 身份提供商 (Amazon CLI)

  1. (可选)要获取您 Amazon 账户中所有 IAM OIDC 身份提供商的列表,请运行以下命令:

  2. (可选)要获取有关 IAM OIDC 身份提供商的详细信息,请运行以下命令:

  3. 要删除 IAM OIDC 身份提供商,请运行以下命令:

创建和管理 OIDC 身份提供商 (Amazon API)

可以使用以下 IAM API 命令来创建和管理 OIDC 提供商。

创建 IAM OIDC 身份提供商 (Amazon API)

  1. (可选)要获取您 Amazon 账户中所有 IAM OIDC 身份提供商的列表,请调用以下操作:

  2. 要创建新的 IAM OIDC 身份提供商,请调用以下操作:

更新现有 IAM OIDC 身份提供商的服务器证书指纹列表 (Amazon API)

要标记现有 IAM OIDC 身份提供商 (Amazon API)

要列出现有 IAM OIDC 身份提供商 (Amazon API) 的标签

要删除现有 IAM OIDC 身份提供商 (Amazon API) 的标签

要标记现有 IAM OIDC 身份提供商 (Amazon API)

要列出现有 IAM OIDC 身份提供商 (Amazon API) 的标签

要删除现有 IAM OIDC 身份提供商 (Amazon API) 的标签

在现有 IAM OIDC 提供商中添加或删除客户端 ID (Amazon API)

  1. (可选)要获取您 Amazon 账户中所有 IAM OIDC 身份提供商的列表,请调用以下操作:

  2. (可选)要获取有关 IAM OIDC 身份提供商的详细信息,请调用以下操作:

  3. 要向现有 IAM OIDC 身份提供商中添加新的客户端 ID,请调用以下操作:

  4. 要从现有 IAM OIDC 身份提供商中删除客户端 ID,请调用以下操作:

删除 IAM OIDC 身份提供商 (Amazon API)

  1. (可选)要获取您 Amazon 账户中所有 IAM OIDC 身份提供商的列表,请调用以下操作:

  2. (可选)要获取有关 IAM OIDC 身份提供商的详细信息,请调用以下操作:

  3. 要删除 IAM OIDC 身份提供商,请调用以下操作: