次の方法で共有


ダッシュボードの構成

ダッシュボードは起動時に構成されます。 構成には、フロントエンドと OpenTelemetry プロトコル (OTLP) アドレス、リソース サービス エンドポイント、認証、テレメトリの制限などが含まれます。

.NET .NET Aspire アプリ ホスト プロジェクトでダッシュボードが起動されると、アプリのリソースとテレメトリを表示するように自動的に構成されます。 構成は、スタンドアロン モードのでダッシュボード 起動するときに提供されます。

構成を提供する方法は多数あります。

  • コマンド ライン引数。
  • 環境変数。 環境変数名では、: 区切り記号を二重アンダースコア (__) に置き換える必要があります。
  • オプション JSON 構成ファイル。 DOTNET_DASHBOARD_CONFIG_FILE_PATH 設定を使用して、JSON 構成ファイルを指定できます。

次の例では、Docker コンテナーから開始したときにダッシュボードを構成する方法を示します。

  • Bash
  • PowerShell の
docker run --rm -it -p 18888:18888 -p 4317:18889 -d --name aspire-dashboard \
    -e DASHBOARD__TELEMETRYLIMITS__MAXLOGCOUNT='1000' \
    -e DASHBOARD__TELEMETRYLIMITS__MAXTRACECOUNT='1000' \
    -e DASHBOARD__TELEMETRYLIMITS__MAXMETRICSCOUNT='1000' \
    mcr.microsoft.com/dotnet/aspire-dashboard:9.0

または、DOTNET_DASHBOARD_CONFIG_FILE_PATHを使用して指定された JSON 構成ファイルを使用して、これらの同じ値を構成することもできます。

{
  "Dashboard": {
    "TelemetryLimits": {
      "MaxLogCount": 1000,
      "MaxTraceCount": 1000,
      "MaxMetricsCount": 1000
    }
  }
}

大事な

ダッシュボードには、構成、コンソール ログ、詳細なテレメトリなど、リソースに関する情報が表示されます。

ダッシュボードに表示されるデータは機密性の高い場合があります。 たとえば、環境変数のシークレットや、テレメトリ内の機密性の高いランタイム データなどです。 アクセスをセキュリティで保護するようにダッシュボードを構成するには、注意が必要です。

詳細については、ダッシュボードのセキュリティ参照してください。

手記

このページで説明する構成は、スタンドアロン ダッシュボード用です。 アプリ ホスト プロジェクトを構成するには、アプリ ホストの構成参照してください。

一般的な構成

オプション 既定値 形容
ASPNETCORE_URLS http://localhost:18888 ダッシュボード フロントエンドが提供される 1 つ以上の HTTP エンドポイント。 フロントエンド エンドポイントは、ブラウザーでダッシュボードを表示するために使用されます。 .NET .NET Aspire アプリ ホストによってダッシュボードが起動されると、このアドレスは HTTPS で保護されます。 HTTPS を使用してダッシュボードをセキュリティで保護することをお勧めします。
DOTNET_DASHBOARD_OTLP_ENDPOINT_URL http://localhost:18889 OTLP/gRPC エンドポイント。 このエンドポイントは OTLP サービスをホストし、gRPC を使用してテレメトリを受信します。 .NET .NET Aspire アプリ ホストによってダッシュボードが起動されると、このアドレスは HTTPS で保護されます。 HTTPS を使用してダッシュボードをセキュリティで保護することをお勧めします。
DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL http://localhost:18890 OTLP/HTTP エンドポイント。 このエンドポイントは OTLP サービスをホストし、Protobuf over HTTP を使用してテレメトリを受信します。 .NET .NET Aspire アプリ ホストによってダッシュボードが起動されると、OTLP/HTTP エンドポイントは既定で構成されません。 アプリ ホストで OTLP/HTTP エンドポイントを構成するには、launchSettings で DOTNET_DASHBOARD_OTLP_HTTP_ENDPOINT_URL env var 値 設定します。json. HTTPS を使用してダッシュボードをセキュリティで保護することをお勧めします。
DOTNET_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS false 認証を使用しないようにダッシュボードを構成し、匿名アクセスを受け入れます。 この設定は、Dashboard:Frontend:AuthModeDashboard:Otlp:AuthModeUnsecuredに構成するためのショートカットです。
DOTNET_DASHBOARD_CONFIG_FILE_PATH null JSON 構成ファイルのパス。 ダッシュボードが Docker コンテナーで実行されている場合、これはマウントされたボリューム内の構成ファイルへのパスです。 この値は省略可能です。
DOTNET_RESOURCE_SERVICE_ENDPOINT_URL null ダッシュボードがデータに接続する gRPC エンドポイント。 この値が指定されていない場合、ダッシュボードにはテレメトリ データが表示されますが、リソース一覧やコンソール ログは表示されません。 この設定は、Dashboard:ResourceServiceClient:Urlへのショートカットです。

フロントエンド認証

ダッシュボード フロントエンド エンドポイント認証は、Dashboard:Frontend:AuthModeで構成されます。 フロントエンドは、OpenID Connect (OIDC) またはブラウザー トークン認証で保護できます。

ブラウザー トークン認証は、フロントエンドがトークンを要求することで機能します。 トークンは UI に入力することも、ログイン ページにクエリ文字列値として指定することもできます。 たとえば、https://localhost:1234/login?t=TheTokenします。 トークンが正常に認証されると、認証 cookie がブラウザーに永続化され、ブラウザーがアプリにリダイレクトされます。

オプション 既定値 形容
Dashboard:Frontend:AuthMode BrowserToken BrowserTokenOpenIdConnect、または Unsecuredに設定できます。 Unsecured は、ローカル開発時にのみ使用する必要があります。 ダッシュボードをパブリックまたは他の設定でホストする場合は、お勧めしません。
Dashboard:Frontend:BrowserToken null ブラウザー トークンを指定します。 ブラウザー トークンが指定されていない場合は、ダッシュボードによって生成されます。 ブラウザー トークン認証を使用してログインを自動化するツールでは、トークンを指定し、クエリ文字列内のトークンを使用してブラウザーを開くことができます。 ダッシュボードが起動されるたびに、新しいトークンが生成されます。
Dashboard:Frontend:OpenIdConnect:NameClaimType name 認証されたユーザーのフル ネームを表示するために使用する必要がある 1 つ以上の要求の種類を指定します。 1 つの要求の種類または要求の種類のコンマ区切りのリストを指定できます。
Dashboard:Frontend:OpenIdConnect:UsernameClaimType preferred_username 認証されたユーザーのユーザー名を表示するために使用する必要がある 1 つ以上の要求の種類を指定します。 1 つの要求の種類または要求の種類のコンマ区切りのリストを指定できます。
Dashboard:Frontend:OpenIdConnect:RequiredClaimType null 承認されたユーザーに対して存在する必要がある要求を指定します。 承認は、この要求なしで失敗します。 この値は省略可能です。
Dashboard:Frontend:OpenIdConnect:RequiredClaimValue null 必要な要求の値を指定します。 Dashboard:Frontend:OpenIdConnect:RequireClaimType も指定されている場合にのみ使用されます。 この値は省略可能です。
Authentication:Schemes:OpenIdConnect:Authority null ID プロバイダー (IdP) への URL。
Authentication:Schemes:OpenIdConnect:ClientId null 証明書利用者 (RP) の ID。
Authentication:Schemes:OpenIdConnect:ClientSecret null 実際の RP のみが認識するシークレット。
OpenIdConnectOptions の他の宿泊施設 null 構成セクション Authentication:Schemes:OpenIdConnect:* 内の値は、Scopeなどの OpenIdConnectOptionsにバインドされます。

手記

SSL を終了するリバース プロキシの背後で認証モードとして OpenIdConnect を使用する場合は、追加の構成が必要になる場合があります。 ASPNETCORE_FORWARDEDHEADERS_ENABLEDtrueに設定する必要があるかどうかを確認します。

詳細については、「プロキシ サーバーとロード バランサーを操作するように ASP.NET Core を構成する」を参照してください。

OTLP 認証

OTLP エンドポイント認証は、Dashboard:Otlp:AuthModeで構成されます。 OTLP エンドポイントは、API キーまたは認証 証明書で保護できます。

API キー認証は、各 OTLP 要求に有効な x-otlp-api-key ヘッダー値を要求することで機能します。 プライマリ キーまたはセカンダリ キーのいずれかと一致する必要があります。

オプション 既定値 形容
Dashboard:Otlp:AuthMode Unsecured ApiKeyCertificate、または Unsecuredに設定できます。 Unsecured は、ローカル開発時にのみ使用する必要があります。 ダッシュボードをパブリックまたは他の設定でホストする場合は、お勧めしません。
Dashboard:Otlp:PrimaryApiKey null 主 API キーを指定します。 API キーには任意のテキストを指定できますが、少なくとも 128 ビットのエントロピを持つ値をお勧めします。 この値は、認証モードが API キーの場合に必要です。
Dashboard:Otlp:SecondaryApiKey null セカンダリ API キーを指定します。 API キーには任意のテキストを指定できますが、少なくとも 128 ビットのエントロピを持つ値をお勧めします。 この値は省略可能です。 2 つ目の API キーが指定されている場合、受信 x-otlp-api-key ヘッダー値はプライマリ キーまたはセカンダリ キーのいずれかと一致する可能性があります。

OTLP CORS

クロスオリジン リソース共有 (CORS) は、ブラウザー アプリがダッシュボードにテレメトリを送信できるように構成できます。

既定では、ブラウザー アプリはクロス ドメイン API 呼び出しを行うことを制限されます。 これは、ダッシュボードとブラウザー アプリが常に異なるドメイン上にあるため、ダッシュボードへのテレメトリの送信に影響します。 CORS を構成するには、Dashboard:Otlp:Cors セクションを使用し、許可される配信元とヘッダーを指定します。

{
  "Dashboard": {
    "Otlp": {
      "Cors": {
        "AllowedOrigins": "http://localhost:5000,https://localhost:5001"
      }
    }
  }
}

次の構成オプションを検討してください。

オプション 既定値 形容
Dashboard:Otlp:Cors:AllowedOrigins null CORS に許可されるオリジンを指定します。 これはコンマ区切りの文字列であり、任意のドメインを許可する * ワイルドカードを含めることができます。 このオプションは省略可能であり、DASHBOARD__OTLP__CORS__ALLOWEDORIGINS 環境変数を使用して設定できます。
Dashboard:Otlp:Cors:AllowedHeaders null CORS で許可されるヘッダーを表すコンマ区切りの文字列。 この設定は省略可能であり、DASHBOARD__OTLP__CORS__ALLOWEDHEADERS 環境変数を使用して設定できます。

手記

ダッシュボードでは、テレメトリを送信するための メソッドのみがサポートされ、CORS の () 許可されるメソッドの構成は許可されません。

リソース

ダッシュボードはリソース サービスに接続して、リソース情報を読み込んで表示します。 client は、サービスに接続する方法をダッシュボードで構成します。

リソース サービス client 認証は、Dashboard:ResourceServiceClient:AuthModeで構成されます。 client は、API キーまたは client 証明書認証をサポートするように構成できます。

オプション 既定値 形容
Dashboard:ResourceServiceClient:Url null ダッシュボードがデータに接続する gRPC エンドポイント。 この値が指定されていない場合、ダッシュボードにはテレメトリ データが表示されますが、リソース一覧やコンソール ログは表示されません。
Dashboard:ResourceServiceClient:AuthMode null ApiKeyCertificate、または Unsecuredに設定できます。 Unsecured は、ローカル開発時にのみ使用する必要があります。 ダッシュボードをパブリックまたは他の設定でホストする場合は、お勧めしません。 この値は、リソース サービスの URL が指定されている場合に必要です。
Dashboard:ResourceServiceClient:ApiKey null x-resource-service-api-key ヘッダーでリソース サービスに送信する API。 この値は、認証モードが API キーの場合に必要です。
Dashboard:ResourceServiceClient:ClientCertificate:Source null File または KeyStoreに設定できます。 認証モードが証明書 client 場合は、この値が必要です。
Dashboard:ResourceServiceClient:ClientCertificate:FilePath null 証明書ファイルのパス。 この値は、ソースが File場合に必要です。
Dashboard:ResourceServiceClient:ClientCertificate:Password null 証明書ファイルのパスワード。 この値は省略可能です。
Dashboard:ResourceServiceClient:ClientCertificate:Subject null 証明書のサブジェクト。 この値は、ソースが KeyStore場合に必要です。
Dashboard:ResourceServiceClient:ClientCertificate:Store My 証明書 StoreName
Dashboard:ResourceServiceClient:ClientCertificate:Location CurrentUser 証明書 StoreLocation

テレメトリの制限

テレメトリはメモリに格納されます。 過剰なメモリ使用量を回避するために、ダッシュボードには、保存されているテレメトリの数とサイズに制限があります。 カウント制限に達すると、新しいテレメトリが追加され、最も古いテレメトリが削除されます。 サイズ制限に達すると、データは制限に切り捨てられます。

テレメトリの制限には、テレメトリの種類に応じて異なるスコープがあります。

  • MaxLogCountMaxTraceCount は、リソース間で共有されます。 たとえば、MaxLogCount 値が 5,000 の場合、すべてのリソースに対して最大 5,000 個のログ エントリを格納するようにダッシュボードが構成されます。
  • MaxMetricsCount はリソース単位です。 たとえば、MaxMetricsCount 値が 10,000 の場合、リソースあたり最大 10,000 のメトリック データ ポイントを格納するようにダッシュボードが構成されます。
オプション 既定値 形容
Dashboard:TelemetryLimits:MaxLogCount 10,000 ログ エントリの最大数。 制限はリソース間で共有されます。
Dashboard:TelemetryLimits:MaxTraceCount 10,000 ログ トレースの最大数。 制限はリソース間で共有されます。
Dashboard:TelemetryLimits:MaxMetricsCount 50,000 メトリック データ ポイントの最大数。 制限はリソース単位です。
Dashboard:TelemetryLimits:MaxAttributeCount 128 テレメトリの属性の最大数。
Dashboard:TelemetryLimits:MaxAttributeLength null 属性の最大長。
Dashboard:TelemetryLimits:MaxSpanEventCount null スパン属性のイベントの最大数。

オプション 既定値 形容
Dashboard:ApplicationName Aspire UI に表示されるアプリケーション名。 これは、リソース サービスの URL が指定されていない場合にのみ適用されます。 リソース サービスが存在する場合、サービスはアプリケーション名を指定します。

次の手順

.NET .NET Aspire ダッシュボード を実行するためのセキュリティに関する考慮事項