> ## 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.

# Single Sign-On Extension Library Itemの設定

> Iru EndpointでSSO Extension Library Itemを設定し、Mac、iPhone、iPadデバイスのアプリとWebサイト全体でシングルサインオンを有効にします。

<Callout icon="apple" color="#B84A7A" iconType="regular">このLibrary ItemはAppleデバイスで利用できます</Callout>

## Single Sign-On Extensionとは？

シングルサインオン（SSO）拡張機能は、AppleのExtensible Enterprise Single Sign-onフレームワークを使用するmacOS、iOS、iPadOS、visionOS向けのアプリケーションの一種です。これらのアプリケーション（*拡張機能*）により、IDプロバイダ（IdP）は、ネイティブのmacOSアプリケーションやブラウザ全体でユーザのサインイン状態を維持するアプリケーションを構築できます。これにより、拡張機能に一度サインインするだけで、macOS、iOS、iPadOS、visionOS全体で認証されます。SSO拡張機能では、ユーザのローカルmacOSパスワードをIdPのパスワードと同期することもできます。

<Warning>
  Okta Device Trustを展開する場合、SSO拡張機能の機能はOkta Device Trustの展開に含まれているため、このSingle Sign-On Extensionを別途展開する必要はありません。
</Warning>

## Single Sign-On Extensionを展開するには？

* iOS、iPadOS、visionOSの拡張機能の場合は、まずApple BusinessまたはApple School ManagerからApps and Booksを使用して、SSO拡張機能を含むアプリを配信する必要があります。
* macOSの拡張機能の場合は、まずApple BusinessまたはApple School ManagerからApps and Booksを使用するか、IruのCustom Appを使用して、SSO拡張機能を含むアプリを配信する必要があります。
* 拡張機能を配信した後、Single Sign-Onプロファイルを構成してデバイスに配信します。

## Single Sign-On Extensionプロファイルを構成する

このLibrary ItemをIru Endpoint Libraryに追加するには、[Libraryの概要](/ja/endpoint/library/library-items-profiles/library-overview)の記事に記載されている手順に従ってください。

<Steps>
  <Step title="Library Itemに名前を付ける">
    新しいSingle Sign-On Extension Library Itemに**名前**を付けます。
  </Step>

  <Step title="Blueprintsに割り当てる">
    目的の[Blueprints](/ja/endpoint/getting-started/blueprints-and-library/configuring-blueprints)に割り当てます。
  </Step>
</Steps>

### Redirect

<Steps>
  <Step title="拡張機能の種類を選択する">
    **拡張機能の種類**はサインオン認証の種類です。**Redirect**を選択します。
  </Step>

  <Step title="拡張機能の識別子を構成する">
    **Extension identifier**は、シングルサインオンを実行するApp Extensionのバンドル識別子です。アプリの*info.plist*ファイルで確認できます。
  </Step>

  <Step title="チーム識別子を設定する">
    **Team identifier**は、シングルサインオンを実行するApp Extensionのチーム識別子です。Library ItemがMacコンピュータに割り当てられている場合は必須で、10文字の英数字の文字列である必要があります。
  </Step>

  <Step title="URLを構成する">
    **URLs**は、拡張機能がサインインを行うIDプロバイダのURLプレフィックスです。プレフィックスごとに**追加**を選択します。

    クエリパラメータとURLフラグメントは使用できません。各URLは`http://`または`https://`で始まる必要があり、デバイスにインストールされているSingle Sign-On Extensionプロファイル全体で一意である必要があります。
  </Step>

  <Step title="拒否するバンドル識別子を設定する">
    **Denied Bundle Identifiers**は、この拡張機能のSSOを使用すべきでないアプリのバンドル識別子です。アプリごとに**Add Bundle Identifier**を選択します。これはiOS 15以降、iPadOS 15以降、macOS 12以降に適用されます。
  </Step>

  <Step title="画面ロック時の動作を設定する">
    **Screen locked behavior**は、画面がロックされているときの拡張機能の動作を設定します。デフォルトは**未構成**です。

    * **未構成**：Iruはこの設定を送信しません。
    * **キャンセル**：画面がロックされている間の認証要求をキャンセルします。
    * **Do not handle**：画面がロックされている間の認証要求を処理しません。
  </Step>

  <Step title="追加の拡張機能設定を構成する">
    拡張機能に追加の構成データが必要な場合は、**Set additional extension configuration**を選択します。
  </Step>
</Steps>

Platform SSOは**Redirect**でのみ利用できます。これらの拡張機能の設定の後、[Platform Single Sign-Onの構成](/ja/endpoint/library/library-items-profiles/configure-platform-single-sign-on)に進んでください。その他の拡張機能の種類については、[Credential](#credential)または[Kerberos](#kerberos)に進んでください。

<Note>
  **OpenID**を使用する予定の場合は、IDプロバイダに問い合わせて、Platform SSOでOpenIDがサポートされていることを確認してください。
</Note>

### Credential

**Credential**ではPlatform SSOは利用できません。

<Steps>
  <Step title="拡張機能の種類を選択する">
    **拡張機能の種類**で**Credential**を選択します。
  </Step>

  <Step title="拡張機能の識別子を構成する">
    **Extension identifier**は、シングルサインオンを実行するApp Extensionのバンドル識別子です。アプリの*info.plist*ファイルで確認できます。
  </Step>

  <Step title="チーム識別子を設定する">
    **Team identifier**は、シングルサインオンを実行するApp Extensionのチーム識別子です。Library ItemがMacコンピュータに割り当てられている場合は必須で、10文字の英数字の文字列である必要があります。
  </Step>

  <Step title="レルムを設定する">
    **Realm**は任意です。資格情報の正しく大文字化されたレルム名を入力します。
  </Step>

  <Step title="ホストを設定する">
    **Hosts**は、拡張機能が認証できるドメインまたはホスト名です。名前ごとに**追加**を選択します。各名前は、デバイスにインストールされているSingle Sign-On Extensionプロファイル全体で一意である必要があります。
  </Step>

  <Step title="拒否するバンドル識別子を設定する">
    **Denied Bundle Identifiers**は、この拡張機能のSSOを使用すべきでないアプリのバンドル識別子です。アプリごとに**Add Bundle Identifier**を選択します。これはiOS 15以降、iPadOS 15以降、macOS 12以降に適用されます。
  </Step>

  <Step title="画面ロック時の動作を設定する">
    **Screen locked behavior**は、画面がロックされているときの拡張機能の動作を設定します。デフォルトは**未構成**です。

    * **未構成**：Iruはこの設定を送信しません。
    * **キャンセル**：画面がロックされている間の認証要求をキャンセルします。
    * **Do not handle**：画面がロックされている間の認証要求を処理しません。
  </Step>

  <Step title="追加の拡張機能設定を構成する">
    拡張機能に必要なその他の構成データを入力するには、**Set additional extension configuration**を選択します。
  </Step>
</Steps>

### Kerberos

**Kerberos**ではPlatform SSOは利用できません。AppleのKerberos拡張機能には次の手順を使用します。

<Steps>
  <Step title="拡張機能の種類を選択する">
    **拡張機能の種類**で**Kerberos**を選択します。
  </Step>

  <Step title="レルムを設定する">
    **Realm**は必須です。Active Directoryドメイン名を大文字にしたものなど、正しく大文字化されたレルム名を入力します。たとえば、accuhive.ioは`ACCUHIVE.IO`になります。
  </Step>

  <Step title="ホストを設定する">
    **Hosts**は、拡張機能が認証できるドメインまたはホスト名です。名前ごとに**追加**を選択します。各名前は、デバイスにインストールされているSingle Sign-On Extensionプロファイル全体で一意である必要があります。

    **Hosts**は空のままにすることもできます。エンタープライズアプリケーションがAD FSを使用しており、AD FSがKerberos認証を受け入れる場合は、AD FSのホスト（例：`adfs.accuhive.io`）を追加します。
  </Step>

  <Step title="画面ロック時の動作を設定する">
    **Screen locked behavior**は、画面がロックされているときの拡張機能の動作を設定します。デフォルトは**未構成**です。

    * **未構成**：Iruはこの設定を送信しません。
    * **キャンセル**：画面がロックされている間の認証要求をキャンセルします。
    * **Do not handle**：画面がロックされている間の認証要求を処理しません。
  </Step>
</Steps>

#### パスワードオプション

チェックボックスを選択すると、その設定が送信されます。一部のチェックボックスでは、入力する値が表示されます。

* **Disallow automatic login**：パスワードはキーチェーンに保存されません。
* **Disallow password change**：パスワードの変更を無効にします。macOS 10.15以降で利用できます。
* **Require complex passwords**：パスワードはActive Directoryの複雑さの定義を満たす必要があります。macOS 10.15以降で利用できます。
* **Password history**：このドメインで再利用できない過去のパスワードの数を入力します。macOS 10.15以降で利用できます。
* **Password length**：このドメインのパスワードの最小文字数を入力します。macOS 10.15以降で利用できます。
* **Sync password with local user**：Active Directoryのパスワードをローカルユーザのパスワードとして使用します。ユーザがモバイルアカウントでログインしている場合は機能しません。macOS 10.15以降で利用できます。
* **Change password URL**：パスワード変更時に拡張機能が開くURLを入力します。macOS 10.15.4以降で利用できます。
* **Password expiration notification**：パスワードの有効期限の何日前からユーザに通知を表示するかを入力します。
* **Minimum password age**：このドメインでパスワードを変更できるようになるまでの最小日数を入力します。

#### 詳細

チェックボックスを選択すると、その設定が送信されます。一部のチェックボックスでは、入力する値が表示されます。

* **Bundle ID access**：チケット認可チケット（TGT）へのアクセスを許可するバンドルIDごとに**追加**を選択します。
* **Autofill username**：プリンシパル名を入力します。レルムは含めないでください。
* **Default realm**：複数のKerberos拡張機能の構成がインストールされている場合に、このレルムを使用します。
* **Require user presence**：キーチェーン項目にアクセスするには、ユーザがTouch ID、Face ID、またはパスコードを入力する必要があります。
* **Site Code**：Kerberos拡張機能が使用するActive Directoryサイトを入力します。ほとんどの管理者は設定しないままで構いません。通常、拡張機能はサイトを自動的に検出できます。
* **Disable Autodiscover for site name**：拡張機能は、LDAPとDNSを使用してActive Directoryのサイト名を判断しません。
* **Custom Username Label**：**ユーザー名**の代わりに表示するラベルを入力します。たとえば、Company IDなどです。macOS 11以降で利用できます。
* **Delay User Setup**：管理者が`app-sso`ツールで有効にするか、Kerberosチャレンジを受信するまで、Kerberos拡張機能の設定をユーザに求めません。macOS 11以降で利用できます。
* **Help Text**：ヘルプ情報や免責事項など、Kerberosログインウインドウの下部に表示するテキストを入力します。iOS 14以降およびmacOS 11以降で利用できます。
* **Include Managed Apps in Bundle ACL**：**Bundle ID access**のバンドルIDに加えて、管理対象アプリのみが資格情報にアクセスして使用できます。iOS 14以降で利用できます。
* **Disable Monitor Credentials Cache**：資格情報は、次に一致するKerberosチャレンジまたはネットワークの変更時に要求されます。資格情報の有効期限が切れているか存在しない場合は、新しい資格情報が作成されます。macOS 11以降で利用できます。
* **Disallow smart card**：ユーザはインターフェイスをスマートカードモードに切り替えることができません。macOS 15以降で利用できます。
* **Disallow password**：ユーザはインターフェイスをパスワードモードに切り替えることができません。macOS 15以降で利用できます。
* **Start in smart card mode**：インターフェイスはスマートカードモードで起動します。macOS 15以降で利用できます。
* **Smart Card Identity Issuer Auto Select Filter**：ワイルドカードを含む文字列を入力して、利用可能なスマートカードを発行者でフィルタリングします。1枚のカードが残った場合は自動的に選択されます。複数残った場合は、リストが短くなります。
