gpt4 book ai didi

azure-active-directory - 带有 Azure Data Lake 的 WebHDFS 的授权 header

转载 作者:行者123 更新时间:2023-12-02 03:16:37 26 4
gpt4 key购买 nike

我正在尝试将 WebHDFS 与 Azure Data Lake 结合使用。根据 Microsoft 的 documentation ,应该遵循的步骤是:

  • 在 Azure AD 中使用 key 和 Azure 管理服务的委派权限创建一个新应用程序
  • 使用 client_id、tenant_id 和 key ,向 OAUTH2 端点发出请求

    curl -X POST https://login.microsoftonline.com/<TENANT-ID>/oauth2/token \
    -F grant_type=client_credentials \
    -F resource=https://management.core.windows.net/ \
    -F client_id=<CLIENT-ID> \
    -F client_secret=<AUTH-KEY>

成功后,您将返回一些包含“access_token”对象的 JSON,您应该通过添加 header 将这些内容包含在后续的 WebHDFS 请求中

Authorization: Bearer <content of "access_token">

其中 <content of "access_token"> 是“access_token”对象中的长字符串。

包含该 header 后,您应该能够进行 WebHDFS 调用,例如列出目录,您可以这样做

curl -i -X GET -H "Authorization: Bearer <REDACTED>" https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/?op=LISTSTATUS

执行完所有这些步骤后,我在运行上述 curl 命令列出目录时收到 HTTP 401 错误:

WWW-Authenticate: Bearer authorization_uri="https://login.windows.net/<REDACTED>/", error="invalid_token", error_description="The access token is invalid."

body

{"error":{"code":"AuthenticationFailed","message":"Failed to validate the access token in the 'Authorization' header."}}

有谁知道可能是什么问题?

我将 token 粘贴到 jwt.io 中,它是有效的(没有检查签名)。内容是这样的:

    {
typ: "JWT",
alg: "RS256",
x5t: "MnC_VZcATfM5pOYiJHMba9goEKY",
kid: "MnC_VZcATfM5pOYiJHMba9goEKY"
}.
{
aud: "https://management.core.windows.net",
iss: "https://sts.windows.net/<TENANT-ID>/",
iat: 1460908119,
nbf: 1460908119,
exp: 1460912019,
appid: "<APP-ID>",
appidacr: "1",
idp: "https://sts.windows.net/<TENANT-ID>/",
oid: "34xxxxxx-xxxx-xxxx-xxxx-5460xxxxxxd7",
sub: "34xxxxxx-xxxx-xxxx-xxxx-5460xxxxxxd7",
tid: "<TENANT-ID>",
ver: "1.0"
}.

最佳答案

请单击“数据资源管理器”按钮,然后突出显示根文件夹并单击“访问”。然后在那里授予您的 AAD 应用程序对 WebHDFS 的权限。我相信您已经完成的只是授予该 AAD 应用程序使用门户或 Azure PowerShell 管理您的 Azure Data Lake Store 的权限。您实际上还没有授予 WebHDFS 权限。关于安全的进一步阅读是 here .

关于azure-active-directory - 带有 Azure Data Lake 的 WebHDFS 的授权 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36675333/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com