API Management 開発者ポータル - よく寄せられる質問
適用対象: Developer | Basic | Basic v2 | Standard | Standard v2 | Premium | Premium v2
ポータルでサポートされていない機能が必要な場合はどうすればよいですか。
次のオプションがあります。
小規模なカスタマイズの場合は、組み込みのウィジェットを使用してカスタム HTML を追加します。 現在、カスタム HTML コード ウィジェットは、API Management の v2 レベルでは使用できません。
より大規模なカスタマイズを行う場合は、カスタム ウィジェットを作成してマネージド開発者ポータルにアップロードします。 現在、カスタム ウィジェットは、API Management の v2 レベルでは使用できません。
開発者ポータルのセルフホストは、開発者ポータルのコードベースのコアに変更を加える必要がある場合にのみ行います。
GitHub リポジトリで機能要求をオープンします。
開発者ポータルの機能のカスタマイズと拡張について確認します。
1 つの API Management サービスに複数の開発者ポータルを含めることはできますか。
1 つのマネージド ポータルと複数のセルフホステッド ポータルを使用できます。 すべてのポータルのコンテンツは同じ API Management サービスに格納されるため、同じになります。 ポータルの外観と機能を区別する場合は、実行時にたとえば URL に基づいてページを動的にカスタマイズする独自のカスタム ウィジェットを使用して、セルフホストすることができます。
ポータルは、Azure Resource Manager テンプレートをサポートしていますか。また、API Management DevOps リソース キットと互換性がありますか。
いいえ。
ポータルのコンテンツは、API Management のバックアップ/復元機能を使用して保存されていますか。
いいえ。
マネージド ポータルの依存関係に対して追加の VNET 接続を有効にする必要がありますか。
ほとんどの場合、必要ありません。
API Management サービスが内部の VNet にある場合、開発者ポータルにはネットワーク内からしかアクセスできません。 管理エンドポイントのホスト名は、ポータルの管理インターフェイスにアクセスするために使用するコンピューターから、サービスの内部 VIP に解決される必要があります。 管理エンドポイントが DNS に登録されていることを確認してください。 設定に誤りがある場合は、エラー Unable to start the portal. See if settings are specified correctly in the configuration (...)
が表示されます。
API Management サービスが内部 VNet にあり、インターネットから Application Gateway 経由でアクセスする場合は、開発者ポータルと API Management の管理エンドポイントへの接続を有効にしてください。 Web アプリケーションのファイアウォール規則を無効にする必要がある場合があります。 詳細については、このドキュメントの記事を参照してください。
カスタムの API Management ドメインを割り当てていますが、発行済みのポータルが正しく動作しません
ドメインを更新した後、変更を有効にするには、ポータルを再発行する必要があります。
ID プロバイダーを追加しましたが、ポータルに表示されません
(Azure AD、Azure AD B2C などの) ID プロバイダーを構成した後、変更を有効にするにはポータルを再発行する必要があります。 開発者ポータルのページに OAuth ボタン ウィジェットが含まれていることを確認してください。
委任を設定しましたが、ポータルで使用されていません
委任を設定した後、変更を有効にするには、ポータルを再発行する必要があります。
API Management の構成に対するその他の変更が開発者ポータルに反映されていません
(VNet、サインイン、製品条項などの) ほとんどの構成変更にはポータルの再発行が必要です。
対話型コンソールを使用すると、CORS エラーが発生します
対話型コンソールは、ブラウザーからクライアント側の API 要求を行います。 API に CORS ポリシーを追加するか、CORS プロキシを使用するようにポータルを構成することで、 CORS の問題を解決してください。 詳細情報については、「API Management 開発者ポータル で対話型コンソールの CORS を有効にする」を参照してください。
カスタム HTML コード ウィジェットを使用すると、CORS エラーが発生します
お使いの環境内でカスタム HTML コード ウィジェットを使用しているとき、ウィジェットによって読み込まれた IFrame を操作すると、CORS エラーが表示されることがあります。 この問題は、開発者ポータルとは異なる配信元からコンテンツが IFrame に提供されるために発生します。 この問題を回避するため、代わりにカスタム ウィジェットを使用できます。
開発者ポータルを編集するにはどのようなアクセス許可が必要ですか。
管理モードでポータルを開いたときに Oops. Something went wrong. Please try again later.
エラーが表示される場合、必要なアクセス許可 (Azure RBAC) が不足している可能性があります。
ポータルでは、スコープ /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<apim-service-name>/users/1
のアクセス許可 Microsoft.ApiManagement/service/users/token/action
が必要です。
次の PowerShell スクリプトを使用して、必要なアクセス許可を持つロールを作成することができます。 <subscription-id>
パラメーターを忘れずに変更してください。
#New Portals Admin Role
Import-Module Az
Connect-AzAccount
$contributorRole = Get-AzRoleDefinition "API Management Service Contributor"
$customRole = $contributorRole
$customRole.Id = $null
$customRole.Name = "APIM New Portal Admin"
$customRole.Description = "This role gives the user ability to log in to the new Developer portal as administrator"
$customRole.Actions = "Microsoft.ApiManagement/service/users/token/action"
$customRole.IsCustom = $true
$customRole.AssignableScopes.Clear()
$customRole.AssignableScopes.Add('/subscriptions/<subscription-id>')
New-AzRoleDefinition -Role $customRole
作成したロールは、Azure portal の [Access Control (IAM)](アクセス制御 (IAM)) セクションから任意のユーザーに付与できます。 このロールをユーザーに割り当てると、サービス スコープのアクセス許可が割り当てられます。 ユーザーは、サービスの任意のユーザーに代わって SAS トークンを生成できるようになります。 最低限、このロールはサービスの管理者に割り当てる必要があります。 次の PowerShell コマンドは、不必要なアクセス許可をユーザーに付与することを避けるために、最も低いスコープでユーザー user1
にロールを割り当てる方法を示しています。
New-AzRoleAssignment -SignInName "user1@contoso.com" -RoleDefinitionName "APIM New Portal Admin" -Scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<apim-service-name>/users/1"
ユーザーにアクセス許可を付与した後、新しいアクセス許可を有効にするには、ユーザーが Azure portal から一度サインアウトし、再びサインインする必要があります。
Unable to start the portal. See if settings are specified correctly (...)
エラーが表示されます
このエラーは、https://<management-endpoint-hostname>/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.ApiManagement/service/xxx/contentTypes/document/contentItems/configuration?api-version=2018-06-01-preview
に対する GET
呼び出しが失敗すると表示されます。 この呼び出しは、ポータルの管理インターフェイスによってブラウザーから発行されます。
API Management サービスが VNet 内にある場合は、VNet 接続に関する質問を参照してください。
カスタム ドメインに割り当てられているがブラウザーで信頼されていない TLS/SSL 証明書が原因で呼び出しが失敗する場合もあります。 軽減策として、管理エンドポイントのカスタム ドメインを削除できます。 API Management は、信頼された証明書を使用して既定のエンドポイントにフォールバックします。
ポータルのブラウザー サポートとは何ですか?
Browser | サポートされています |
---|---|
Apple Safari | 可1 |
Google Chrome | 可1 |
Microsoft Edge | 可1 |
Microsoft Internet Explorer | いいえ |
Mozilla Firefox | 可1 |
1 2 つの最新の生産バージョンでサポートされています。
セルフホステッド ポータルのローカル開発が機能しなくなりました
ローカル バージョンの開発者ポータルでストレージ アカウントまたは API Management インスタンスから情報を保存または取得できない場合は、SAS トークンの有効期限が切れている可能性があります。 新しいトークンを生成することでこれを解決できます。 手順については、開発者ポータルのセルフホストに関するチュートリアルを参照してください。
開発者ポータルでサインアップを無効にするにはどうすればよいですか?
開発者ポータルでサインアップ機能を既定で有効にする必要がない場合は、次の手順で無効にすることができます。
Azure portal で、API Management インスタンスに移動します。
メニューの [開発者ポータル] で [ID] を選択します。
一覧に表示されている各 ID プロバイダーを削除します。 各 ID プロバイダーを指定してコンテキスト メニュー ( ... ) を選択し、 [削除] を選択します。
開発者ポータルの管理インターフェイスに移動します。
ポータル コンテンツの [サインアップ] リンクとナビゲーション項目を削除します。 ポータル コンテンツのカスタマイズ方法の詳細については、「チュートリアル: 開発者ポータルへのアクセスとそのカスタマイズ」を参照してください。
ユーザーが直接移動する場合は、 [サインアップ] ページ コンテンツを変更して、ID データの入力に使用するフィールドを削除します。
必要に応じて、 [サインアップ] ページを削除します。 現時点では、このページの一覧表示と削除には contentItem REST API を使用します。
変更を保存して、ポータルを再発行します。
API Management サービスにプロビジョニングされた開発者ポータルのコンテンツを削除するにはどうすればよいですか。
開発者ポータルの GitHub リポジトリの scripts.v3/cleanup.bat
スクリプトに必要なパラメーターを指定し、スクリプトを実行します
cd scripts.v3
.\cleanup.bat
cd ..
セルフホステッド開発者ポータルに対してシングル サインオン (SSO) 認証を有効にするにはどうすればよいですか。
認証方法のうち、開発者ポータルではシングル サインオン (SSO) がサポートされています。 この方法で認証するには、クエリ パラメーターでトークンを使用して /signin-sso
を呼び出す必要があります。
https://contoso.com/signin-sso?token=[user-specific token]
ユーザー トークンを生成する
API Management REST API の「共有アクセス トークンの取得」操作を使用して、"ユーザー固有のトークン" (管理者トークンを含む) を生成することができます。
注意
トークンは URL エンコードされている必要があります。
関連するコンテンツ
開発者ポータルの詳細については、次を参照してください。
- マネージド開発者ポータルへのアクセスとカスタマイズ
- 開発者ポータルの機能を拡張します。
- ポータルのセルフホステッド バージョンの設定
その他のリソースを参照します: