とWebHDFSのために私は、Azureのデータ湖でWebHDFSを使用しようとしています。 Microsoftのdocumentationによると、1が従うべき手順は次のとおりです。認証ヘッダーAzureのデータ湖
- のclient_id、tenant_id、および秘密鍵を使用したAzureの管理サービス
への鍵と委任権限を持つアズールADで新しいアプリケーションを作成し、作ります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_を含むいくつかのJSONを取り戻しますaccess_tokenは 『オブジェクトトークン」あなたは、ヘッダー<content of "access_token">
がで長い文字列をある
Authorization: Bearer <content of "access_token">
を追加することで、その後のWebHDFS要求に含まれている必要があり、コンテンツオブジェクト、』。
あなたはそのヘッダーを含めたら、あなたは
curl -i -X GET -H "Authorization: Bearer <REDACTED>" https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/?op=LISTSTATUS
は、これらすべてのステップに従った行うことができ、ディレクトリの一覧を表示するなど、WebHDFSの呼び出しを行うことができるはず、私はHTTP 401エラー時にを取得していますボディ
{"error":{"code":"AuthenticationFailed","message":"Failed to validate the access token in the 'Authorization' header."}}
で
WWW-Authenticate: Bearer authorization_uri="https://login.windows.net/<REDACTED>/", error="invalid_token", error_description="The access token is invalid."
:リストディレクトリに上記のカールのコマンドを実行しています
誰もが問題になるかもしれないものを知っていますか?
私は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"
}.
あなたはAzureのデータ湖ストアにアクセスするには、AADのアプリケーションへのアクセス権を付与されているところのスクリーンショットを提供することはできますか? – GregGalloway
確かに、[ここ](http://postimg.org/image/remg5cxbv/)。 – MikeBrno
私は同じ問題を抱えています... –