問題タブ [azure-api-management]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-web-api - WebAPI を悪用から保護し、API キーの共有を避けるにはどうすればよいですか?
C# で記述され、Azure でホストされている Web API があり、Azure API Management (AAM) がその API の前にあり、要求を調整しています。
API を呼び出すクライアントは JavaScript ベースであり、匿名のエンド ユーザーに代わって呼び出します。たとえば、Web サイトのホームページは、javascript を介して API を呼び出し、エンド ユーザーにログインを要求せずに情報を表示する場合があります。
AAM は、API の呼び出し元が有効な API キーを持っていることを確認します。公開されているソースから誰かが取得した場合でも、このキーがコピーされて悪用される可能性があります。
OAuth2 を使用して、人間の介入なしに JWT アクセス トークンを取得し、これをクライアントで公開することは可能ですか?
OAuth2 は、期限切れの JSON Web トークンを発行して、トークンの盗難のリスクを下げることができますが、人間の介入なしでこれを行うのに苦労しています。
OAuth2 は主にエンド ユーザーが開始する承認に関するものですが、IdentityServer3 にはハイブリッド アプローチがあるようです。このハイブリッド アプローチを使用して、最初にサーバーからサーバーに API キーを送信し、クライアント側のスクリプトで使用するために Web ページに JWT を出力することで、リモート Web サーバーにトークンを要求させることはできますか?
これにより、API キーが非表示になり、数分間使用される JWT のみが表示されます。
AAM は OAuth2 と統合して JWT アクセス トークンを検査できますが、このハイブリッド フローを理解していないと思います (ユーザー ログインを要求しないため、理解する必要はないかもしれません)。
それとも、あきらめてリクエストのみをレート制限する必要がありますか?
azure - Azureイベントハブリスナー処理の速度を向上させる方法は?
APIM 用の EventHub をセットアップし、コンテキスト ポリシーの出力をキャプチャするリスナー (IEventProcessor) を作成しました。リスナーは、おそらく 10 ~ 15 秒ごとに一定間隔でヒットするようです。IEventProcessor によってイベントが処理される速度を上げるために使用するアプローチはありますか? メッセージをより迅速にプッシュする設定の種類はありますか? または、リスナーをスケールアウトして処理スループットを向上させることでこれを実現できますか?
azure - apim で送信ポリシーを使用する理由はありますか?
APIM で送信ポリシーを使用する理由はありますか? インバウンドとアウトバウンドに同じポリシー表現を使用したテストを試みました。同じ式がエラーなしで機能し、両方に対して同じ情報が返されました。インバウンド式がすべての情報を既に取得している場合、アウトバウンド ポリシーを構成する必要はないと思います。また、アウトバウンド セクションが冗長であり、単にアウトバウンド セクションを除外していることに気づきましたか? または、インバウンド セクションに加えてアウトバウンド セクションを使用する理由が見つかりましたか?
azure - apim context.response.statusreason 可用性?
APIM ポリシーに context.Response.StatusReason を含めています。これはエラーのために入力されています。たとえば、404 エラーは context.Response.StatusReason として「OperationNotFound」の値を返します。ただし、<inbound> ログの場合、StatusReason の値は「Success」であると予想されますが、空です。APIM は、特定の状態コードの StatusReason のみを設定しますか?
azure - Microsoft Azure の API 資格情報 (ユーザー認証とサービス プリンシパル認証) を取得するにはどうすればよいですか?
Microsoft Azure にアクセスするためのコードを書きたいと思っています。管理コンソールを徹底的に調べましたが、API にアクセスするための資格情報を生成する方法がまだ明確ではありません。
コンソールを検索しましたが、道に迷っています。
以下のコードには、資格情報を取得するための 2 つの方法が示されています。これらの各方法 (ユーザー認証とサービス プリンシパル認証) を使用して資格情報を取得する方法を、誰かが順を追って説明できれば幸いです。
次のコードは、このリンクからのものですhttps://github.com/Azure/azure-sdk-for-node/issues/1606#issuecomment-181405138
azure - Azure Api Management ペイロードに参加し、顧客に提供する
Azure Management Api の使用について質問があります。単一の応答 API のアーキテクチャは、ビジネス エリアの機能を実行するドメインを予測します。画像構造を参照してください。
1. Azure Api Management は管理として機能するのでしょうか、それとも Geteway として使用して、多くの API の結果を 1 つにまとめ (オーケストレーション)、要求を行ったクライアントが利用できるようにすることができるのでしょうか?
2. このデータを収集する責任は Web アプリケーションですか?
3. パターンはありますか?