定期的にcronジョブから、またはユーザーによって開始された後にAzure HDInsight REST APIをプログラムで呼び出すスクリプトを作成する必要がある。 Azure REST API呼び出しが認証されているが、許可されていないためサービスを選択できない
私はAzureのドキュメントに Service to service calls using client credentials - First case: Access token request with a shared secretページの指示に従って、私は「ネイティブ」タイプの新しいアプリケーションを登録して、私は私のスクリプト (Iを実行するために、私のクライアントシークレットを使用してトークンを取得するために/token
エンドポイントに電話をかけることができます数時間Azureドキュメントを読んでください。これは正しいアプローチのように見えましたが、すべてを理解するのは容易ではなかったので、私は間違っているかもしれません)。
残念ながら、私はREST API呼び出しを試みたときに認証済みだが、これらの呼び出しを行う権限がないことを認識しました。403 Forbidden
(MicrosoftはAuthorizationFailed
と呼んでいます)を取得しました。
{'code': 'AuthorizationFailed',
'message': "The client 'CLIENT' with object id 'OBJ' does not
have authorization to perform action 'Microsoft.HDInsight/...' over scope
'/subscriptions/SUBID/resourceGroups/RESGR/providers/Microsoft.HDInsight/clusters/CLUSTER'."
}
私は私のアプリケーションは、私はそれをしたい要求を行うことができるように許可することができます?
が、私はこの時点で、Azureのポータル
Active Directory
=> App registrations => (Select my app)
=> API Access/Required permissions
=> (+ button, Add API Access) => 1. Select an API
に行ってきました、私が、私はそう必要なサービスを選択することができないように、私は選択できないサービスがあるようです。たとえば、検索バーに「Azure」と入力すると、オプションはアクティブではなく、選択できません。
私はすでに開口部My permissions => Resource Provider Status
を試してみましたが、登録されたすべて私が必要になると考えていました。
私のディレクトリの役割はUser
で、私はそれを変更することはできません。
これを試したことがありますか?https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-integrating-applications –
これが動作するかどうか教えてください。応答 –
AADで選択可能なサービスが表示されず、アプリケーションに権限を追加できない場合は、十分な権限がないことを意味します。 アプリケーションにはサービスの正しい許可が与えられている必要があります。 REST応答メッセージがそれを示唆しているようです。 –