制限付きアクセスを使用してデバイスコンテキストをSAMLアプリに渡す
制限付きアクセスでは、認証中にやり取りされるSAMLアサーションを通してデバイスコンテキストを特定のSAMLアプリに渡すようにOktaを構成できます。その後アプリはその情報を使用して、ユーザー許可をアプリの編集やアプリからのファイルのダウンロードなど、特定のアプリ固有の動作に制限できます。
この機能は以下のデバイスで使用できます。
- Windows、macOS、iOS、Androidデバイス
- デバイスコンテキスト属性を消費できるカスタムおよびOIN SAMLアプリ統合
前提条件
Okta管理コンソールで、
- Oktaコンソールでデバイスの信頼を有効にする([Security(セキュリティ)]> [Device Trust(デバイスの信頼)])
- アプリ統合用のデバイスの信頼サインオンポリシーを構成する([Applications(アプリ)]> app >[Sign On(サインオン)]タブ)
詳細は、ご自分の実装に合ったデバイスの信頼のドキュメントを参照してください。
外部アプリの場合
SAMLアサーションで受け取ったデバイスコンテキストを消費するように外部アプリケーションを構成し、そのコンテキストに基づいてコントロールする動作を指定します。
サポートされている属性値
この機能を構成すると、Oktaは以下の属性値の1つを
属性値 | 定義 |
---|---|
TRUSTED(信頼) | ユーザーのデバイスはOktaアプリ統合サインオンポリシーの定義によると信頼されています。 |
NOT_TRUSTED(非信頼) | ユーザーのデバイスはOktaアプリ統合サインオンポリシーの定義によると信頼されていません。 |
UNKNOWN(不明) | 以下のいずれか、または両方がTrueであるため、デバイスコンテキストは不明です。
|
手順
- 前提条件を完了します。
- まだ行なっていない場合は、Okta管理コンソールからカスタムアプリ統合を作成するか、OINアプリ統合を追加します。
- カスタムSAMLアプリ統合の作成については、AIWを使用してSAML統合を作成するを参照してください。
- OINアプリ統合の追加については、 アプリケーションの追加 を参照してください。外部アプリがSAMLをサポートしている必要があります。
- 属性ステートメントをアプリ統合に追加します(詳細については、属性ステートメントを定義するを参照してください)。
属性ステートメントは、新しいアプリ統合の作成時に追加することも、既存のアプリ統合の編集として追加することもできます。
- Okta管理コンソールで、[Applications (アプリ)]> [Applications (アプリ)]に移動します。
- カスタムSAMLアプリをクリックします。
- [General(一般)]タブに移動し、[SAML Settings(SAMLの設定)]セクションまでスクロールして、[Edit(編集)]をクリックします。
- [Next(次へ)]をクリックします。
- [Attribute Statements (Optional)(属性ステートメント(オプション))]セクションまでスクロールします。
- 下のステップ4に進みます。
- Okta管理コンソールで、[Applications(アプリ)]>[Applications(アプリ)]に移動します。
- OIN SAMLアプリ統合をクリックします。
- [Sign On(サインオン)]タブに移動し、[Attribute Statements (Optional)(属性ステートメント(オプション)]セクションまでスクロールして、[Edit(編集)]をクリックします。
-
下のステップ4に進みます。
- [Name(名前)]に、追加する属性の名前を入力します。
- [Name format(名前の形式)]で[Unspecified(指定なし)]を選択します。
アプリ統合の作成時:
ステップ2:SAMLを構成するで「属性ステートメント(オプション)」セクションまでスクロールします。
–または–
既存のアプリ統合を編集するには:
カスタムアプリ統合とOINアプリ統合のどちらを編集するかによって手順が異なります。
カスタムアプリ統合を編集する場合:
OINアプリを編集する場合
このフィールドの最大長は512文字です。[Name(名前)]属性は、ユーザーとグループの属性ステートメント全体で一意である必要があります。
- [Value(値)]で、[device.trusted(デバイス、信頼)]を選択します。
- ステートメント行を追加するには、[Add Another(もう1つ追加)]をクリックします。必要な属性定義が完了するまでこの手順を繰り返します。
- [Next (次へ)] をクリックします。
- 完了したら、[Finish(終了)]をクリックします。
このフィールドの最大文字数は1024文字です。
Okta式言語を使用して、値をユースケースの必要に応じて変換できます。
たとえば、信頼されているデバイスコンテキスト用のOkta用語を関連するSalesforce用語にマップするには、[Value(値)]フィールドにこのステートメントを入力します。
device.trusted == "TRUSTED" ? "HIGH ASSURANCE" : "STANDARD"
上記のステートメントは用語を以下のように変換します。
Oktaデバイスコンテキスト属性 | Salesforce用語 |
---|---|
TRUSTED(信頼) | HIGH ASSURANCE(高アシュアランス) |
NOT_TRUSTED(非信頼) | STANDARD(標準) |
UNKNOWN(不明) | STANDARD(標準) |
属性ステートメントの詳細
ここに、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>