制限付きアクセスを使用してデバイスコンテキストを渡す
制限付きアクセスでは、認証中にやり取りされるSAMLアサーションを通してデバイスコンテキストを特定のSAMLアプリケーションに渡すようにOktaを構成できます。その後アプリケーションはその情報を使用して、アプリケーションを編集する許可やアプリケーションからファイルをダウンロードする許可など、特定のアプリ固有の動作にアクセスを制限できます。
orgがIdentity Engineを使用しているときは、こちらのトピックを参照してください。
この機能は次のデバイスで使用できます。
- Windows、macOS、iOS、Androidデバイス
- デバイスコンテキスト属性を消費できるカスタムおよびOIN SAMLアプリ統合
前提条件
Okta Admin Consoleで:
- Okta Admin ConsoleでDevice Trustを有効にする()
- アプリ統合向けのDevice Trustサインオンポリシーを構成する(アプリのサインオン(Sign On)タブ)
詳細は、実装に合ったOkta Device Trustソリューションを参照してください。
外部アプリの場合
SAMLアサーションで受け取ったデバイスコンテキストを消費するように外部アプリケーションを構成し、そのコンテキストに基づいてコントロールする動作を指定します。
サポートされている属性値
この機能を構成すると、Oktaは、Oktaで構成された属性ステートメントおよびアプリ統合のサインオンポリシーに従って、以下の属性値の1つをSAMLアサーションの外部アプリケーションに渡します。
|
属性値 |
定義 |
|---|---|
| 信頼済み(TRUSTED) | ユーザーのデバイスは信頼されています(Oktaアプリ統合サインオンポリシーの定義による)。 |
| 非信頼(NOT_TRUSTED) | ユーザーのデバイスは信頼されていません(Oktaアプリ統合サインオンポリシーの定義による)。 |
| 不明(UNKNOWN) | 次のいずれか、または両方に該当するため、デバイスコンテキストが不明です。
|
- 外部アプリに渡された属性値はセッション期間中、強制適用されます。
- Okta Expression Languageを使用して、Okta用語をISV固有用語にマップできます。
手順
- 前提条件を完了します。
- まだ行っていない場合は、Okta Admin Consoleからカスタムアプリ統合を作成するか、OINアプリ統合を追加します。
- カスタムSAMLアプリ統合を作成するには、「AIWを使用してSAMLアプリ統合を作成する」を参照してください。
- OINアプリ統合の追加については、既存のアプリ統合を追加するを参照してください。外部アプリがSAMLをサポートしている必要があります。
- アプリ統合に属性ステートメント(Attribute Statement)を追加します(詳細については、「属性ステートメントを定義する」を参照)。
新しいアプリ統合を作成する際にステートメントを追加したり、既存のアプリ統合を編集したりできます。
新しいアプリ統合の場合:
手順2:SAMLを構成する(Step 2: Configure SAML)でAttribute Statements (Optional)(属性ステートメント(任意))セクションまでスクロールします。
既存のアプリ統合の場合:
カスタムアプリ統合とOINアプリ統合のどちらを編集するかによって手順が異なります。
カスタムアプリ統合を編集する場合:
-
Admin Consoleで、に移動します。
- カスタムSAMLアプリをクリックします。
- 一般(General)タブに移動し、SAMLの設定(SAML Settings)セクションまでスクロールして、編集(Edit)をクリックします。
- 次へ(Next)をクリックします。
- Attribute Statements (Optional)(属性ステートメント(任意))セクションまでスクロールします。
OINアプリ統合を編集する場合:
-
Admin Consoleで、に移動します。
- OIN SAMLアプリ統合をクリックします。
- サインオン(Sign On)タブに移動して、編集(Edit)をクリックします。
- Attribute Statements (Optional)(属性ステートメント(任意))セクションまでスクロールします。
-
- 名前(Name)に、追加する属性の名前を入力します。
このフィールドの最大文字数は512文字です。Name属性は、ユーザーとグループの属性ステートメント全体で一意である必要があります。
- 名前の形式(Name format)で指定なし(Unspecified)を選択します。
- 値(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) - ステートメント行を追加するには、もう1つ追加(Add Another)をクリックします。必要な属性定義が完了するまでこの手順を繰り返します。
- 次へ(Next)をクリックします。
- 完了したら、終了(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>
関連項目