Azure の認証情報を要求します。

 

すべての Azure インサイト リソースに対して実行するタスクは、Azure Active Directory で認証する必要があります。 これを行う最も簡単な方法では、PowerShell を使用します。 PowerShell へのアクセスを取得していない場合は、Azure クラシック ポータルを使用して認証を設定します。

認証を設定するこれらの手順を実行するとします。

  1. Azure Active Directory テナントへのアプリケーションを追加します。

  2. 追加したアプリケーションのアクセス許可を設定します。

  3. Azure インサイトに対する要求を認証するためには、トークンを取得します。

必要に応じて、次の情報を使用します。

このセクションの手順を実行する前に、次の PowerShell モジュールをインストールする必要があります。

手順 1:Azure Active Directory テナントへのアプリケーションを追加します。

  1. Azure Active Directory テナントのグローバル管理者権限を持つユーザー アカウントにアクセスできることを確認します。 ユーザー アカウントについては、次を参照してください。 の作成または編集ユーザーします。

  2. 実行、 Get-credential コマンドレットを PowerShell ウィンドウで、ユーザー アカウント名とパスワードを設定します。

    $cred = Get-Credential

    入力を求められたら、アカウント情報を入力します。

  3. 実行、 Connect-msolservice コマンドレットを入力した資格情報を使用して Azure Active Directory に接続します。

    Connect-MsolService –credential $cred

  4. 実行、 New-msolserviceprincipal コマンドレットは、アプリケーションを追加します。

    New-MsolServicePrincipal –DisplayName "myapp1" –AccountEnabled $True –Type Password –Value "mypasword1"

    正常に作成されているアプリケーションに関する情報が表示されます。 記録、返されたアプリケーション id アクセス許可を設定する必要があるため。

    AD アプリケーションの追加

    System_CAPS_ICON_note.jpg メモ

    Azure Active Directory アプリケーションは、サービス プリンシパルと呼ばれることもあります。 サービスをプリンシパル コマンドレットを使用して作成するときに、従来のポータルでアプリケーションとしては表示されません。 必要に応じて、パスワードの代わりに認証証明書を使用できます。 詳細については、次を参照してください。 例 2します。

手順 2:追加したアプリケーションのアクセス許可を設定します。

Azure PowerShell コマンドレットを使用して、Azure モジュールは、既定では、セッションにインポートされます。 認証を有効にする手順を完了するには、AzureResourceManager モジュールを使用する必要があります。

  1. 実行、 Switch-azuremode AzureResourceManager モジュールをインポートするコマンドレット。

    Switch-AzureMode –Name AzureResourceManager

  2. 実行、 Select-azuresubscription コマンドレットを 1 つ以上を管理する場合は、適切なサブスクリプション使用しているかどうかを確認します。

    Select-AzureSubscription –SubscriptionName "mysubscription"

  3. 実行、 Get-azuresubscription コマンドレットをサブスクリプションが選択されていることを確認します。 IsCurrent の値を true になります。

    Get-AzureSubscription

    サブスクリプション情報を取得

  4. アプリケーションに権限を割り当てる New-azureroleassignment コマンドレットを実行します。

    NewAzureRoleAssignment –ServicePrincipalName {application id} –RoleDefinitionName Owner

手順 3:Azure インサイトに対する要求を認証するためのトークンを取得します。

承認トークンを取得するには、Visual Studio プロジェクトに、Active Directory 認証ライブラリをインストールする必要があります。 これを行う最も簡単な方法では、NuGet パッケージを使用します。

  1. ソリューション エクスプ ローラーでプロジェクト名を右クリックし、 NuGet パッケージの管理します。

    NuGet パッケージの管理

  2. Active Directory [検索] ボックスで、 インストール Active Directory 認証ライブラリのパッケージ化、およびそれをインストールする手順に従います。

    Active Directory ライブラリのインストール

  3. このコードを使用すると、トークンを取得します。

    
    public static string GetAToken()  
    {  
      var authenticationContext = new AuthenticationContext("https://login.windows.net/{tenantId or tenant name}");  
      var credential = new ClientCredential(clientId: "{application id}", clientSecret: {application password}");  
      var result = authenticationContext.AcquireToken(resource: "https://management.azure.com/", clientCredential:credential);  
    
      if (result == null) {  
        throw new InvalidOperationException("Failed to obtain the JWT token");  
      }  
    
      string token = result.AccessToken;  
    
      return token;  
    }  
    
    

    {TenantId またはテナント名} をテナント情報に置き換えます。 {Application id} を作成したアプリケーションからの id に置き換えます。 アプリケーション パスワードをアプリケーションのパスワードに置き換えます。Get-azureaccount コマンドレットを使用して、テナント情報を検索できます。

  4. 先ほど追加したメソッドから返されたトークンを使用して、REST 操作の呼び出しの承認要求ヘッダーを設定します。

    string token = GetAToken();

    request.Headers.Add(HttpRequestHeader.Authorization, "Bearer " + token);

このセクションの手順を実行する前にログインする必要があります、 旧ポータルします。

手順 1:Azure Active Directory テナントへのアプリケーションを追加します。

  1. 左側のメニューの下部で、次のようにクリックします。 Active Directory, 、クリックして 既定のディレクトリします。

  2. 既定のディレクトリ ページの上部にあるをクリックして アプリケーション, 、ページの下部にあるをクリックして 追加, 、] をクリックし、 [組織が開発中のアプリケーションを追加します。

  3. アプリケーションの名前を入力 ネイティブ クライアント アプリケーション, 、右矢印をクリックします。

    Active Directory アプリケーションをポータルで追加

  4. アプリケーションのリダイレクト URI を入力し、チェック マークをクリックします。

    アプリケーションの URL を入力

手順 2:追加したアプリケーションのアクセス許可を設定します。

System_CAPS_ICON_note.jpg メモ

ポータルを使用してアクセス許可を設定すると、要求が行われるたびログに記録するアプリケーションのユーザーとします。 使用している場合に上記の PowerShell の手順を使用して、この操作を回避できます。

  1. [アプリケーションのページで、次のようにクリックします。 構成します。

  2. 他のアプリケーションに対するアクセス許可 ページの下部にある] をクリックして アプリケーション追加します。

    アプリケーションの権限の追加

  3. クリックして アプリケーションを選択して, 、し、[ Windows Azure サービス管理 APIします。

    API アプリケーションを権限に追加

  4. クリックして 委任されたアクセス許可 をクリックして Windows Azure サービス管理 Api、 Access Azure サービス管理します。

    デリゲートを追加

  5. クリックして 保存 下部のメニューでします。

手順 3:Azure リソース マネージャーへの要求を認証するためのトークンを取得します。

承認トークンを取得するには、Visual Studio プロジェクトに、Active Directory 認証ライブラリをインストールする必要があります。 これを行う最も簡単な方法では、NuGet パッケージを使用します。

  1. ソリューション エクスプ ローラーでプロジェクト名を右クリックし、 NuGet パッケージの管理します。

    NuGet パッケージの管理

  2. Active Directory [検索] ボックスで、 インストール Active Directory 認証ライブラリのパッケージ化、およびそれをインストールする手順に従います。

    Active Directory ライブラリのインストール

  3. このコードを使用すると、トークンを取得します。

    
    public static string GetAToken()  
    {  
      var authenticationContext = new AuthenticationContext("https://login.windows.net/{tenant id}");  
      var result = authenticationContext.AcquireToken(resource: "https://management.azure.com/", {application id}, new Uri({redirect uri});  
    
      if (result == null) {  
        throw new InvalidOperationException("Failed to obtain the JWT token");  
      }  
    
      string token = result.AccessToken;  
    
      return token;  
    }  
    
    

    {テナント id をテナント情報に置き換えます。 クリックして、従来のポータルで、テナント id を検索できます エンドポイントの表示 アプリケーションの [構成] ページの下部にあります。

    アプリケーション エンドポイントの表示

    {Application id} をアプリケーションの uri を持つアプリケーションを作成し、{redirect uri} の id に置き換えます。 [構成] ページは、これらの設定を確認できます。

  4. 先ほど追加したメソッドから返されたトークンを使用して、REST 操作の呼び出しの承認要求ヘッダーを設定します。

    string token = GetAToken();

    request.Headers.Add(HttpRequestHeader.Authorization, "Bearer " + token);

表示: