Okta Identity Engineの制限付きアクセスを使用してデバイスコンテキストを渡す
早期アクセスリリース
制限付きアクセスでは、認証中にやり取りされるSAMLアサーションを通してデバイスコンテキストを特定のSAMLアプリに渡すようにOktaを構成できます。次にアプリはその情報を使用して、アプリの編集やアプリからのファイルのダウンロードなど、アプリ固有の特定の動作に対するアクセスを制限します。
orgがClassic Engineを使用しているときは、こちらのトピックを参照してください。
この機能は、Windows、macOS、iOS、Androidデバイスと連携します。カスタムおよびOIN SAMLアプリ統合は、デバイスコンテキスト属性を消費して、構成に基づいてアクセスを許可またはブロックすることができます。
Okta Classic EngineからOkta Identity Engineに移行したorgは、Expression Languageを手動で構成して結果が正しいことを確認する必要があります。 Okta式言語の概要を参照してください。
開始する前に
- Admin Consoleでに移動し、SAMLアプリケーションを通じてデバイスコンテキストを送信(Send device context through SAML applications)を有効にします。
- に移動してデバイス管理証明が有効であることを確認します。デスクトップデバイスの管理証明とモバイルデバイスの管理証明を参照してください。
- アプリサインインポリシーを構成してデバイス管理を有効にします。デスクトップ用のアプリサインインポリシールールを追加するおよびモバイル用のアプリサインインポリシールールを追加するを参照してください。
- SAMLアサーションで受け取ったデバイスコンテキストを消費するように外部アプリケーションを構成し、そのコンテキストに基づいてコントロールする動作を指定します。
詳細については、管理対象デバイス(Managed devices)でorgに適したトピックを選んで参照してください。
サポートされている属性値
この機能を構成すると、Oktaは、Oktaで構成された属性ステートメント(Attribute Statement)およびアプリサインインポリシーに従って、以下の属性値の1つをSAMLアサーションの外部アプリに渡します。
|
属性値 |
定義 |
|---|---|
true |
Oktaアプリサインインポリシーに定義されているように、ユーザーのデバイスは管理されます。 |
false |
Oktaアプリサインインポリシーに定義されているように、ユーザーのデバイスは管理されません。 |
null |
次のいずれか、または両方に該当するため、デバイスコンテキストは不明です。
|
外部アプリに渡された属性値はセッション期間中、強制適用されます。
Okta Expression Languageを使ってOktaの用語をベンダー固有の用語にマッピングします。
属性ステートメントを追加する
- まだ行っていない場合は、Admin Consoleでカスタムアプリ統合を作成するか、OINアプリ統合を追加します。
- カスタムSAMLアプリ統合の作成については、SAMLアプリ統合を作成するを参照してください。
- OINアプリ統合の追加については、既存のアプリ統合を追加するを参照してください。外部アプリがSAMLをサポートしている必要があります。
- アプリ統合に属性ステートメント(Attribute Statement)を追加します。詳細については、SAMLアプリ統合を作成するを参照してください。ステートメントは、アプリ統合の作成時または既存のアプリ統合の編集時に追加できます。
属性ステートメント
このプロセスは、作成または編集しているアプリ統合に応じて異なります。
カスタムアプリ統合を編集する
-
管理者ダッシュボードで、に移動します。
-
編集するカスタムSAMLアプリをクリックします。
-
一般(General)タブをクリックします。SAML設定(SAML Settings)セクションまでスクロールして編集(Edit)をクリックします。
-
次へ(Next)をクリックします。
-
属性ステートメント(Attribute Statements)セクションまでスクロールします。
-
名前(Name)フィールドに属性名を入力します。このフィールドの最大文字数は512です。名前属性は、ユーザーとグループの属性ステートメント全体で一意である必要があります。
-
名前のフォーマット(Name format)としてUnspecifiedを選択します。
-
値(Value)フィールドに
device.profile.managedを入力します。ユースケースの必要に応じてOkta式言語を使って値を変換します。このフィールドの最大文字数は1024文字です。
OINアプリ統合を編集する
-
管理者ダッシュボードで、に移動します。
-
OIN SAMLアプリ統合をクリックします。
-
サインオン(Sign on)タブをクリックし、編集(Edit)をクリックします。
-
属性ステートメント(Attribute Statements)セクションまでスクロールします。
-
名前(Name)フィールドに属性名を入力します。このフィールドの最大文字数は512です。名前属性は、ユーザーとグループの属性ステートメント全体で一意である必要があります。
-
名前のフォーマット(Name format)としてUnspecifiedを選択します。
-
値(Value)フィールドで
device.profile.managedを選択します。ユースケースの必要に応じてOkta式言語を使って値を変換します。このフィールドの最大文字数は1024文字です。
属性値を変換する
Okta Expression Languageを使用して、値をユースケースの必要に応じて変換できます。たとえば、信頼できるデバイスコンテキスト用のOkta用語を関連するSalesforce用語にマッピングするには、値(Value)フィールドに次のステートメントを入力します。
device.profile.managed == true ? "HIGH ASSURANCE" : "STANDARD"
上のステートメントは用語を次のように変換します。
|
Oktaデバイスコンテキスト属性 |
Salesforce用語 |
|---|---|
true |
高アシュアランス(HIGH ASSURANCE) |
false |
標準(STANDARD) |
null |
標準(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="device.profile.managed" 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">
false
</saml2:AttributeValue>
</saml2:Attribute>
</saml2:AttributeStatement>
関連項目