使用 MongoDB OIDC 时出现“身份验证失败”错误

问题描述 投票:0回答:1

我正在尝试使用

MongoDB-OIDC 身份验证方法
,通过 pymongo 连接到 MongoDB Atlas 集群,并使用 Azure 作为身份提供商。

我已经设置了 Azure 提供商并将其连接到 Atlas 组织。

我有一个带有小型 python 应用程序的 Azure VM 来测试此功能。下面是其中的代码片段:


def connect():
    properties = {"ENVIRONMENT": "azure", "TOKEN_RESOURCE": "<AUDIENCE_URI>"}
    client = MongoClient(
        "<CONNECTION_STRING>",
        username="<MANAGED_IDENTITY_CLIENT_ID>",
        authMechanism="MONGODB-OIDC",
        authMechanismProperties=properties
    )
    print("Created client")
    try:
        client.admin.command("ping")
        print("Successfully pinged")
    except Exception as e:
        print(e)

但是,我不断收到此

Authentication failed
错误。

我尝试为虚拟机使用系统分配和用户分配的托管标识,并使用其客户端 ID 在 Atlas 中创建相应的数据库用户,但还没有成功。

这里有人有使用 Azure 设置 MongoDB-OIDC 的经验吗?使用文档成功设置了 GCP,因此不确定为什么 Azure 不成功。

我在上面描述了我所期待的。

mongodb azure openid-connect mongodb-atlas
1个回答
0
投票

通过从配置的身份提供商和令牌资源中的受众 URI 中删除

api://
前缀解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.