API Management 開発者ポータル - よく寄せられる質問

適用対象: 開発者 | Basic | Basic v2 | Standard | Standard v2 | Premium

ポータルでサポートされていない機能が必要な場合はどうすればよいですか。

次のオプションがあります。

開発者ポータルの機能のカスタマイズと拡張について確認します。

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 を有効にする」を参照してください。

開発者ポータルを編集するにはどのようなアクセス許可が必要ですか。

管理モードでポータルを開いたときに 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 トークンの有効期限が切れている可能性があります。 新しいトークンを生成することでこれを解決できます。 手順については、開発者ポータルのセルフホストに関するチュートリアルを参照してください。

開発者ポータルでサインアップを無効にするにはどうすればよいですか?

開発者ポータルでサインアップ機能を既定で有効にする必要がない場合は、次の手順で無効にすることができます。

  1. Azure portal で、API Management インスタンスに移動します。

  2. メニューの [開発者ポータル][ID] を選択します。

  3. 一覧に表示されている各 ID プロバイダーを削除します。 各 ID プロバイダーを指定してコンテキスト メニュー ( ... ) を選択し、 [削除] を選択します。

    ID プロバイダーの削除

  4. 開発者ポータルの管理インターフェイスに移動します。

  5. ポータル コンテンツの [サインアップ] リンクとナビゲーション項目を削除します。 ポータル コンテンツのカスタマイズ方法の詳細については、「チュートリアル: 開発者ポータルへのアクセスとそのカスタマイズ」を参照してください。

  6. ユーザーが直接移動する場合は、 [サインアップ] ページ コンテンツを変更して、ID データの入力に使用するフィールドを削除します。

    必要に応じて、 [サインアップ] ページを削除します。 現時点では、このページの一覧表示と削除には contentItem REST API を使用します。

  7. 変更を保存して、ポータルを再発行します。

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 エンコードされている必要があります。

開発者ポータルの詳細については、次を参照してください。

その他のリソースを参照します: