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 Expression Languageの概要」を参照してください。
はじめに
- Admin Consoleで に移動し、[SAMLアプリケーションを通じてデバイスコンテキストを送信]を有効にします。
- デスクトップデバイスの管理証明」と「モバイルデバイスの管理証明」を参照してください。 に移動してデバイス管理証明が有効であることを確認します。「
- 認証ポリシーを構成してデバイス管理を有効にします。「デスクトップ用の認証ポリシールールを追加する」と「モバイル用の認証ポリシールールを追加する」を参照してください。
- SAMLアサーションで受け取ったデバイスコンテキストを消費するように外部アプリケーションを構成し、そのコンテキストに基づいてコントロールする動作を指定します。
詳細については、「管理対象デバイス」でorgに適したトピックを選んで参照してください。
サポートされる属性値
この機能を構成すると、Oktaは、Oktaで構成された属性ステートメントと認証ポリシーに従って、次のいずれかの属性値をSAMLアサーションの外部アプリケーションに渡します。
属性値 |
定義 |
---|---|
true | Okta認証ポリシーに定義されているように、ユーザーのデバイスは管理されます。 |
false | Okta認証ポリシーに定義されているように、ユーザーのデバイスは管理されません。 |
null |
次のいずれか、または両方に該当するため、デバイスコンテキストは不明です。
|
外部アプリに渡される属性値は、セッション中は強制的に適用されます。
Okta Expression Languageを使ってOktaの用語をベンダー固有の用語にマッピングします。
属性ステートメントを追加する
- まだ行っていない場合は、Admin Consoleでカスタムアプリ統合を作成するか、OINアプリ統合を追加します。
- カスタムSAMLアプリ統合の作成については、「SAMLアプリ統合を作成する」を参照してください。
- OINアプリ統合の追加については、「既存のアプリ統合を追加する」を参照してください。外部アプリがSAMLをサポートしている必要があります。
- アプリ統合に属性ステートメントを追加します。詳細については、「SAMLアプリ統合を作成する」を参照してください。ステートメントは、アプリ統合の作成時または既存のアプリ統合の編集時に追加できます。
属性ステートメント
このプロセスは、作成または編集しているアプリ統合に応じて異なります。
カスタムアプリ統合を編集する
-
管理者ダッシュボードで に移動します。
-
編集するカスタムSAMLアプリをクリックします。
-
[一般]タブをクリックします。[SAML設定]セクションまでスクロールして[Edit(編集)]をクリックします。
-
[Next(次へ)]をクリックします。
-
[属性ステートメント]セクションまでスクロールします。
-
[Name(名前)]フィールドに属性名を入力します。このフィールドの最大文字数は512です。名前属性は、ユーザーとグループの属性ステートメント全体で一意である必要があります。
-
[Name format(名前の形式)]としてUnspecifiedを選択します。
-
[Value(値)]フィールドに「device.profile.managed」を入力します。ユースケースの必要に応じてOkta Expression Languageを使って値を変換します。このフィールドの最大文字数は1024です。
OINアプリ統合を編集する
-
管理者ダッシュボードで に移動します。
-
OIN SAMLアプリ統合をクリックします。
-
[サインオン]タブをクリックし、[Edit(編集)]をクリックします。
-
[属性ステートメント]セクションまでスクロールします。
-
[Name(名前)]フィールドに属性名を入力します。このフィールドの最大文字数は512です。名前属性は、ユーザーとグループの属性ステートメント全体で一意である必要があります。
-
[Name format(名前の形式)]としてUnspecifiedを選択します。
-
[Value(値)]フィールドで「device.profile.managed」を選択します。ユースケースの必要に応じてOkta Expression Languageを使って値を変換します。このフィールドの最大文字数は1024です。
属性値を変換する
値は、ユースケースの必要に応じてOkta Expression Languageを使って変換できます。たとえば、信頼できるデバイスコンテキスト用のOkta用語を関連するSalesforce用語にマッピングするには、[Value(値)]フィールドに次のステートメントを入力します。
device.profile.managed == true ? "HIGH ASSURANCE" : "STANDARD"上のステートメントは用語を次のように変換します。
Oktaデバイスコンテキスト属性 |
Salesforce用語 |
---|---|
true | HIGH ASSURANCE(高アシュアランス) |
false | STANDARD(標準) |
null | STANDARD(標準) |
別のステートメント行を追加するには、[Add Another(もう1つ追加)]をクリックします。必要な属性定義が完了するまでこの手順を繰り返します。
[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>