> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sambanova.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 認証

本ページでは、SambaStack クラスターに設定できるカスタム認証の構成について説明します。

## カスタム OIDC 設定

> [tab] SambaStack オンプレミス / エアギャップ
>
> SambaStack を貴組織の ID プロバイダーと連携させるには、カスタム OIDC 認証を設定します。
>
> ### ステップ 1: 必要な値の収集
>
> | **入手元** | **値** |
> | :- | :- |
> | OIDC プロバイダーから提供 | `OIDC_CLIENT_ID`, `OIDC_CLIENT_SECRET`, `OIDC_ISSUER_URL`, `OIDC_REDIRECT_URI` |
> | 作成するランダム文字列 | `JWT_SECRET_KEY` |
>
> これらは、環境変数 `OIDC_CLIENT_ID`、`OIDC_CLIENT_SECRET`、`OIDC_ISSUER_URL`、`OIDC_REDIRECT_URI`、`JWT_SECRET_KEY` に対応します。
>
> > [!NOTE]
> >
> > 値は、平文で指定した場合でも、アップロード時に base64 エンコードされます。
>
> ### ステップ 2: Kubernetes Secret の作成
>
> シークレットを作成するため、OIDC プロバイダーの詳細を記載した `oidc-auth.yaml` という名前のファイルを作成します。
>
> ```yaml theme={}
> apiVersion: v1
> kind: Secret
> metadata:
>   name: oidc-auth
>   namespace: sambastack
> stringData:
>   OIDC_CLIENT_ID: "<client-id>"
>   OIDC_CLIENT_SECRET: "<client-secret>"
>   OIDC_ISSUER_URL: "<oidc-issuer-url>"
>   OIDC_REDIRECT_URI: "https://ui.<yourdomain>/web/auth/callback"
>   JWT_SECRET_KEY: "<random-string>"
> ```
>
> プレースホルダを実際の値に置き換えます (値は平文で指定します)。
>
> * `<client-id>`: OIDC クライアント ID
>
> * `<client-secret>`: OIDC クライアントシークレット
>
> * `<oidc-issuer-url>`: ID プロバイダーから提供される一意の URL
>
> * `<yourdomain>`: 貴組織のドメイン
>
> * `<random-string>`: JWT 署名用に安全に生成されたランダム文字列
>
> > [!NOTE]
> >
> > SambaNova は、引き渡し時に完全なレジストリ URL とバージョン番号を提供します。アクセス用の認証情報については、SambaNova の担当者にお問い合わせください。
>
> > [!NOTE]
> >
> > `OIDC_REDIRECT_URI` が UI ドメインのコールバックエンドポイント `https://ui.<yourdomain>/web/auth/callback` と一致していることを確認してください。
>
> ### ステップ 3: Secret の適用
>
> ```bash theme={}
> kubectl apply -f oidc-auth.yaml
> ```
>
> ### ステップ 4: `sambastack.yaml` の更新
>
> `sambastack.yaml` に OIDC 設定を追加します。
>
> ```yaml theme={}
> gateway:
>   replicas: 3
>   auth:
>     enabled: true
>     secretName: oidc-auth     # Must match the oidc-auth secret name
> ```
>
> > [!NOTE]
> >
> > 完全な例については、[SambaStack.yaml リファレンス](https://docs.sambanova.ai/docs/ja/v2.1.2/sambastack/resources/sambastack-yaml.md) をご覧ください。
>
> ### ステップ 5: 設定の適用
>
> Helm デプロイメントを更新します。
>
> #### オンプレミス
>
> ```bash theme={}
> helm upgrade sambastack \
>   -f sambastack.yaml \
>   --namespace sambastack \
>   oci://<REGISTRY_URL>/sambastack/sambastack
> ```
>
> #### エアギャップ
>
> OCI レジストリパスの代わりに、ローカルにある Helm チャートのコピーを使用します。
>
> ```shellscript theme={}
> helm upgrade sambastack \
>   -f sambastack.yaml \
>   --namespace sambastack \
>   sambastack-<VERSION>.tgz
> ```
>
> > [!NOTE]
> >
> > `sambastack-<VERSION>.tgz` は、アップグレードに使用する Helm チャートのローカルコピーです。さらにサポートが必要な場合は、SambaNova のサポート窓口までお問い合わせください。

> [tab] SambaStack Hosted
>
> SambaStack を貴組織の ID プロバイダーと連携させるには、カスタム OIDC 認証を設定します。
>
> ### ステップ 1: 必要な値の収集
>
> | **入手元** | **値** |
> | :- | :- |
> | OIDC プロバイダーから提供 | `OIDC_CLIENT_ID`, `OIDC_CLIENT_SECRET`, `OIDC_ISSUER_URL`, `OIDC_REDIRECT_URI` |
> | 作成するランダム文字列 | `JWT_SECRET_KEY` |
>
> これらは、環境変数 `OIDC_CLIENT_ID`、`OIDC_CLIENT_SECRET`、`OIDC_ISSUER_URL`、`OIDC_REDIRECT_URI`、`JWT_SECRET_KEY` に対応します。
>
> > [!NOTE]
> >
> > 値は、平文で指定した場合でも、アップロード時に base64 エンコードされます。
>
> ### ステップ 2: Kubernetes Secret の作成
>
> シークレットを作成するため、OIDC プロバイダーの詳細を記載した `oidc-auth.yaml` という名前のファイルを作成します。
>
> ```yaml theme={}
> apiVersion: v1
> kind: Secret
> metadata:
>   name: oidc-auth
>   namespace: sambastack
> stringData:
>   OIDC_CLIENT_ID: "<client-id>"
>   OIDC_CLIENT_SECRET: "<client-secret>"
>   OIDC_ISSUER_URL: "<oidc-issuer-url>"
>   OIDC_REDIRECT_URI: "https://ui.<yourdomain>/web/auth/callback"
>   JWT_SECRET_KEY: "<random-string>"
> ```
>
> プレースホルダを実際の値に置き換えます (値は平文で指定します)。
>
> * `<client-id>`: OIDC クライアント ID
>
> * `<client-secret>`: OIDC クライアントシークレット
>
> * `<oidc-issuer-url>`: ID プロバイダーから提供される一意の URL
>
> * `<yourdomain>`: 貴組織のドメイン
>
> * `<random-string>`: JWT 署名用に安全に生成されたランダム文字列
>
> > [!NOTE]
> >
> > SambaNova は、引き渡し時に完全なレジストリ URL とバージョン番号を提供します。アクセス用の認証情報については、SambaNova の担当者にお問い合わせください。
>
> > [!NOTE]
> >
> > `OIDC_REDIRECT_URI` が UI ドメインのコールバックエンドポイント `https://ui.<yourdomain>/web/auth/callback` と一致していることを確認してください。
>
> ### ステップ 3: Secret の適用
>
> ```bash theme={}
> kubectl apply -f oidc-auth.yaml
> ```
>
> ### ステップ 4: `sambastack.yaml` の更新
>
> `sambastack.yaml` に OIDC 設定を追加します。
>
> ```yaml theme={}
> gateway:
>   replicas: 3
>   auth:
>     enabled: true
>     secretName: oidc-auth     # Must match the oidc-auth secret name
> ```
>
> > [!NOTE]
> >
> > 完全な例については、[SambaStack.yaml リファレンス](https://docs.sambanova.ai/docs/ja/v2.1.2/sambastack/resources/sambastack-yaml.md) をご覧ください。
>
> ### ステップ 5: 設定の適用
>
> ```bash theme={}
> kubectl apply -f sambastack.yaml
> ```
>
> シークレットを確認します。
>
> ```shellscript theme={}
> kubectl get secret | grep oidc
> ```
>
> 出力例:
>
> ```text theme={}
> oidc-auth                      Opaque           5          10s
> sambastack-oidc-auth           Opaque           5          7m53s
> ```

## Keycloak によるユーザー管理

Keycloak を主要な認証ツールとして使用する場合、認証設定の構成の詳細については、[Keycloak Server Administration Guide](https://www.keycloak.org/docs/latest/server_admin/index.html#proc-creating-user_server_administration_guide)（英語）をご参照ください。

> [!NOTE]
>
> Keycloak は以下の機能もサポートしています。
>
> 1. [**ログインアクティビティの追跡**](https://www.keycloak.org/docs/latest/server_admin/#configuring-auditing-to-track-events): イベント種別 (ログイン、ログアウト、登録) ごとに、ユーザーアクティビティの表示・エクスポート・フィルタリングができます。
> 2. [**LDAP 連携**](https://www.keycloak.org/docs/latest/server_admin/index.html#_ldap): 複数の LDAP/AD サーバーを単一の Keycloak realm にフェデレーションし、LDAP のユーザー属性を Keycloak の共通ユーザーモデルにマッピングできます。
