SAMLアプリケーションの追加
Security Assertion Markup Language (SAML)アプリケーションを作成し、それをユーザーに付与すると、ユーザーはSAML for SSOをサポートするSaaSアプリケーションにサインオン(SSO)できるようになります。
開始する前に:
SAMLアプリケーションを作成する前に、このアプリケーションを使用してサインインする必要があるすべてのユーザーがサービス・プロバイダ(SP)に存在する必要があります。必要に応じて、SCIMプロビジョニングを使用して、アイデンティティ・プロバイダ(IdP)からSPにユーザーまたはグループを同期します。カスタム・アプリケーションとIAMの統合を参照してください。
- 「ドメイン」リスト・ページで、変更するドメインを選択します。ドメインのリスト・ページの検索に関するヘルプが必要な場合は、アイデンティティ・ドメインのリストを参照してください。
- 詳細ページで、「統合アプリケーション」を選択します。ドメイン内のアプリケーションのリストが表示されます。
- 「アプリケーションの追加」を選択します。
- 「アプリケーションの追加」ウィンドウで、「SAMLアプリケーション」を選択します。
- 「ワークフローの起動」を選択します。
-
「SAMLアプリケーションの追加」ページで、次のフィールドに値を入力します:
-
「名前」フィールドに、アプリケーションの名前を入力します。
長い名前が付いたアプリケーションの場合、そのアプリケーション名は切り捨てられて「自分のアプリケーション」ページに表示されます。アプリケーション名は、できるかぎり短くすることを検討してください。
-
「説明」フィールドに、250文字以下の文字を入力してアプリケーションの説明を提供します。
-
「アプリケーション・アイコン」ウィンドウで「閉じる」(X)を選択して、デフォルトのアプリケーション・アイコンを削除してから、アプリケーションに独自のアイコンを追加します。
-
「アプリケーション・リンクの追加」を選択して、アプリケーションに関連付けるリンクを追加します。「追加」を選択すると、「アプリケーション・リンクの追加」ウィンドウが表示されます。アプリケーション・リンクは、GoogleやOffice 365などのアプリケーションが提供するメールやカレンダなどのサービスです。
「アプリケーション・リンクの追加」ウィンドウで:-
アプリケーション・リンクの名前を入力します。
-
「リレー状態」フィールドに、アプリケーションへのアクセスに使用するURLを入力します。
-
「アプリケーション・アイコン」ウィンドウで「閉じる」(X)を選択して、アプリケーション・リンクのデフォルトのアプリケーション・アイコンを削除してから、アプリケーションに独自のアイコンを追加します。
-
各ユーザーの「自分のアプリケーション」ページにアプリケーションを自動的に表示する場合は、「表示」を選択します。ノート
このチェック・ボックスを選択すると、アプリケーションに対するSSOは有効または無効になりません。 -
「追加」を選択します。
アプリケーション・リンクを削除するには、その行を選択してから「削除」を選択します。
ノート
「削除」を選択してから「自分のアプリケーション」ページにアプリケーションが表示されなくなるまでには、遅延(数秒)があります。アプリケーション・リンクの削除(およびそれらのアプリケーション・リンクに関連する権限付与)は、非同期です。「自分のアプリケーション」を再試行する前に、アプリケーションとその権限付与を削除する非同期タスクを数秒間待機してください。 -
-
「リレー状態」フィールドに、SAML RelayStateパラメータとしてSAML SPに送信される値を入力します。
-
「カスタム・サインインURL」フィールドに、カスタム・サインインURLを指定します。ただし、IAMによって提供されるデフォルトのログイン・ページを使用する場合は、このフィールドを空白のままにします。
-
「カスタム・エラーURL」フィールドに、失敗した場合にユーザーをリダイレクトする必要があるエラー・ページURLを入力します。これはオプションのフィールドです。ただし、指定されていない場合は、ドメイン固有のエラー・ページURLが使用されます。どちらのエラーURLも構成されていない場合、エラーはIAMエラー・ページ(/ui/v1/error)にリダイレクトされます。
ユーザーがソーシャル認証(Google、Facebookなど)を使用してIAMにログインしようとする場合、「カスタム・エラーURL」フィールドにコールバックURLを構成する必要があります。ソーシャル・プロバイダでは、IAM>をコールしてソーシャル認証後にレスポンスを返信するには、このコールバックURLが必要です。指定されたコールバックURLは、ユーザーが存在するかどうか(初回のソーシャル・ログインの場合)を検証するために使用され、ソーシャル認証に失敗した場合はエラーが表示されます。
-
「カスタム・ソーシャル・リンク・コールバックURL」フィールドに、ソーシャル・プロバイダとIAM間のユーザーのリンクが完了した後にIAMがリダイレクトできるURLを入力します。これはオプションのフィールドです。
IAMカスタムSDKを使用してカスタム・アプリケーションを作成し、IAMソーシャル・ログインと統合する場合、カスタム・アプリケーションには、ソーシャル・プロバイダとIAM間のユーザーのリンクが完了した後にリダイレクトできるリンク・コールバックURLが必要です。
-
-
「SAMLアプリケーションの追加」ページの「表示設定」セクションで、次の選択を行います:
-
「「マイ・アプリケーション」に表示」チェック・ボックスを選択して、SAMLアプリケーションを「マイ・アプリケーション」ページにリストすることを指定します。
アプリケーションの「「自分のアプリケーション」に表示」チェック・ボックスを選択すると、そのアプリケーションは「自分のアプリケーション」ページに表示されますが、このチェック・ボックスを選択しても、アプリケーションに対するSSOは有効化または無効化されません。
SSOを有効化または無効化するフラグは、アプリケーション・テンプレートから取得されます。
-
アプリケーションをカタログにリストする場合は、「ユーザーにアクセス権のリクエストを許可」チェック・ボックスを選択します。このオプションを使用すると、エンド・ユーザーは、「追加」を選択し、「カタログ」からアプリケーションを選択することで、「自分のアプリケーション」ページからアプリケーションへのアクセス権をリクエストできます。
ノート
ユーザーがアクセス権をリクエストできるようにアプリケーションをアクティブ化することを忘れないでください。 -
- アプリケーション・カタログから作成された事前構成されたSAMLアプリケーションを作成するかわりに、SAMLアプリケーションを最初から作成する場合は、「認証と認可」セクションが表示されます。デフォルトでは、「権限付与を認可として実施」チェック・ボックスを選択します。このチェック・ボックスを使用すると、ユーザーは、アクセス権の割当てまたは付与を行ったアプリケーションにのみアクセスできます。チェック・ボックスが選択されている場合、IAMは、ユーザーおよびグループへの権限付与に基づいてSAMLアプリケーションへのアクセスを制御できます。このチェック・ボックスが選択されていない場合、認証されたユーザーは、割当てステータスに関係なくアプリケーションにアクセスできます。
- 「次へ」を選択し、SAMLアプリケーションのSSOを構成します。
-
「シングル・サインオンの構成」ページの「一般」セクションで、次を定義します:
-
エンティティID: SAMLエンティティのグローバルに一意の名前を入力します。エンティティIDは、通常、アイデンティティ・プロバイダまたはサービス・プロバイダのURLです。
-
Holder-of-Keyのサブジェクト確認が必要です: このオプションをオンにして、アイデンティティ・プロバイダがSAML認証Holder-of-Key (HOK)アサーションを送信できるサービス・プロバイダのエンドポイントを入力します。
-
アサーション・コンシューマのURL: SAMLアイデンティティ・プロバイダがSAMLアサーションを送信するURLを入力します。このURLは、HTTPまたはHTTPSプロトコルで開始する必要があります。
-
名前IDフォーマット: 名前IDに使用するフォーマットのタイプを選択します。サービス・プロバイダとアイデンティティ・プロバイダは、通信中にサブジェクトを簡単に識別するために、このフォーマットを使用します。
ノート
WS Fed 1.1プロトコルに基づいてIAMをMS SharePointアプリケーションと統合する場合、Name ID形式では永続、Kerberosおよび一時のオプションを使用できません。 -
Name ID値: ログインしているユーザーを識別するName ID値を選択します。使用可能なオプションは、「ユーザー名」、ユーザーのプライマリ電子メール・アドレスおよび「式」です。「式」オプションを選択する場合、テキスト・ボックスに値としてパス式を入力します。値の文字制限はありませんが、マップされない無効な文字の値に対して実行される検証ルールがあります。
パス式の例を次に示します。
- アサーション属性の値として自宅電子メールを送信するには、次を使用します。
$(user.emails[type eq "home"].value)
- アサーション属性として姓と連結されたユーザーの名を送信するには、次のものを使用します。
#concat($(user.name.givenName), $(user.name.familyName))
- アサーション属性の値として
SALARY
というアカウント属性を送信するには、次を使用します:$(account.SALARY)
- カスタム・スキーマ拡張から属性
department
を含めるには、次を使用します。$(user.urn:ietf:params:scim:schemas:idcs:extension:custom:User:department)
- アサーション属性の値として自宅電子メールを送信するには、次を使用します。
-
署名証明書: SAMLアサーションの暗号化に使用する署名証明書をアップロードします。
ノート
一部のブラウザでは、c:\fakepath\
が先頭に付加されたファイル・パスが表示されます。この動作は、ブラウザのセキュリティ機能で、アップロード・プロセスの障害にはなりません。
-
-
次の表を使用して、「追加構成」セクションでより詳細なSAML構成を定義します。
オプション 説明 署名付きSSO SAMLアサーションに署名が必要なことを示す場合、「アサーション」を選択します。SAML認証レスポンスに署名が必要な場合、「レスポンス」を選択します。
署名に署名証明書を含める このチェック・ボックスは、署名に署名証明書を含める場合に選択します。たとえば、アプリケーションがアサーションとともに送信される署名証明書を必要とする場合です。
署名ハッシュ・アルゴリズム アサーションまたはレスポンスへの署名に使用する署名アルゴリズムのタイプを選択します(SHA-256またはSHA-1)。SHA-256は、固定の256ビット・ハッシュを生成します。SHA-1は、メッセージ・ダイジェストと呼ばれる160ビット・ハッシュ値を生成します。
ノート: FIPS対応環境では、SSO時のエラーを回避するために、「署名ハッシュ・アルゴリズム」を、サポートされている唯一のハッシュ・アルゴリズムであるSHA-256に設定します。
シングル・ログアウトの有効化 SAMLシングル・ログアウトを構成する場合に選択します。シングル・ログアウトにより、ユーザーはフェデレーテッド・セッションに参加しているすべてのサイトからほぼ同時にログアウトできます。デフォルトでは、このチェック・ボックスが選択されます。シングル・ログアウトを有効にしない場合は選択を解除してください。
ログアウト・バインド ログアウト・リクエストを、REDIRECT (HTTP 302ステータス・コード・レスポンス・メッセージを使用して転送)として送信するか、POST (base-64形式を使用するHTMLフォーム・コントロール・コンテンツで転送)として送信するかを選択します。このリスト・ボックスは、「シングル・ログアウトの有効化」チェック・ボックスを選択します。
シングル・ログアウトURL ログアウト・リクエストが送信される場所(HTTPまたはHTTPS)を入力します。このフィールドは、「シングル・ログアウトの有効化」チェック・ボックスを選択した場合にのみ表示されます。
ログアウト・レスポンスURL ログアウト・レスポンスが送信される場所(HTTPまたはHTTPS)を入力します。このフィールドは、「シングル・ログアウトの有効化」チェック・ボックスを選択した場合にのみ表示されます。
アサーションの暗号化 アサーションを暗号化する場合に選択します。次に、使用する暗号化アルゴリズムを定義し、暗号化証明書をアップロードします。
暗号化証明書 「アップロード」を選択して、SAMLアサーションの暗号化に使用する暗号化証明書をアップロードします。このボタンは、「Encrypt Assertion」チェック・ボックスを選択している場合にのみ表示されます。
暗号化アルゴリズム SAMLアサーションの暗号化に使用する暗号化アルゴリズムを選択します。このリスト・ボックスは、「アサーションの暗号化」チェック・ボックスを選択します。
キー暗号化アルゴリズム SAMLアサーションの暗号化に使用するキー暗号化アルゴリズムを選択します。このリスト・ボックスは、「アサーションの暗号化」チェック・ボックスを選択します。
- 「属性構成」セクションで、ユーザー固有およびグループ固有の属性をSAMLアサーションに追加します。これは、アプリケーションがユーザー固有またはグループ固有の属性を使用しており、その情報をSAMLアサーションの一部として送信する場合に役立ちます。
-
「追加属性」を選択し、次の表を使用して、含めるユーザー属性を指定します。属性文のユーザー情報には、属性のリストが含まれます。各属性には、名前と値リストが含まれます(複数の属性値がある場合)。各値には、値と値フォーマットが含まれます。
オプション 説明 名前 SAMLアサーション属性の名前を入力します。
フォーマット このSAMLアサーション属性のフォーマット(「基本」、「URI参照」または「指定なし」)を選択します。
ノート: WS Fed 1.1プロトコルに基づいてIAMをMS SharePointアプリケーションと統合する場合、「形式」メニューは「ネームスペース」に置き換えられます。
タイプ 次のいずれかのオプションを選択して、アサーション属性の値を指定します:-
ユーザー属性
アサーション属性の値として、「値」メニューのユーザー属性またはグループ属性の事前定義済リストのいずれかを選択するには、このオプションを選択します。グループ属性を指定するには、「ユーザー属性」を選択し、「値」フィールドで「グループ・メンバーシップ」を選択します。
-
式/文字
「値」メニューの事前定義済の値を使用できない場合は、このオプションを選択します。「値」テキスト・ボックスに式を指定して、SAMLアサーション属性の値を指定できます。
グループ属性を指定するには、「式/リテラル」を選択し、グループをフェッチする式を指定します。
例: 次の式は、SAML属性の値を、ユーザーが属するすべてのグループの名前にするように指定します:
$(user.groups[*].display)
。
タイプ値 選択したタイプに基づいてアサーションの一部として送信する値を選択または入力します。
タイプが「ユーザー属性」の場合、アサーション属性の値としてユーザー属性の事前定義済リストのいずれかを選択できます。アサーション属性の値としてユーザー・グループ・メンバーシップを送信する場合は、メニューの「グループ・メンバーシップ」オプションを選択します。「条件」列と「値」列は、「グループ・メンバーシップ」を選択すると表示されます。
タイプが「式/リテラル」の場合、「値」フィールドはテキスト・ボックスであり、任意のパス式を入力して、アサーション属性の値を指定できます。
次に、パス式の例を示します:-
アサーション属性の値としてリテラル値のリストを送信するには、
["value1", "value2", "value3"]
を使用します。 -
アサーション属性の値として自宅用Eメールを送信するには、
$(user.emails[type eq "home"].value)
を使用します。 -
アサーション属性として連結されたユーザーの名と姓を送信するには、
#concat($(user.name.givenName), $(user.name.familyName))
を使用します。 -
アサーション属性の値として
SALARY
というアカウント属性を送信するには、$(account.SALARY)
を使用します。 -
カスタム・スキーマ拡張から属性
department
を含めるには、$(user.urn:ietf:params:scim:schemas:idcs:extension:custom:User:department)
を使用します。 -
アサーションの値としてリテラル値を送信するには、
aLiteralValue
を使用します。
条件 メニューから条件を選択して、グループ・メンバーシップをフィルタします。このフィールドは、「タイプ」として「ユーザー属性」を、「タイプ値」として「グループ・メンバーシップ」を選択した場合にのみ有効になります。使用可能な値は、「次と等しい」、「次で始まる」および「すべてのグループ」です。
条件値 グループ・メンバーシップのフィルタ時に使用するフィルタ値を入力します。
-
- 「終了」を選択します。アプリケーションは非アクティブ状態で追加されます。アプリケーションをアクティブ化するには、アプリケーションのアクティブ化を参照してください。
- 「SSO構成」セクションで、IAM署名証明書をアプリケーションにインポートするには、「署名証明書のダウンロード」を選択して、PEM形式で先に証明書ファイルをダウンロードします。この証明書は、SAMLアサーションが有効であることを検証するために、SAMLアプリケーションで使用されます。
- 「SSO構成」セクションで、IAMアイデンティティ・プロバイダ・メタデータをアプリケーションにインポートするには、「アイデンティティ・プロバイダ・メタデータのダウンロード」を選択して、最初にXML形式でメタデータ・ファイルをダウンロードします。SAMLアプリケーションは、フェデレーション・プロセスの一環としてIAMが生成するSAMLアサーションを信頼して処理するために、この情報を必要とします。この情報には、プロファイルとバインディングのサポート、接続エンドポイント、証明書情報などが含まれます。発行元のIAMルート証明書を取得するには、ルートCA証明書の取得を参照してください。