2017-09-08 20 views
2

当社は、AzureコンポーネントとAzureに接続するクライアントデスクトップアプリケーションに基づいたシステムを開発しています。 AzureコンポーネントはAzure APIとAzureデプロイメント自動化を介してセットアップコードによって自動的にデプロイされます。配備されているこれらのコンポーネントの1つは、Azure Active Directoryに登録するWeb App/APIです。私たちのデプロイメントコードは、AzureでこのアプリケーションをAzure API経由で作成し、Azureでこのアプリケーションの「必要なアクセス許可」を設定します。必要な権限は以下のとおりです。Azure Active Direcotry Webアプリケーションへのアクセス許可を自動的に付与する

enter image description here

アプリケーションをAzureので設定されたら、我々はその後、私たちのクライアントのデスクトップアプリケーションを持っています。私たちのクライアントデスクトップアプリケーションでは、ユーザーはAzureにログインして、作成したアプリケーションにアクセスします。だから、私たちのクライアントのデスクトップアプリケーションは、基本的には、AzureのにログインするAzureのログインボックスを表示し、それは、AzureのWebアプリケーションにアクセスしようと、私たちはこれを得た:

enter image description here

OK、私はそれを手動で解決することができます。管理者としてAzureにログインし、「権限を許可」ボタンをクリックして手動で権限を付与すると、上記のメッセージは表示されなくなり、すべてがスムーズに機能します。私はクリックして「グラント権限」ボタンはこれです: - C#コードで

enter image description here

しかし残念ながら、我々は手動で権限を付与するこの道を行くことができない、我々はプログラム的にそれを行うための方法を見つける必要があります。これは私たちのビジネス要件です。したがって、既存のC#コードはAzure ADでアプリケーションを作成し、必要な権限を設定します。欠落している部分は、上記の警告メッセージが表示されないように自動的に権限を付与するC#のスニペットです。 私は様々なオンラインリソースを調べていますが、残念ながらC#コードでこれを行う方法は見つけられていません。権限を自動的に付与する方法はありますか?任意のC#のスニペット? Azure APIコール?パワーシェル?何か?

enter image description here

そして、委任アクセス権としてそれら:

enter image description here

マイクロソフトグラフのために我々は、アプリケーションの権限として、これらのアクセス許可を必要と :我々のアプリケーションが要求する権限の詳細については

Windows Azure Active Directoryの場合、必要なアクセス許可は次のとおりです。

enter image description here

+0

Azure ADアプリケーションの作成に使用するコードを含めてください。 – Saca

+2

[アプリケーション](https://msdn.microsoft.com/Library/Azure/Ad/Graph/api/entity-and-complex-type-reference#application-entity)のみを作成する場合は、 [servicePrincipal](https://msdn.microsoft.com/Library/Azure/Ad/Graph/api/entity-and-complex-type-reference#serviceprincipal-entity)、[oauth2Permission Grant](https:// msdn Microsoft。com/Library/Azure/Ad/Graph/api /エンティティおよび複合型参照#oauth2permissiongrant-entity)と[AppRoleAssignment](https://msdn.microsoft.com/Library/Azure/Ad/Graph/ api/entity-and-complex-type-reference#approleassignment-entity) – Saca

+1

[こちらの記事]を参照してください(https://blogs.msdn.microsoft.com/arsen/2017/07/30/azure-ad- oauth2permissiongrant-using-graph-api-grant-permission-and-for-application /)を参照してください。 –

答えて

0

上記の質問は、@Sacaと@Nan Yuによって上記されています。それは今閉じられることができます。作成されるアプリケーションのServicePrincipalのOAuth2PermissionGrantおよびAppRoleAssignmentオブジェクトを作成することに基づく解決策は、問題を解決する正しい方法です。この方法で問題を解決することができました。

関連する問題