目次
选择当前订阅 ID
创建 AD 应用
创建服务凭证
授权
Azure AD アプリケーションサービス認証情報を作成します:
ホームページ バックエンド開発 PHPチュートリアル PHP を使用して Azure Active Directory トークンを取得する方法

PHP を使用して Azure Active Directory トークンを取得する方法

Sep 08, 2017 am 09:55 AM
active azure directory

Azure Rest API を呼び出すとき、それが Azure Resource Manager に属する API である場合、アクセスする前に Azure Active Directory (Azure AD) 認証を使用してトークン (Token) を取得する必要があります。

Azure AD アプリケーションを作成し、Azure を管理するリソースへのアクセスを承認する手順は次のとおりです:

より読みやすいように、ここをクリックすることもできます。

次の認証方法は、Azure Resource Manager の API にのみ適用されます。 つまり、エンドポイントが management.chinacloudapi.cn である API は、Azure Service Manager の API (エンドポイントが management.core.chinacloudapi.cn である API) には適用できません。 )。 management.chinacloudapi.cn 的 API,不适用于 Azure Service Manager 的 API(endpoint 为 management.core.chinacloudapi.cn 的 API)。

 登录 Azure 账户(PowerShell)

 记录获取到的 TenantID 以供后续程序使用。

选择当前订阅 ID

设置当前订阅,多订阅环境下需要执行该步骤 :

Set-AzureRmContext -SubscriptionId <subscription ID>
ログイン後にコピー

创建 AD 应用

查看新创建的应用对象,属性 ApplicationId,在后续会用来创建服务凭证,角色设置和 Access Token。

$azureAdApplication = New-AzureRmADApplication -DisplayName "exampleapp" -HomePage "https://www.contoso.org" -IdentifierUris "https://www.contoso.org/example" -Password "<Your_Password>"
ログイン後にコピー

创建服务凭证

Azure AD 应用创建服务凭证:

New-AzureRmADServicePrincipal -ApplicationId $azureAdApplication.ApplicationId
ログイン後にコピー

当创建完成服务凭证后,初始是没有任何权限的,我们需要为其设置权限范围。

授权

为您的服务凭证添加角色设置,在该例中,为您的服务凭证设置访问您订阅下所有资源的读权限。 如果想了解更多内容,请参考:Azure Role-based Access Control。

New-AzureRmRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $azureAdApplication.ApplicationId
ログイン後にコピー

其中 RoleDefinitionName

Azure アカウント (PowerShell) にログインします
  1. 取得した内容を記録します後で使用するための TenantID。
  2. 現在のサブスクリプション ID を選択します

    現在のサブスクリプションを設定します。この手順はマルチサブスクリプション環境で実行する必要があります:
  3. $tenlent_id = &#39;Your Sub Tenlent ID&#39;;
    $client_id = &#39;Application ID&#39;;
    $client_secret = &#39;Application Password&#39;;
    
    $auth_url = &#39;https://login.chinacloudapi.cn/&#39;.$tenlent_id.&#39;/oauth2/token?api-version=1.0&#39;;
    $auth = curl_init($auth_url);
    $post_data= &#39;grant_type=client_credentials&resource=https://management.chinacloudapi.cn/&client_id=&#39;.$client_id.&#39;&client_secret=&#39;.urlencode($client_secret);
    
    curl_setopt_array($auth, array(
    CURLOPT_VERBOSE => 1,
    CURLOPT_POST => 1,
    CURLOPT_POSTFIELDS => $post_data,
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_SSL_VERIFYHOST => false,
    CURLOPT_HTTPHEADER => array(
    &#39;Content-Type: application/x-www-form-urlencoded&#39;
    )
    ));
    curl_exec($atuh);
    echo "\n";
    ログイン後にコピー
  4. AD アプリケーションを作成する

    新しく作成されたアプリケーション オブジェクト、属性 ApplicationId を表示します。これは、後でサービスを作成するために使用されます。資格情報、ロール設定、およびアクセス トークン。
  5. {
    "token_type": "Bearer",
    "expires_in": "3600",
    "expires_on": "1455680701",
    "not_before": "1455676801",
    "resource": "https://management.azure.com/",
    "access_token": "eyJ0eXAiOi…"
    }
    ログイン後にコピー

サービス資格情報を作成する

Azure AD アプリケーションサービス認証情報を作成します:

$token = &#39;eyJ0eXA…&#39;;
$host = &#39;management.chinacloudapi.cn&#39;;
$version = &#39;2015-09-01&#39;;
$url = &#39;https://&#39;.$host.&#39;/subscriptions/5bbf0cbb-647d-4bd8-b4e6-26629f109bd7/resourceGroups/Default-MySql-ChinaNorth/providers/Microsoft.MySql/servers/poddbtest/databases/kevintest?api-version=&#39;.$version;
$ch = curl_init($url);
$data = array(
&#39;properties&#39; => array(
&#39;charset&#39; => &#39;utf8&#39;,
&#39;collation&#39; => &#39;utf8_general_ci&#39;
),
);
$json = json_encode($data);

curl_setopt_array($ch, array(
CURLOPT_VERBOSE => 1,
CURLOPT_CUSTOMREQUEST => &#39;PUT&#39;,
CURLOPT_POSTFIELDS => $json,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_HTTPHEADER => array(
&#39;Content-type:application/json&#39;,
&#39;Authorization:Bearer &#39;.$token
)
));

$ret =curl_exec($ch);
if (empty($ret)) {
    // some kind of an error happened
    echo &#39;Curl error: &#39; . curl_error($ch);
} else {
    $info = curl_getinfo($ch);
}
echo "\n";
ログイン後にコピー

    サービスが認証情報の後には、最初は権限がありません。権限の範囲を設定する必要があります。
  1. 認可

  2. この例では、サービス資格情報のロール設定を追加して、サブスクリプション内のすべてのリソースにアクセスするためのサービス資格情報の読み取り権限を設定します。 詳細については、「Azure ロールベースのアクセス制御」を参照してください。
  3. rrreee

    RoleDefinitionName には 3 つのアクセス許可設定があります:

  4. Reader には Azure リソースの読み取りアクセス許可があります。

投稿者は Azure リソースに対する管理者権限を持っていますが、他のリソースを承認することはできません。

所有者は Azure リソースに対する管理権限を持ち、他のユーザーにリソースの管理を許可することもできます。

Oauth2 APIを呼び出してトークンを取得します

これで、次の3つの情報を使用して認証トークンを取得できます。

🎜🎜🎜telent-idは、契約情報で使用されるtelentIDに対応します。 🎜🎜🎜🎜application-id 作成されたアプリケーションによって返される ApplicationID。 🎜🎜🎜🎜アプリパスワード アプリ作成時に入力したパスワードです。 🎜🎜🎜🎜トークンを取得するには、Azure ログイン oauth2 の認証インターフェイスを使用します。詳細については、「Azure Resource Manager REST API の使用」のドキュメントを参照してください。 🎜🎜次のコードを参照してください: 🎜rrreee🎜 クエリを実行すると、トークン データが取得されます。access_token はアクセス トークンです。 🎜rrreee🎜次に、アクセスする API リクエストに Authorization Header 設定を追加し、その値を次のように設定します: 🎜🎜🎜🎜🎜 Token の前に Bearer を追加します。 🎜🎜呼び出し例: 🎜rrreee

以上がPHP を使用して Azure Active Directory トークンを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

エラー コード 801c03ed: Windows 11 での修正方法 エラー コード 801c03ed: Windows 11 での修正方法 Oct 04, 2023 pm 06:05 PM

エラー 801c03ed には通常、次のメッセージが伴います: 管理者ポリシーにより、このユーザーはデバイスに参加できません。このエラー メッセージにより、Windows のインストールとネットワークへの参加が妨げられ、その結果、コンピュータが使用できなくなるため、この問題をできるだけ早く解決することが重要です。エラーコード 801c03ed とは何ですか?これは、次の理由により発生する Windows インストール エラーです: Azure セットアップでは新しいユーザーの参加が許可されていません。 Azure ではデバイス オブジェクトが有効になっていません。 Azure パネルでのハードウェア ハッシュ エラー。 Windows 801 でエラー コード 03c11ed を修正するにはどうすればよいですか? 1. Intune の設定を確認する Azure portal にログインします。 「デバイス」に移動し、「デバイス設定」を選択します。 「ユーザーができること」を変更します

Active Directory ユーザーとコンピュータが見つからない [3 つの方法で解決] Active Directory ユーザーとコンピュータが見つからない [3 つの方法で解決] Apr 20, 2023 pm 01:25 PM

Active Directory ユーザーとコンピューター (ADUC) の損失は、多くの Windows Pro ユーザーから報告されている最もイライラする問題の 1 つです。 ADUC は、管理者が Microsoft Active Directory を管理できるようにする優れた MMC スナップインです。ただし、何らかの理由で、Windows Server または Enterprise/Pro エディションにはありません。欠落している理由とそれを修正する方法を詳しく見てみましょう。 Windows 11 には Active Directory がありますか? Active Directory は、リモートで管理したい人にとって便利です。

Azure Semantic Search と OpenAI を使用してコグニティブ検索システムを構築する Azure Semantic Search と OpenAI を使用してコグニティブ検索システムを構築する Oct 12, 2023 am 10:18 AM

ドキュメント検索を簡素化するように設計されており、サービスとプラットフォームの組み合わせが比類のないパフォーマンスの鍵となります。この記事では、Azure Cognitive Services のパワーと OpenAI の機能を組み合わせた総合的なアプローチについて説明します。意図認識、ドキュメント フィルタリング、ドメイン固有のアルゴリズム、テキスト要約を詳しく調べることで、ユーザーの意図を理解するだけでなく、情報を効率的に処理して表示するシステムの作成方法を学びます。

Microsoft Azure OpenAI サービスが Vision で GPT-4 Turbo をサポートするようになりました Microsoft Azure OpenAI サービスが Vision で GPT-4 Turbo をサポートするようになりました Dec 18, 2023 am 08:18 AM

12 月 17 日のこのサイトのニュースによると、Azure OpenAI サービスは、GPT-4、GPT-3.5-Turbo、組み込みモデル シリーズを含む OpenAI の強力な言語モデルへの REST API アクセスを提供します。 Microsoft は、Azure OpenAI サービスのさらなる機能強化を発表し、最新の GPT-4 Turbo with Vision のパブリック プレビュー バージョンを顧客に提供しました。この高度なマルチモーダル AI モデルは、GPT-4 Turbo のすべての強力な機能を継承し、画像処理や画像処理も追加しています。分析能力。これにより、アクセシビリティの向上、データの視覚化の解釈と分析など、より多くのタスクに GPT-4 を活用する機会が開かれます。

Microsoft Azureは10月から必須の多要素認証を導入する Microsoft Azureは10月から必須の多要素認証を導入する Aug 17, 2024 am 07:40 AM

8月16日の当サイトのニュースによると、Microsoftは昨日発表を行い、アカウントハッキングの可能性を減らすために10月から多要素認証(MFA)機能を施行すると発表した。 Microsoftは、MFAはこのようなアカウント侵害攻撃を99.2%以上防ぐことができるため、この対策は必須であると述べている。報道によると、このプロセスは 2 つのフェーズに分けて段階的に実装される予定で、このサイトでは次のように要約されています。 フェーズ 1: 10 月から、Azure portal、Microsoft Entra Management Center、および Intune Management Center へのログインに MFA が必要になります。他の Azure クライアントには影響しません。フェーズ 2: 2025 年初めから、MFA 要件は Azure などの他の Azure クライアントにも徐々に拡大されます。

Microsoft Security、マルチクラウド機能でユーザー保護機能をアップグレード Microsoft Security、マルチクラウド機能でユーザー保護機能をアップグレード Apr 24, 2023 pm 09:07 PM

Microsoft は、主要なセキュリティ戦略にマルチクラウドのサポートを導入することで、顧客をさらに保護する計画について詳しく説明しました。これに合わせて、同社は、集中管理の観点からセキュリティと制御を強化するのに役立つ新機能と進歩を導入することを目指しています。顧客がマルチクラウド環境の管理に困難を感じないよう、よりシンプルなセキュリティ ソリューションを導入する試みとして、Microsoft は「Microsoft Defender for Cloud のネイティブ機能」を Google Cloud Platform (GCP) に拡張することを決定しました。 GCP のサポートのおかげで、Microsoft は、業界トップ 3 のプラットフォームである Microsoft Azure、アマゾン ウェブ サービス (AWS) に対してネイティブ マルチクラウド保護を提供する唯一のクラウド プロバイダーです。

Windows Server VNext プレビュー ビルド 25099 が利用可能になりました Windows Server VNext プレビュー ビルド 25099 が利用可能になりました Apr 14, 2023 pm 01:55 PM

Microsoft は、Windows Server Insider Preview の新バージョンをリリースしました。今週のビルド 25099 は、Windows Server Insider Web サイトから ISO および VHDX でダウンロードできるようになりましたが、いつものように、言及できる完全な変更ログがないため、何が新しいのかは不明です。 Microsoftは改めて、このブランドは更新されておらず、まだWindows Server 2022のプレビュー段階にあると述べた。さらに、Microsoft は内部関係者に Azure で働くことを奨励しています

See all articles