繁体   English   中英

谷歌云 IAM 工作负载身份联合与 azure 广告“应用注册”/“企业应用程序”

[英]google cloud IAM workload identity federation with azure ad 'app registration'/'enterprise applications'

我正在尝试设置 Azure AD 'Enterprise Application' 以从 myapps.microsoft.com 访问谷歌云以获取身份和访问权限。

我按照https://cloud.google.com/iam/docs/configuring-workload-identity-federation#azure中的描述设置了工作负载身份联合,但是身份验证无法正常工作,并出现以下错误。

gcloud auth login --cred-file="/Users/pavan-mac/Downloads/clientLibraryConfig-aad-oidc.json"       

ERROR: gcloud crashed (TransportError): HTTPConnectionPool(host='169.254.169.254', port=80): Max retries exceeded with url: /metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fiam.googleapis.com%2Fprojects%<removed>%2Flocations%2Fglobal%2FworkloadIdentityPools%2Faad-integration%2Fproviders%2Faad-oidc (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7feb69c80a10>: Failed to establish a new connection: [Errno 60] Operation timed out'))

2个问题:

  1. 我怀疑问题出在属性映射上。 使用 Azure AD OIDC 提供程序时指定属性的理想配置是什么?
  2. 我希望能够使用 GCP 中的工作负载联合功能为 Azure AD 企业应用程序中的用户/组分配 Google 云中的映射角色(例如,所有者/编辑者/查看者角色)。 有人可以帮助我了解如何使用正确的属性映射将 azure 广告中的角色链接到 GCP 中的服务帐户吗?

由于您在 Azure 虚拟机之外使用 CLI,因此您无权访问 Azure 托管标识。 这就是元数据服务器169.254.169.254//metadata/identity/oauth2/token错误的原因

Workload Identity Federation 的要求/选项之一是为您运行 Google Cloud CLI 的资源创建或分配托管身份。

准备外部身份提供者

要让应用程序获取 Azure AD 应用程序的访问令牌,您可以使用托管身份

在此 Google 文档中演示了一个技巧,需要您自己从 Azure 实例元数据服务获取访问令牌并将其粘贴到断言中。 我没有尝试过这种技术,但这意味着每次令牌过期时,您都需要重复该过程。

curl \
  "http://169.254.169.254/metadata/identity/oauth2/token?resource=APP_ID_URI&api-version=2018-02-01" \
  -H "Metadata: true" | jq -r .access_token

从 Azure 实例元数据服务 (IMDS) 获取访问令牌

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM