你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

为 Azure Red Hat OpenShift 4 群集配置Microsoft Entra 身份验证(门户)

如果选择在本地安装并使用 CLI,本教程要求运行 Azure CLI 2.6.0 或更高版本。 运行 az --version 即可查找版本。 如果需要进行安装或升级,请参阅安装 Azure CLI

在您开始之前

构造群集的 OAuth 回调地址 并记下它。 请确保将 aro-rg 替换为资源组的名称, 将 aro-cluster 替换为群集的名称。

注释

OAuth 回叫 URL 中的 AAD 部分应与稍后设置的 OAuth 标识提供程序名称匹配。

___domain=$(az aro show -g aro-rg -n aro-cluster --query clusterProfile.___domain -o tsv)
___location=$(az aro show -g aro-rg -n aro-cluster --query ___location -o tsv)
echo "OAuth callback URL: https://oauth-openshift.apps.$___domain.$___location.aroapp.io/oauth2callback/AAD"

创建用于身份验证的 Microsoft Entra 应用程序

登录到 Azure 门户,导航到 “应用注册”边栏选项卡,然后单击“ 新建注册 ”以创建新应用程序。

提供应用程序的名称,例如 aro-azuread-auth,并使用之前检索的 OAuth 回调 URL 的值填写 重定向 URI

新应用程序注册

导航到 证书和机密 ,然后单击“ 新建客户端密码 ”并填写详细信息。 记下键值,因为稍后阶段会用到它。 你将无法再次检索它。

导航到 “概述 ”并记下 应用程序(客户端)ID目录(租户)ID。 稍后阶段需要用到它们。

配置可选声明

应用程序开发人员可以在 Microsoft Entra 应用程序中使用可选声明来指定要在发送到其应用程序的令牌中包含哪些声明。

您可以使用可选声明来:

  • 选择要包含在应用程序令牌中的附加声明。
  • 更改 Microsoft Entra ID 在令牌中返回的某些声明的行为。
  • 为您的应用程序添加和访问自定义声明。

我们将 OpenShift 配置为使用 email 声明,并回退到 upn 以设置“首选用户名”,方法是将 upn 添加到 Microsoft Entra ID 返回的 ID 令牌中。

导航到 令牌配置 ,然后单击“ 添加可选声明”。 选择 ID ,然后检查 电子邮件upn 声明。

将用户和组分配到群集(可选)

默认情况下,在 Microsoft Entra 租户中注册的应用程序可供该租户中成功完成身份验证的所有用户使用。 租户管理员和开发人员可以通过 Microsoft Entra ID 将应用限制为仅供租户中特定的一组用户或安全组使用。

请按照 Microsoft Entra 文档上的说明向应用分配用户和组

配置 OpenShift OpenID 身份验证

检索 kubeadmin 凭据。 请运行以下命令,找到 kubeadmin 用户的密码。

az aro list-credentials \
  --name aro-cluster \
  --resource-group aro-rg

以下示例输出显示密码将位于 kubeadminPassword其中。

{
  "kubeadminPassword": "<generated password>",
  "kubeadminUsername": "kubeadmin"
}

可以通过运行以下命令来查找群集控制台 URL,如下所示 https://console-openshift-console.apps.<random>.<region>.aroapp.io/

 az aro show \
    --name aro-cluster \
    --resource-group aro-rg \
    --query "consoleProfile.url" -o tsv

在浏览器中启动控制台 URL,使用 kubeadmin 凭据登录。

导航到 “管理”,单击“ 群集设置”,然后选择“ 配置 ”选项卡。滚动以选择 OAuth

向下滚动以选择“标识提供者”下的“添加”,然后选择“OpenID Connect”。 从“标识提供者”下拉列表中选择 OpenID Connect

填写名称为 Microsoft Entra ID客户端 ID 填写为 应用程序 ID,以及 客户端密码颁发者 URL 的格式如下: https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/v2.0。 将占位符替换为之前检索到的租户 ID。

向下滚动到 “声明 ”部分,更新 首选用户名 以使用 upn 声明中的值。

通过 Microsoft Entra ID 验证登录信息

如果现在注销 OpenShift Web 控制台并尝试再次登录,则会看到一个新选项,用于使用 Microsoft Entra ID 登录。 你可能需要等待几分钟。

Microsoft Entra 选项的登录屏幕

注释

如果遇到“AADSTS50011:请求中指定的重定向 URI 与配置的重定向 URI https://oauth-openshift.apps.xxxxxxxxxx.xxxxxxx.aroapp.io/oauth2callback/xxxx 不匹配”之类的错误,可以在 重定向 URI 未正确设置时遵循故障排除指南 Azure AD (OIDC) 登录失败 ,以解决该问题。