制限付きアクセスを使用してデバイスコンテキストを渡す

制限付きアクセスでは、認証中にやり取りされるSAMLアサーションを通してデバイス・コンテキストを特定のSAMLアプリケーションに渡すようにOktaを構成できます。その後アプリケーションはその情報を使用して、アプリケーションを編集する許可やアプリケーションからファイルをダウンロードする許可など、特定のアプリ固有の動作にアクセスを制限できます。

この機能は以下のデバイスで使用できます。

  • Windows、macOS、iOS、Androidデバイス
  • デバイス・コンテキスト属性を消費できるカスタムおよびOIN SAMLアプリ統合

前提条件

Okta管理コンソールで、

  • Okta管理コンソールでDevice Trustを有効にする([Security(セキュリティ)]>[Device Trust]
  • アプリ統合用のDevice Trustサインオン・ポリシーを構成する(アプリの[Sign On(サインオン)]タブ)

詳細は、ご自分の実装に合ったDevice Trustのドキュメントを参照してください。

外部アプリの場合

SAMLアサーションで受け取ったデバイス・コンテキストを消費するように外部アプリケーションを構成し、そのコンテキストに基づいてコントロールする動作を指定します。

サポートされている属性値

この機能を構成すると、Oktaは、Oktaで構成された属性ステートメントおよびアプリ統合のサインオン・ポリシーに従って、以下の属性値の1つをSAMLアサーションの外部アプリケーションに渡します。

属性値

定義

TRUSTED(信頼) ユーザーのデバイスはOktaアプリ統合サインオン・ポリシーの定義によると信頼されています。
NOT_TRUSTED(非信頼) ユーザーのデバイスはOktaアプリ統合サインオン・ポリシーの定義によると信頼されていません。
UNKNOWN(不明) 以下のいずれか、または両方がTrueであるため、デバイス・コンテキストは不明です。
  • そのデバイスタイプに対してDevice Trustが有効になっていない([Security(セキュリティ)]>[Device Trust]
  • アプリ統合サインオン・ポリシーでDevice Trustが構成されていない(アプリの[Sign On(サインオン)]タブの[Sign On Policy(サインオン・ポリシー)]セクション)
  • 外部アプリに渡された属性値はセッション期間中、強制適用されます。
  • Okta式言語を使用して、Okta用語をISV固有用語にマップできます。

手順

  1. 前提条件を完了します。
  1. まだ行っていない場合は、Okta管理コンソールからカスタム・アプリ統合を作成するか、OINアプリ統合を追加します。
  2. アプリ統合に[Attribute Statement(属性ステートメント)]を追加します(詳細については、「属性ステートメントを定義する」を参照)。

    新しいアプリ統合を作成する際にステートメントを追加したり、既存のアプリ統合を編集したりできます。

  3. 新しいアプリ統合の場合:

    手順2:SAMLを構成する[Attribute Statements (Optional)(属性ステートメント(オプション))]セクションまでスクロールします。

    既存のアプリ統合の場合:

    カスタム・アプリ統合とOINアプリ統合のどちらを編集するかによって手順が異なります。

    カスタム・アプリ統合を編集する場合:

    1. Okta Admin Consoleで、[Applications(アプリケーション)]>[Applications(アプリケーション)]に移動します。
    2. カスタムSAMLアプリをクリックします。
    3. [General(一般)]タブに移動し、[SAML Settings(SAMLの設定)]セクションまでスクロールして、[Edit(編集)]をクリックします。
    4. [Next(次へ)]をクリックします。
    5. [Attribute Statements (Optional)(属性ステートメント(オプション))]セクションまでスクロールします。

    OINアプリ統合を編集する場合:

    1. Okta Admin Consoleで、[Applications(アプリケーション)]>[Applications(アプリケーション)]に移動します。
    2. OIN SAMLアプリ統合をクリックします。
    3. [Sign On(サインオン)]タブに移動して、[Edit(編集)]をクリックします。
    4. [Attribute Statements (Optional)(属性ステートメント(オプション))]セクションまでスクロールします。
  4. [Name(名前)]に、追加する属性の名前を入力します。
  5. このフィールドの最大文字数は512文字です。Name属性は、ユーザーとグループの属性ステートメント全体で一意である必要があります。

  6. [Name format(名前の形式)][Unspecified(指定なし)]を選択します。
  1. [Value(値)]で、[device.trusted(デバイス、信頼)]を選択します。
  2. このフィールドの最大文字数は1024文字です。

    Okta式言語を使用して、値をユース・ケースの必要に応じて変換できます。

    たとえば、信頼されているデバイス・コンテキスト用のOkta用語を関連するSalesforce用語にマップするには、[Value(値)]フィールドにこのステートメントを入力します。

    device.trusted == "TRUSTED" ? "HIGH ASSURANCE" : "STANDARD"

    上記のステートメントは用語を以下のように変換します。

    Oktaデバイス・コンテキスト属性

    Salesforce用語

    TRUSTED(信頼) HIGH ASSURANCE(高アシュアランス)
    NOT_TRUSTED(非信頼) STANDARD(標準)
    UNKNOWN(不明) STANDARD(標準)
  3. ステートメント行を追加するには、[Add Another(もう1つ追加)]をクリックします。必要な属性定義が完了するまでこの手順を繰り返します。
  4. [Next(次へ)]をクリックします。
  5. 完了したら、[Finish(終了)]をクリックします。

属性ステートメントの詳細

以下はSAMLアサーションを通して外部アプリに送信された非信頼デバイスのデバイスコンテキストを示す属性ステートメントです。

<?xml version="1.0"?>

<saml2:AttributeStatement xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">

<saml2:Attribute Name="DeviceTrustSignal" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">

<saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">NOT_TRUSTED</saml2:AttributeValue>

</saml2:Attribute>

</saml2:AttributeStatement>

関連項目

Okta Device Trustソリューション

SAMLアプリ統合を作成する

既存のアプリ統合を追加する

カスタムアプリ統合を作成する

Okta式言語