ポリシー駆動型アイデンティティ プロバイダ

ポリシー駆動型アイデンティティ プロバイダは、基本となるポリシー フラグメントによって提供されるロジックに基づいてユーザを認証します。 これにより、作成する認証ロジックを必要に応じて複雑にしたり基本的なものにすることが可能になります。 さらにユーザの検証と許可も可能です。
gateway83
ポリシー駆動型アイデンティティ プロバイダは、基本となるポリシー フラグメントによって提供されるロジックに基づいてユーザを認証します。 これにより、作成する認証ロジックを必要に応じて複雑にしたり基本的なものにすることが可能になります。 さらにユーザの検証と許可も可能です。
使用時、ポリシー駆動型アイデンティティ プロバイダに対する検証は、Require XPath Credentials アサーションの組み込みのアイデンティティ プロバイダのように動作します。
その他のアイデンティティ プロバイダとは異なり、ポリシー駆動型アイデンティティ プロバイダでは、許可ユーザのリストがあらかじめ作成されません。 実際には、
Layer7 API Gateway
は、ユーザが存在するかどうか、そのユーザが Gateway にログオンすることがあるかどうかを知る必要はありません。 ユーザ名に基づいたテンプレート ユーザの設定、および必要に応じたロールの割り当てのみが必要です。 一致するユーザ名を持つユーザが認証されると、そのユーザはそのロールによって許可された機能に基づいて Policy Manager へのアクセスが許可されます。
ポリシー駆動型アイデンティティ プロバイダは、Web サービスとの通信、RADIUS などのプロトコル用のカスタム アサーションの使用、またはカスタム LDAP または JDBC 認証などに役立ちます。
ポリシー駆動型アイデンティティ プロバイダは個別のユーザのみを認証し、グループは認証しません。
バッキング ポリシー
基本となるポリシー フラグメント(バッキング ポリシー)は、ユーザの認証情報が含まれる以下のあらかじめ入力された変数を受信します。
  • ${idp.userid}:
    ユーザの ID を返します。
  • ${idp.password}:
    ユーザのパスワードを返します。
バッキング ポリシーには、ユーザ名およびパスワードを認証するためのアサーションを任意の数だけ含めることができます。 ユーザが認証されない場合にはポリシーが成功しないことにのみ注意する必要があります。
以下に、ユーザ名を「joe」と比較し、パスワードを「password」と比較する非常に単純なポリシー フラグメントを示します。
Policy_Backed_Provider_simple_backing_policy.png
この例では、Compare Expression アサーションを使用します。
ヒント集
  • 以下の両方を必要とする場合は、ポリシー駆動型アイデンティティ プロバイダの使用に適しています。
    • ユーザ名およびパスワードに基づいて認証情報を認証するカスタム ポリシーによって実装されたパスワード認証が必要。
    • このポリシーによって認証されたユーザが、Policy Manager (または管理 API)にログインでき、
      Layer7 API Gateway
      を管理できること。または、少なくとも 1 つの
      Layer7 API Gateway
      の組み込みサービス(ポリシー検出サービスやトークン サービスなど)を使用できること。
  • 認証の要件が Policy Manager へのログインまたは組み込みサービスの使用を必要としない場合(ユーザがメッセージ処理トラフィックのみで使用される場合)は、代わりにカプセル化されたアサーションまたは内包ポリシー フラグメントを使用することを検討してください。
  • 認証時にカスタム ポリシーの動作を必要としない場合は、代わりに LDAP サーバまたは内部アイデンティティ プロバイダに対する認証を検討してください。
  • ポリシー駆動型アイデンティティ プロバイダは、アイデンティティ プロバイダを必要とする場合にのみ作成してください。 実装の詳細を隠蔽する再使用可能なポリシー スニペットのみを必要とする場合は、代わりにカプセル化されたアサーションを使用してください。
  • ポリシー駆動型アイデンティティ プロバイダは、その他のアイデンティティ プロバイダと同様に、Authenticate Against Identity Provider アサーションおよび Authenticate User or Group アサーションと共に使用できます。
  • ポリシー駆動型アイデンティティ プロバイダのバッキング ポリシーに上記のいずれかの「Authenticate....」アサーションを埋め込んで、その「Authenticate....」アサーションに別のアイデンティティ プロバイダ(LDAP やフェデレーションなど)に対する認証を行わせることが可能です。 ただし、このような設定は上級ユーザにのみに推奨されており、トラブルシューティングが難しくなる可能性があります。