Azure Maps での認証の管理
Azure Maps アカウントを作成すると、クライアント ID と共有キーが自動的に作成されます。 これらの値は、Microsoft Entra ID または共有キー認証のいずれかを使用する際の認証に必要です。
前提条件
Azure portal にサインインします。 Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
- Azure リソースのマネージド ID についての理解。 2 つのマネージド ID の種類と、その違いについて理解しておく。
- Azure Maps アカウント。
- Azure Maps による認証についての理解。
認証の詳細を表示する
重要
共有キー認証を使用して Azure Maps を呼び出す場合は、サブスクリプション キーとして主キーを使用することをお勧めします。 セカンダリ キーは、キーのローリング変更などのシナリオで使用することをお勧めします。
Azure Maps の認証の詳細を表示するには:
Azure portal にサインインします。
[Azure サービス] セクションで [すべてのリソース] を選択し、Azure Maps アカウントを選択します。
左側のウィンドウの [設定] セクションで、[認証] を選択します。
認証カテゴリを選択する
お使いのアプリケーションのニーズに応じて、アプリケーション セキュリティの実現に向けた特定の道筋があります。 Microsoft Entra ID では、幅広い認証フローをサポートするために、特定の認証カテゴリが定義されています。 アプリケーションに最適なカテゴリを選択するには、「アプリケーションのカテゴリ」を参照してください。
Note
Microsoft Entra ID と共有キー認証のどちらを使用する場合でも、カテゴリとシナリオについての理解は Azure Maps アプリケーションをセキュリティで保護する際に役立ちます。
マネージド ID を追加および削除する方法
Azure Maps REST API で Shared Access Signature (SAS) トークン認証を有効にするには、ユーザー割り当てマネージド ID を Azure Maps アカウントに追加する必要があります。
マネージド ID の作成
ユーザー割り当てマネージド ID は、マップ アカウントの作成前または作成後に作成することができます。 マネージド ID は、ポータル、Azure 管理 SDK、または Azure Resource Manager (ARM) テンプレートを使用して追加することができます。 ARM テンプレートを使用してユーザー割り当てマネージド ID を追加するには、そのユーザー割り当てマネージド ID のリソース識別子を指定します。
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.ManagedIdentity/userAssignedIdentities/exampleidentity": {}
}
}
マネージド ID の削除
ポータルまたは Azure Resource Manager テンプレートを使用して、作成したのと同じ方法で機能を無効にすることで、システム割り当て ID を削除できます。 ユーザー割り当て ID は個別に削除することはできません。 すべての ID を削除するには、ID の種類を "None"
に設定します。
この方法でシステム割り当て ID を削除すると、ID は Microsoft Entra ID からも削除されます。 Azure Maps アカウントが削除されると、システム割り当て ID は、Microsoft Entra ID からも自動的に削除されます。
Azure Resource Manager テンプレートを使用してすべての ID を削除するには、次のセクションを更新します。
"identity": {
"type": "None"
}
認証と認可のシナリオを選択する
この表は、Azure Maps での一般的な認証と認可のシナリオの概要を示しています。 各シナリオでは、Azure Maps REST API にアクセスするために使用できるアプリの種類について説明します。 各シナリオの詳細な構成情報については、それぞれのリンクを使用してください。
重要
運用アプリケーションの場合、Azure ロールベースのアクセス制御 (Azure RBAC) を使用して Microsoft Entra ID を実装することをお勧めします。
シナリオ | 認証 | 承認 | 開発の作業量 | 運用の作業量 |
---|---|---|---|---|
信頼済みデーモン アプリ、または非対話型クライアント アプリ | 共有キー | 該当なし | Medium | 高 |
信頼済みデーモンまたは非対話型クライアント アプリ | Microsoft Entra ID | 高 | 低 | Medium |
対話型シングル サインオンを使用する Web シングル ページ アプリ | Microsoft Entra ID | 高 | Medium | Medium |
非対話型サインオンを使用する Web シングル ページ アプリ | Microsoft Entra ID | 高 | Medium | Medium |
Web アプリ、デーモン アプリ、または非対話型サインオン アプリ | SAS トークン | 高 | Medium | 低 |
対話型シングル サインオンを使用する Web アプリケーション | Microsoft Entra ID | 高 | 高 | Medium |
IoT デバイス、または入力の制約付きアプリケーション | Microsoft Entra ID | 高 | Medium | Medium |
組み込みの Azure Maps ロールの定義を表示する
組み込みの Azure Maps ロールの定義を表示するには:
左側のウィンドウで [アクセス制御 (IAM)] を選択します。
[ロール] タブを選択します。
検索ボックスに「Azure Maps」と入力します。
結果には、Azure Maps に使用できる組み込みロールの定義が表示されます。
ロールの割り当てを表示する
Azure Maps に対するアクセス権が付与されているユーザーやアプリを表示するには、 [アクセス制御 (IAM)] に移動します。 そこで、 [ロールの割り当て] を選択してから、「Azure Maps」でフィルター処理します。
左側のウィンドウで [アクセス制御 (IAM)] を選択します。
[ロールの割り当て] タブを選択します。
検索ボックスに「Azure Maps」と入力します。
結果には、現在の Azure Maps ロールの割り当てが表示されます。
Azure Maps のトークンを要求する
Microsoft Entra トークン エンドポイントからトークンを要求します。 Microsoft Entra ID から要求された場合、以下の詳細を使用します。
Azure 環境 | Microsoft Entra トークン エンドポイント | Azure リソース ID |
---|---|---|
Azure パブリック クラウド | https://login.microsoftonline.com |
https://atlas.microsoft.com/ |
Azure Government クラウド | https://login.microsoftonline.us |
https://atlas.microsoft.com/ |
Microsoft Entra ID からのユーザーやサービス プリンシパルのアクセス トークンの要求の詳細については、「Microsoft Entra ID の認証シナリオ」を参照してください。 特定のシナリオを表示するには、シナリオの表をご覧ください。
共有キーの管理とローテーション
Azure Maps サブスクリプション キーは、Azure Maps アカウントのルート パスワードに似ています。 サブスクリプション キーは常に慎重に保護してください。 ご自身のキーを安全に管理およびローテーションするには、Azure Key Vault を使用します。 アクセス キーを他のユーザーに配布したり、ハードコーディングしたり、他のユーザーがアクセスできるプレーンテキストで保存したりしないでください。 ご自身のキーが侵害された可能性があると思われる場合は、そのキーをローテーションしてください。
Note
可能な場合は、共有キーではなく Microsoft Entra ID を使用して要求を承認することをお勧めします。 Microsoft Entra ID は、共有キーよりも優れたセキュリティと使いやすさを備えています。
サブスクリプション キーを手動でローテーションする
Azure Maps アカウントのセキュリティを確保するために、お使いのサブスクリプション キーは定期的にローテーションすることをお勧めします。 可能であれば、Azure Key Vault を使用してアクセスキーを管理してください。 Key Vault を使用していない場合は、お使いのキーを手動でローテーションする必要があります。
キーをローテーションさせることができるように、2 つのサブスクリプション キーが割り当てられます。 2 つのキーにより、アプリケーションがプロセス全体を通じて Azure Maps へのアクセスを確実に維持できるようにします。
Azure portal で Azure Maps サブスクリプション キーをローテーションするには、次の手順に従います。
- アプリケーション コードを、Azure Maps アカウントの 2 次キーを参照するように更新してデプロイします。
- Azure portal で、ご自身の Azure Maps アカウントに移動します。
- [設定] で [認証] を選択します。
- Azure Maps アカウントの主キーを再生成するには、主キーの隣にある [再生成] ボタンを選択します。
- 新しい主キーを参照するようにアプリケーション コードを更新してデプロイします。
- 同様に、 2 次キーを再生成します。
警告
すべてのアプリケーションで同じキーを使用することをお勧めします。 プライマリ キー を使用する場所とセカンダリ キー を使用する場所がある場合、キーをローテーションすると、一部のアプリケーションがアクセス権を失います。
次のステップ
Azure Maps アカウントにおける API 使用状況メトリックを確認します。
Microsoft Entra ID を Azure Maps と統合する方法を示すサンプルを確認します: