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

# SCEP Library Itemの設定

> Iru EndpointでSCEP Library Itemを設定し、SCEPサーバからAppleデバイスおよびWindowsコンピュータにデバイス証明書を発行します。

<Callout icon="list-check" color="#B84A7A" iconType="regular">このLibrary ItemはAppleデバイスおよびWindowsコンピュータで利用できます</Callout>
**Simple Certificate Enrollment Protocol（SCEP）**プロファイルを使用すると、SCEPサーバと認証局（CA）からデバイスに証明書を安全に発行できます。これらの証明書は、802.1x、VPN、認証などのサービスに使用できます。
IruのSCEP Profile機能は、**Appleデバイス**と**Windowsコンピュータ**に証明書を自動的に配布および再配布します。証明書はユーザ単位ではなく、マシンレベルで配信されます。

<Note>
  SCEP Library Itemでは静的チャレンジのみを使用できます。
</Note>

## SCEP Profile Library Itemを作成する

開始する前に、Iruテナントにログインします。
このLibrary ItemをIru Endpoint Libraryに追加するには、[Libraryの概要](/ja/endpoint/library/library-items-profiles/library-overview)の記事の手順に従ってください。

<Steps>
  <Step title="Libraryに移動する">
    **Library**に移動し、**Library Item を追加**を選択します。
  </Step>

  <Step title="SCEPを選択する">
    **SCEP**を検索して選択します。
  </Step>

  <Step title="Library Itemに名前を付ける">
    SCEP Library Itemにわかりやすい名前を付けます。
  </Step>

  <Step title="プラットフォームを選択する">
    **インストール先**で、プロファイルを適用するプラットフォームを選択します。
  </Step>

  <Step title="Blueprintsを選択する">
    使用する[Blueprints](/ja/endpoint/getting-started/blueprints-and-library/configuring-blueprints)を選択します。
  </Step>

  <Step title="SCEPサーバのURLを入力する">
    SCEPサーバのベースURLを入力します。
  </Step>

  <Step title="表示設定を構成する">
    必要に応じて、表示用の**名前**、**Challenge**、**Fingerprint**を追加します。
  </Step>

  <Step title="サブジェクト設定を構成する">
    **件名**（任意）と**Subject Alternative Name Type**を設定します。
  </Step>

  <Step title="鍵の設定を構成する">
    **Key Size**と**Key Usage**を設定します。
  </Step>

  <Step title="追加の設定を構成する">
    必要に応じて、再試行、アクセス、エクスポート、有効期限、再配布の設定を追加します。
  </Step>
</Steps>

## 一般設定

* **URL**
  SCEPサーバのベースURL（`scep.example.org`など）。
* **名前**（任意）
  複数の証明書を使用する場合に、このCAを区別するためのラベル。
* **チャレンジ**
  自動登録用の事前共有シークレット文字列。**Windows**では、特定の文字のみ使用できます。Windows固有のオプションの**SCEP Challenge characters**を参照してください。
* **フィンガープリント**
  16進文字列形式の認証局のフィンガープリント。

### サブジェクトの構成

* **サブジェクト**
  X.500形式の識別名。次のような[グローバル変数](/ja/endpoint/library/library-items-profiles/global-variables)を使用できます。
  * `CN=$SERIAL_NUMBER`
* **サブジェクト代替名 (SAN)**
  次のような[グローバル変数](/ja/endpoint/library/library-items-profiles/global-variables)を含む代替識別子を追加します。
  * `RFC 822 Name` = `$DEVICE_NAME`

## 鍵の設定

* **キーサイズ**
  鍵のサイズ（1024、2048、または4096ビット）を選択します。
* **キー使用法**
  オプション：
  * 署名
  * 暗号化
  * 署名と暗号化の両方

## 追加オプション

* **再試行回数**
  サーバが*PENDING*応答を送信した場合に再試行する回数。
* **プロファイルの自動再配布**
  有効にすると、Iruは証明書の有効期限を確認し、有効期限が近づくと新しい証明書を自動的に再発行します。

<Note>
  更新は、証明書が再配布期間内に入った場合にのみ開始されます。再配布期間は有効期限の少なくとも5日前である必要があります。これにより、発行直後など、証明書が早すぎるタイミングで更新されるのを防ぎます。
</Note>

* 更新時、Iruは`$PROFILE_UUID`変数をSubjectに追加します。

## プラットフォーム固有のオプション

<Tabs>
  <Tab title="Apple">
    ### Apple固有のオプション

    * **再試行の遅延**
      再試行の間隔（秒）。
    * **すべてのアプリに秘密鍵へのアクセスを許可**
      キーチェーン内の秘密鍵へのアクセスをすべてのアプリに許可します。
    * **秘密鍵の抽出を防止**
      キーチェーンからの秘密鍵のエクスポートを防止します。セキュリティを高めるため、この設定を有効にしてください。
    * **証明書の有効期限通知**
      macOSで証明書の有効期限が近づくと通知を送信します。

    <Note>
      Appleデバイスで**Automatic profile redistribution**が有効になっている場合、証明書にユーザ情報が必要なときは、Subject Alternative Names（SAN）にユーザのグローバル変数を指定してください。証明書の更新を追跡するために、Wi-Fi Library ItemのIDが証明書のサブジェクトのCommon Nameに追加されるため、これが必要になります。
    </Note>
  </Tab>

  <Tab title="Windows">
    ### Windows固有のオプション

    * **ハッシュアルゴリズム**
      アルゴリズム（SHA-256など）を選択します。
    * **再試行の待機時間 (分)**
      *PENDING*応答時の再試行の待機時間。

    <Note>
      Windowsでの最大再試行回数は30回です。
    </Note>

    * **拡張キー使用法**
      *Client authentication*などの追加の用途を追加します。
    * **キーの保護**
      秘密鍵の保存場所を選択します。セキュリティを高めるため、**Prevent the private key data from being extracted**を有効にしてください。
    * **有効期間**
      証明書の有効期間を設定します。

    <Note>
      有効期間には、少なくとも5日間の更新期間が必要です。たとえば、証明書の有効期間が10日間の場合、有効期限の5日前に自動再配布を開始するように設定できます。それより短い期間（10日間の証明書で7日前など）は設定できません。発行直後に更新を試みることになるためです。
    </Note>

    * **SCEP チャレンジの文字**
      Windowsでは、**Challenge**フィールドには英字（A-Zおよびa-z）、数字（0-9）、スペース、および`' ( ) + , - . / : = ?`のみを使用できます。

      次の文字は使用**できません**。

      ```
      @ # $ % & * _ ; < > " [ ] { } | \ ^ ~ `
      ```

      ASCII以外の文字やUnicode文字も使用できません。

      登録に失敗した場合は、サーバやネットワークの設定を変更する前に、チャレンジに使用できない文字が含まれていないか確認してください。
  </Tab>
</Tabs>

## 重要な考慮事項

### プロファイルの再配布

自動プロファイル再配布は、証明書の有効期限が切れる前に更新するため、ダウンタイムを回避し、認証を円滑に機能させ続けることができます。

### 鍵の抽出の防止

**Prevent the private key data from being extracted**を有効にすると、エンドユーザが秘密鍵をエクスポートできなくなります。セキュリティを高めるため、これを有効にしてください。

## ベストプラクティス

<Steps>
  <Step title="証明書のライフサイクルを計画する">
    証明書の有効期間と更新期間を設定し、サービスが中断なく稼働し続けるようにします。
  </Step>

  <Step title="チャレンジシークレットを保護する">
    不正な登録を防ぐため、SCEP構成ごとに強力で一意のチャレンジシークレットを使用します。
  </Step>

  <Step title="証明書のステータスを監視する">
    証明書の登録と更新のステータスを定期的に確認し、問題をすばやく発見して修正できるようにします。
  </Step>

  <Step title="構成をテストする">
    まず少数のデバイスでSCEP構成をテストします。これにより、フリート全体に影響が及ぶ前に問題を発見できます。
  </Step>
</Steps>

## トラブルシューティング

<AccordionGroup>
  <Accordion title="WindowsでSCEPチャレンジが失敗する（無効な文字）">
    **考えられる原因：**

    * **Challenge**の値にWindowsで許可されていない文字（`_`など）が含まれている
    * チャレンジにASCII以外の文字またはUnicode文字が含まれている

    **解決策：**

    * **Challenge**を、Windows固有のオプションの**SCEP Challenge characters**にある使用可能な文字の一覧と比較する
    * 使用できない文字を削除または置換してから、Library Itemを保存する。チャレンジにアンダースコアが含まれていたために、使用可能な文字のみを使用するようにチャレンジを更新するまで登録が失敗した事例があります
    * 更新されたプロファイルが適用されるように、デバイスのチェックインまたは同期を待つ
  </Accordion>

  <Accordion title="証明書の登録が失敗する">
    **考えられる原因：**

    * SCEPサーバのURLが正しくない
    * チャレンジシークレットが無効
    * ネットワーク接続の問題
    * 認証局のフィンガープリントの不一致
      **解決策：**
    * SCEPサーバのURLとアクセス可能性を確認する
    * チャレンジシークレットがサーバの構成と一致していることを確認する
    * ネットワーク接続とファイアウォールルールを確認する
    * 認証局のフィンガープリントを検証する
  </Accordion>

  <Accordion title="証明書の更新に関する問題">
    **考えられる原因：**

    * 更新期間が短すぎる
    * SCEPサーバが応答しない
    * 証明書の有効期間の競合
      **解決策：**
    * 更新期間が有効期限の少なくとも5日前であることを確認する
    * SCEPサーバの可用性とログを確認する
    * 証明書の有効期間の構成を確認する
  </Accordion>

  <Accordion title="秘密鍵へのアクセスに関する問題">
    **考えられる原因：**

    * 鍵の保護設定が厳しすぎる
    * キーチェーンのアクセス権限
    * アプリケーション固有の鍵アクセス要件
      **解決策：**
    * 鍵の保護とアクセスの設定を見直す
    * アプリケーションのキーチェーンの権限を確認する
    * 必要なアプリケーションに適切な鍵アクセスを構成する
  </Accordion>
</AccordionGroup>

## セキュリティに関する考慮事項

<CardGroup cols={2}>
  <Card title="チャレンジのセキュリティ" icon="shield">
    不正な登録を防ぐため、強力で一意のチャレンジシークレットを使用し、定期的にローテーションしてください。
  </Card>

  <Card title="鍵の保護" icon="lock">
    秘密鍵の抽出防止を有効にして、証明書を安全に保ちます。
  </Card>

  <Card title="証明書の監視" icon="eye">
    証明書の登録と更新のアクティビティを監視して、セキュリティの問題を発見します。
  </Card>

  <Card title="アクセス制御" icon="user">
    アプリケーションのニーズに基づいて鍵のアクセス権限を設定します。
  </Card>
</CardGroup>
