認証のベスト プラクティス

アプリケーションのセキュリティは非常に重要です。 ユーザー エクスペリエンスがどの程度優れているかに関係なく、セキュリティで保護されていないアプリケーションはハッカーによって侵害され、その整合性が損なわれ、ユーザーの信頼が悪化する可能性があります。

この記事には、Azure Maps アプリケーションのセキュリティを確保するためのヒントが含まれています。 Azure を使用する場合は、使用可能なセキュリティ ツールを理解することが重要です。 詳細については、Azureセキュリティドキュメントの「Azureセキュリティ入門」をご覧ください。

セキュリティの脅威について理解します

ハッカーがアカウントにアクセスすると、課金対象トランザクションが無制限に実行される可能性があり、QPS の制限により予期しないコストが発生し、パフォーマンスが低下する可能性があります。

Azure Maps アプリケーションをセキュリティで保護するためのベスト プラクティスを実装するには、使用可能なさまざまな認証オプションを理解することが不可欠です。

Azure Maps での認証のベスト プラクティス

Azure Maps を使用して公開されているクライアント アプリケーションを開発する場合は、認証シークレットがプライベートであり、パブリックにアクセスできないようにすることが重要です。

クライアントサイドアプリケーションやウェブサービスではサブスクリプションキーベースの認証(共有キー)を使うことができますが、アプリケーションやウェブサービスを保護する上で最も安全度の低い方法です。 この方法は安全でありません。なぜなら、悪意のある人物がHTTPリクエストからキーを簡単に抽出し、アカウントで利用可能なすべてのAzure Maps REST APIへのアクセスを許可してしまうからです。 サブスクリプションキーを使う場合は 、定期的にキーを回転 させ、共有キーは設定可能な寿命をサポートしていないため、手動でキーを回転させる必要があります。 Azure Key Vault で共有キー認証を使用して、シークレットを Azure に安全に格納することを検討してください。

Microsoft Entra 認証または Shared Access Signature (SAS) トークン認証を使用する場合、Azure Maps REST API へのアクセスはロールベースのアクセス制御 (RBAC) を使用して承認されます。 RBAC を使用すると、発行されたトークンに付与されるアクセス レベルを指定できます。 アクセス権を付与する期間を考慮することが重要です。 共有キー認証とは異なり、これらのトークンの有効期間は構成可能です。

ヒント

トークンの有効期間の構成に関する詳細については、次を参照してください。

パブリック クライアント アプリケーションと機密クライアント アプリケーション

パブリック クライアント アプリケーションと機密クライアント アプリケーションの間には、さまざまなセキュリティ上の問題があります。 どのようなクライアント アプリケーションが "パブリック" または "機密" と見なされるのかについては、Microsoft ID プラットフォームのドキュメント「パブリック クライアント アプリケーションと機密クライアント アプリケーション」を参照してください。

パブリック クライアント アプリケーション

デバイス、デスクトップ コンピューター、または Web ブラウザーで実行されているアプリケーションの場合は、 クロス オリジン リソース共有 (CORS) を使用して Azure Maps アカウントにアクセスできるドメインを定義することをお勧めします。 CORS は、"https://microsoft.com" などの配信元が Azure Maps アカウントのリソースを要求することを許可されていることをクライアントのブラウザーに通知します。

Web サーバーまたはサービスを開発している場合、CORS を使用して Azure Maps アカウントを構成する必要はありません。 ただし、クライアント側の Web アプリケーションに JavaScript コードが含まれている場合は、CORS が適用されます。

機密クライアント アプリケーション

Web サービスやサービス/デーモン アプリなどのサーバー ベースのアプリケーションの場合は、 マネージド ID を 使用してシークレットの管理が複雑にならないようにすることを検討してください。 マネージド ID は、Web サービスが Microsoft Entra 認証を使用して Azure Maps に接続するための ID を提供できます。 その後、Web サービスはこの ID を使用して、必要な Microsoft Entra トークンを取得できます。 Azure RBAC を使用して Web サービスに付与されるアクセスを構成し、可能な限り最小限の 特権ロール を適用することをお勧めします。

次のステップ