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

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

orgがIdentity Engineを使用しているときは、こちらのトピックを参照してください。

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

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

前提条件

Okta Admin Consoleで:

  • Okta Admin ConsoleでDevice Trustを有効にする([Security(セキュリティ)][Device Trust]
  • アプリ統合向けのDevice Trustサインオンポリシーを構成する(アプリの[Sign On(サインオン)]タブ)

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

外部アプリの場合

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

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

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

属性値

定義

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

手順

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

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

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

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

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

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

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

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

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

    1. Admin Consoleで、[Applications(アプリケーション)][Applications(アプリケーション)]に移動します。
    2. OIN SAMLアプリ統合をクリックします。
    3. [Sign On(サインオン)]タブに移動して、[Edit(編集)]をクリックします。
    4. [Attribute Statements (Optional)(属性ステートメント(オプション))]セクションまでスクロールします。
  4. [Name(名前)]に、追加する属性の名前を入力します。

    このフィールドの最大文字数は512文字です。Name属性は、ユーザーとグループの属性ステートメント全体で一意である必要があります。

  5. [Name format(名前の形式)][Unspecified(指定なし)]を選択します。
  6. [Value(値)]で、[device.trusted]を選択します。

    このフィールドの最大文字数は1024文字です。

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

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

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

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

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

    Salesforce用語

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