注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
OpenID Connect (OIDC) ↗ は、OIDC とも呼ばれるオープンな認証プロトコルで、固定の資格情報を使わずに外部ソースのリソースに対して認証できます。
OIDC を使用する場合、Foundry でソースシステムの資格情報を設定する必要はありません。そのため、ソースシステムの資格情報を有効期間の長いシークレットとして Foundry に複製せずに済みます。代わりに、Foundry とソースシステムの間に信頼関係を設定します。Foundry は OIDC の IDプロバイダーとして機能します。Foundry のワークフロー(たとえば、Data Connection の同期)でソースシステムへの認証が必要になるたびに、使用している Data Connection ソースを識別するクレームを含む OIDC トークンを Foundry が発行します。ソースシステムはこれらのクレームを検証し、以降のソースシステムとのインタラクションに使用できる、有効期間の短いアクセストークンを提供できます。アクセストークンのスコープ(アクセスを許可するリソースなど)は、ソースシステムで利用可能なネイティブの認証および認可ツールを使用して、ソースシステム内で完全に管理されます。信頼関係を設定する際に、条件を追加して受信リクエストを絞り込めます。信頼されていない Foundry ソースは、アクセスを許可されていないソースシステム内のリソースに対するアクセストークンをリクエストできません。
次のソースは OIDC 認証をサポートしています。OIDC と Palantir の間の信頼関係を設定する方法の詳細については、各ソースのドキュメントを参照してください。
以下は、Foundry が生成する OIDC トークンの例です。
{
"iss": "https://pltroidcpublicexample.blob.store.com/foundry",
"sub": "ri.magritte..source.7f3b8e21-4d9a-6c2e-1b7d-8a5f3c9e0b4f",
"aud": "your-source-system-audience",
"iat": <issued-at>,
"nbf": <not-before>,
"exp": <expiry>,
"jti": "<token-unique-identifier>",
"scp": "<additional-scope>",
}
| クレーム | クレームの種類 | 説明 |
|---|---|---|
| iss | 発行者 URL | Foundry を OIDC の IDプロバイダーとして識別する URL。 |
| sub | サブジェクト | ソースシステムに接続する Foundry ソースのソース RID。 |
| aud | オーディエンス | ソースシステムを識別する、設定済みのオーディエンス。 |
信頼されていない Foundry ソースがリソースにアクセスできないように、source-rid を使用して受信リクエストを絞り込んでください。
Foundry が生成する OIDC トークンは1時間後に有効期限が切れます。
OIDC トークンは、Data Connection の同期だけでなく、外部トランスフォーム、外部関数、Compute Module などの Python 環境でも利用可能です。Python でのソースのドキュメントで説明されているように、ソースの get_session_credentials() を使用してトークンを取得および更新します。
トークンの使用方法はソースシステムによって異なります。Foundry が発行したトークンを OAuth トークンとして直接受け入れるシステムもあれば、リクエストを送信する前に、ソースシステムが発行する資格情報と交換する必要があるシステムもあります。完全な例については、ソースの種類に応じたドキュメントを確認してください。
トークンは1時間後に有効期限が切れるため、長時間実行されるジョブでは、ジョブの開始時に取得したトークンを再利用するのではなく、ソースに新しいトークンをリクエストしてください。