2017-03-23 28 views
1

これまでは、X-Api-Keyヘッダーを使用してメトリックを取得するために、Application Insights REST APIを正常に使用しました。 https://api.applicationinsights.io/beta/apps/xxxxxxxxxx/metrics/customMetrics%2FmetricName?timespan=PT2H&interval=PT20M&aggregation=minApplication Insightsで認証AADを使用したREST API

しかし、私たちの新しいダッシュボードでは、いくつかのメトリックをクロールして、1500リクエスト/ apiキーの制限を厳しく打ちました。

いくつかのAPIキーで遊ぶことをお勧めしますが、私はこのアプローチを避けたいと思います。文書によると

、AADで認証毎日キャップ(https://dev.applicationinsights.io/documentation/Authorization/Rate-limits

を削除しかし、私は(nodejsで、私はそれがどの言語でも同じだ疑いがある)AADでの認証に失敗し

私が使用シンプルなアプリでadal-node、私は成功したトークンを取得し、しかし私はRequest

var context = new AuthenticationContext(authorityUrl); 

context.acquireTokenWithClientCredentials(resource, clientId, clientSecret, function(err, tokenResponse) { 
    if (err) { 
    console.log('well that didn\'t work: ' + err.stack); 
    } else { 
    console.log(tokenResponse); 

    request({'url' : 'https://api.applicationinsights.io/beta/apps/xxxxxxxxx/metrics/customMetrics%2Fmetrics?timespan=PT2H&interval=PT20M&aggregation=min', 
    headers: { 
      'Authorization': 'Bearer ' + tokenResponse.accessToken 
     } 
    }, function (error,response,body){ 
      console.log(body); 
    }); 
    } 
}); 

enter image description here

に転送することはできませんよ

私は我々が直接私たちのREST APIでAADをサポートしていません:)

+0

こんにちは、これはどのような解決策を見つけましたか? –

+0

現時点ではありませんが、私はマニュアルで説明されているPowerShellコマンド(下記の解答を参照)の使い方には少し難解です。当分の間、私は秘密のセットで騙されています:( – camous

答えて

1

何かを欠場疑い次のエラーメッセージ The provided authentication is not valid for this resource The given API Key is not valid for the requested resource

を取得しています。あなたのリソースはAzure Resource Managerによって管理され、特定のユーザがこのリソースにアクセスできることを検証できます。 APIキーは、ユーザーのコンテキストではなく、リソースへの認証を直接短絡する手段です。

このAADアプリにはこのリソースへのアクセス権が与えられているため、認証は依然としてユーザーのコンテキスト内にあります。

ドキュメントがここにリンクされている「https://management.azure.com/subscriptions/xxxxxx/resourcegroups/xxxxx/providers/microsoft.insights/components/xxxxx/api/metrics/customMetrics%2Fmetrics?api-version=2014-12-01-preview&timespan=PT2H&interval=PT20M&aggregation=min」 - 明示的に説明されていないが:コールではなくARMに行われなければならhttps://dev.applicationinsights.io/documentation/Authorization

これはあなたに高いレート制限を取得し、今でも同じ応答を返します。 REST API。

+0

ああ!私はこのドキュメンテーションのページを完全に見逃してしまった(私はそれがセクションヘッダーであると思った...)しかし、私は何かを逃していたことを知っていた! – camous

+0

ドキュメントはConnect-ARM&Execute-ARMQueryを参照していますが、私の理解からここ(https://github.com/dushyantgill/AzureResourceManagerPowerShell)から来て2年以来維持されていません。 – camous

関連する問題