注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Developer Console の Web ホスティング機能により、オントロジー SDK を使用してフロントエンドのみのアプリケーションを構築する開発者は、追加のホスティングインフラストラクチャを用意せずに、これらのアプリケーションを Foundry でホストできます。
Web ホスティング機能は、GitHub Pages と同様に、静的アセットのホスティングのみに対応しており、サーバーの実行には対応していません。つまり、次のものをホストできます。
この機能を使用して、Node.js バックエンド、Python サーバー、サーバーサイドレンダリングなどのサーバーサイドコードを実行することはできません。サーバーサイドの機能を利用するには、アプリケーションからオントロジー SDK を介して Foundry に API 呼び出しを行うか、その他の外部サービスに API 呼び出しを行う必要があります。
Web サイトホスティングは、クライアント向けアプリケーションとして設定されたアプリケーションでのみ利用可能です。アプリケーションがバックエンドサービスとしても設定されている場合、この組み合わせによってサーバーサイドアプリケーション用の機密クライアントが作成されるため、Web サイトホスティングのオプションは表示されません。
ホストする Web サイトは、Foundry エンロールメントのドメインのサブドメイン、またはご自身が所有するカスタムドメインのいずれかから配信できます。デフォルトでは、サブドメインを選択し、アプリケーションは <YOUR-APPLICATION-SUBDOMAIN>.[YOUR-ENROLLMENT].palantirfoundry.com から配信されます。あるいは、[your-organization].com などのカスタムドメインでアプリケーションをホストすることもできます。詳細については、カスタムドメインで Web サイトをホストするを参照してください。
Foundry エンロールメントが .palantirfoundry.com で終わるドメインから配信されていない場合は、追加の調整が必要です。Web ホスティングの設定については、Palantir サポートにお問い合わせください。これらのエンロールメントで通常必要となる DNS、証明書、ネットワークイングレスの設定については、外部で管理されるドメインでの Web サイトホスティングを確認してください。
IL5 および FedRAMP 環境では、Developer Console で Web サイトホスティングが無効になっているように表示される場合があります。これらの環境で Web サイトホスティングを有効にするには、カスタム TLS 証明書とホストする Web サイトに対する追加の承認と設定が必要です。この手続きを開始し、必要な変更をネットワークインフラストラクチャチームと調整するには、Palantir サポートにお問い合わせください。
次のセクションでは、Developer Console のアプリケーションを Foundry でホストするために必要な手順を説明します。
アプリケーションにカスタム404ページを含めない場合、Foundry はそのアプリケーションをシングルページアプリケーション ↗とみなし、このサブドメイン配下のパスへのすべてのリクエストを index.html にルーティングします。
認証フローの一環として、ホスティングドメインの後に /auth/callback を付けた URL を含むように、リダイレクト URL を更新する必要があります。エンロールメントのサブドメインを使用する場合は、<YOUR-APPLICATION-SUBDOMAIN>.[YOUR-ENROLLMENT].palantirfoundry.com/auth/callback になります。カスタムドメインを使用する場合は、<YOUR-CUSTOM-DOMAIN>/auth/callback になります。
また、Developer Console のアプリケーションにも同じリダイレクト URL を追加する必要があります。詳細については、新しいオントロジー SDK を作成するを確認してください。
リダイレクト URL を設定する際は、必ず https:// を使用してください(http:// は使用しないでください)。プラットフォームは http の URL を https に自動的に変更しないため、http を使用すると、コンテンツセキュリティポリシー違反やその他のセキュリティ上の問題が発生する可能性があります。
Web サイトのファイルの本番用ビルドが格納されているディレクトリの内容を圧縮します。ディレクトリ自体は含めないでください。一般的な Web フレームワークでは、このディレクトリは通常 dist/ です。
圧縮ファイルにディレクトリを含めると、それらのディレクトリが Web サイトへのパスに含まれます。
Foundry で Web サイトをホストする場合、次の制限が適用されます。
| 制限 | 最大値 |
|---|---|
| ファイル数 | 1,000 |
| 合計アップロードサイズ | 20 MB |
アプリケーションがこれらの制限を超える場合、アップロードする前にファイル数またはファイルサイズを削減する必要があります。これらの制限内に収めるために、アセットのバンドル化と縮小、未使用ファイルの削除、画像の圧縮を検討してください。
サブドメインホスティングに依存する機能を構築する前に、エンロールメントでサブドメインホスティングが有効になっているかどうかをプログラムで確認します。
サブドメインの対応ステータスを確認するには、Control Panel でエンロールメントサブドメイン API を使用するか、Developer Console の Web サイトホスティング対応ステータスユーティリティを使用します。どちらの方法でも、指定されたエンロールメントがサブドメインおよび Web サイトホスティングに対応しているかどうかが返されます。
Developer Console のアプリケーション内で、左側のメニューから[Web サイトホスティング]を選択します。
エンロールメントのドメインのサブドメインで Web サイトをホストするには、次の手順に従います。
my-first-hosted-app.example.palantirfoundry.com を選択しています。
サブドメインのリクエストは、送信後に編集できません。サブドメイン名を変更する必要がある場合は、既存のリクエストをキャンセルまたはクローズし、正しいサブドメイン名で新しいリクエストを送信する必要があります。
エンロールメントの情報セキュリティ責任者に承認を依頼するか、必要な権限がある場合は、リクエストを表示を選択してご自身で承認します。エンロールメント管理者は、Control Panel でエンロールメントの権限を管理できます。
リクエストが承認されたら、ページを再読み込みします。この時点で、ドメインが使用できる状態であることを示すドメイン準備完了が表示されるはずです。この処理が完了するまで数分かかる場合があります。
エンロールメントのサブドメインを使用する代わりに、[your-organization].com など、所有しているカスタムドメインでアプリケーションをホストできます。これは、ブランド名を冠したドメインや一般公開用のドメインからアプリケーションにアクセスできるようにしたい場合に便利です。
一部のエンロールメントでは、カスタムドメインでのホスティングを利用できない場合があります。Developer Console アプリケーションにこの選択肢が表示されない場合は、Palantir サポートにお問い合わせください。
アプリケーション用のカスタムドメインを申請する前に、そのドメインを対象とする証明書が Control Panel で作成されていることを確認してください。ドメインの証明書が存在しない場合、承認申請は成功しません。証明書の作成手順については、ドメインと証明書を設定するを参照してください。
Developer Console のアプリケーション内で、左側のメニューから[Web サイトホスティング]を選択します。
カスタムドメインでのホスティングを申請を選択します。この選択肢は、エンロールメントのサブドメイン登録フォームの下に表示されます。
表示されるダイアログで、カスタムドメイン(例:[your-organization].com)、申請タイトル、任意の説明を入力します。次に、リクエストを選択します。
これにより承認タスクが作成され、エンロールメントの情報セキュリティ責任者による承認が必要になります。成功通知の表示を選択すると、Control Panel の承認申請に移動できます。
申請が承認されると、カスタムドメインがアプリケーションに関連付けられます。更新されたステータスを表示するには、ページを再読み込みする必要がある場合があります。Foundry へのログインに使用したドメインが、設定したカスタムドメインに関連付けられます。つまり、ネットワークイングレスと認証プロバイダーの設定は、このドメインから継承されます。
カスタムドメインの DNS 設定も更新し、Foundry 環境を指すようにする必要があります。DNS レコードの更新については、ドメインと証明書を設定するを参照してください。
カスタムドメインが承認され、設定が完了した後、そのカスタムドメイン配下に追加のサブドメインを登録したい場合があります。カスタムドメイン配下にサブドメインを登録するには、そのカスタムドメイン経由で Foundry にログインしている必要があります。デフォルトのエンロールメントドメインなど、別のドメイン経由でログインしている場合、Developer Console ではカスタムドメイン配下にサブドメインを登録する選択肢を利用できません。
たとえば、カスタムドメイン your-organization.com 配下のサブドメインとして app.your-organization.com を登録するには、まず your-organization.com にアクセスして Foundry にログインし、その後 Developer Console からサブドメインを申請する必要があります。
Foundry のデプロイメントによっては、特にエアギャップ環境やその他のネットワーク制限がある環境では、標準の自動化されたフローでワイルドカード DNS や証明書が設定されていない場合があります。このような場合、エンロールメントが Web サイトホスティングをサポートし、インフラストラクチャチームが次の設定を行っていれば、
Palantir サポートに連絡し、エンロールメントで外部管理ドメインの Web サイトホスティングを有効にするよう依頼してください。
Web サイトホスティングが有効になると、サブドメインで Web サイトをホストするで説明されている標準のワークフローを使用して、Developer Console アプリケーション用のサブドメインを申請してリンクできます。Developer Console の設定は変わりません。追加のインフラストラクチャ設定(イングレスルーティング、TLS 証明書、DNS)は、Developer Console のセットアップとは別に、ネットワークインフラストラクチャチームと調整する必要があります。
通常、この設定は .palantirfoundry.com で終わるドメインから提供されていないデプロイメントに必要です。このセットアップについては、Palantir サポートまたはインフラストラクチャチームにお問い合わせください。
開発者は、Developer Console の Web サイトホスティングのユーザーインターフェースを使用してアセットを手動でアップロードする方法と、@osdk/cli コマンドラインツールを使用する方法から選択できます。
@osdk/cli コマンドラインツールの詳細は、公開 npm リポジトリ ↗で確認できます。
次の手順では、前の手順で作成した圧縮アセットを Foundry にアップロードします。
ページのアセットセクションで、新しいアセットをアップロードを選択します。
zip アーカイブファイルをここにドロップするか、コンピューターから選択してアップロードを選択します。
アップロードが完了したら、プレビューを使用して本番環境へのデプロイ前にサイトをプレビューするか、以下に示すように ... オプションから本番環境にデプロイを選択します。
本番環境にデプロイを選択すると、そのバージョンがすべてのユーザーに提供されます。まずサイトをプレビューすることを推奨します。
次に、サイトを表示を選択して、デプロイしたサイトにアクセスします。
一部の Foundry エンロールメントでは、デプロイメントがライブになる前に、サイトアセットのスキャンや脆弱性スキャンが非同期で実行されます。エンロールメントでこのスキャンが必須になっている場合、アップロード直後にデプロイすると、スキャンがまだ完了していないため失敗する場合があります。
foundry.config.json で site.uploadOnly を true に設定します。
Copied!1 2 3 4 5{ "site": { "uploadOnly": true } }
この設定では、公開ステップで新しいバージョンのアップロードのみが行われ、本番環境への即時デプロイは試行されません。非同期スキャンが完了した後、Developer Console から希望するバージョンをライブバージョンとして手動でデプロイできます。
site.uploadOnly が false(デフォルト)に設定されている場合、公開プロセスではアップロードが行われ、その直後に本番環境へのデプロイが試行されます。非同期スキャンが有効なエンロールメントでは、アップロードに成功していても、タグのステータスが失敗になる場合があります。
Foundry でホストされる Web サイトは、Foundry のログイン資格情報を持つユーザーのみが利用できます。デフォルトでは、Developer Console アプリケーションにアクセスできるユーザーは、デプロイされたサイトにもアクセスできますが、通常はご自身と開発チームのみが該当します。 ほかの Foundry ユーザーがサイトにアクセスできるようにするには、左側の共有とトークンメニューに移動します。以下に示すように、ページのホストされた Web サイトを共有セクションでユーザーの名前を追加します。

[Web サイトホスティング]ページのアドバンスドタブで、追加の設定オプションを確認できます。
デフォルトでは、アプリケーションは、サブドメインからのリソースの読み込みのみを許可する、制限付きのコンテンツセキュリティポリシー (CSP) ↗ とともに配信されます。必要に応じて、アプリケーション内の特定のインタラクションに対して追加の CSP ルールを設定でき、それらはデフォルトのポリシーと統合されます。ただし、これらの変更により、クロスサイトスクリプティング (XSS) やデータインジェクション攻撃に対するアプリケーションの脆弱性が高まる可能性があることに注意してください。
以下の画像に示すコンテンツセキュリティポリシーセクションで、アプリケーションの CSP を制御できます。別の場所でホストされている画像やコンテンツを取得する場合や、外部サービスを呼び出す場合は、CSP の更新が重要です。

構文については、Mozilla のドキュメント ↗ を参照してください。これらの項目に対する検証は行われません。
ホストされたアプリケーションが、Foundry でホストされる別のアプリケーションからアセットを読み込む、またはそのアプリケーションにリクエストを送信する必要がある場合(たとえば、親アプリケーションが子アプリケーションから remoteEntry.js を取得するマイクロフロントエンドアーキテクチャの場合)、これらのクロスオリジンリクエストを許可する CORS ポリシーを設定する必要があります。
Control Panel で、アーティファクトの Web サイトのサブドメインに対する CORS を設定できます。ホストされたアプリケーション間のクロスオリジンリクエストを有効にするには、次の手順を実行します。
たとえば、parent-app.example.palantirfoundry.com が child-app.example.palantirfoundry.com からアセットを取得する必要がある場合は、子アプリケーションのサブドメインに対して、許可されたオリジンとして https://parent-app.example.palantirfoundry.com を追加します。
詳細については、CORS を設定するを参照してください。
Foundry は、拡張子や末尾のスラッシュの有無にかかわらず、ルートで HTML ページを配信できます。
Web サイトのファイルが次のように配置されている場合を考えます。
├── file.html
├── folder
│ └── index.html
├── both.html
└── both
└── index.html
Foundry は、次のルートでこれらの HTML ページを配信します。
| ルート | ファイル |
|---|---|
| /file | /file.html |
| /file/ | /file.html |
| /file.html | /file.html |
| /folder | /folder/index.html |
| /folder/ | /folder/index.html |
| /folder/index.html | /folder/index.html |
| /both | /both.html |
| /both.html | /both.html |
| /both/ | /both/index.html |
| /both/index.html | /both/index.html |
Foundry は、末尾のスラッシュを強制したり、ルートから拡張子を削除したりするなど、特定のルート形式へのリダイレクトは行いません。
Web サイトのルートに 404.html ページを追加して、ルートが一致しない場合にカスタムエラーページとして配信できます。これにより、シングルページアプリケーション (SPA) のレンダリングで説明されている、一致しないルートに対してルートの index.html ページを配信するデフォルトの動作が無効になります。
ホストされたフロントエンドアプリケーションをデプロイする際に、Web サイトの設定を編集すると「ページが見つかりません」と表示される、リリースがいつまでも完了しない、または「現在、お使いの環境では Web サイトホスティングがサポートされていません」という明示的な警告が表示されるなどの問題が発生した場合は、次の手順に従って問題を解決します。
エンロールメントで Web サイトホスティングが有効になり、アプリケーションでパブリック OAuth クライアントを使用していれば、ホストされたフロントエンドアプリケーションを正常にデプロイできるはずです。
SiteAssetScanning:ScanningInProgress エラーオントロジー SDK アプリケーションを初めてデプロイする際に、SiteAssetScanning:ScanningInProgress エラーが発生する場合があります。このエラーは、サイトのアセットスキャンがまだ実行中であり、初回のデプロイがブロックされているために発生します。
この問題を解決するには、次の手順を実行します。
初回のスキャンが完了すれば、以降のデプロイではこの問題は発生しないはずです。