SAML

SAML

 Security Assertion Markup Language(SAML)は、認証および認可のためのXMLベースのフレームワークです。SAMLは、異なるドメイン間でのユーザーの認証情報やアクセス許可を共有するために使用されます。SAMLは、WebサービスおよびWebアプリケーションで広く使用されています。

 SAMLの主な役割は、ユーザーの認証を処理し、SAMLトークンを生成することです。SAMLトークンには、認証情報(たとえば、ユーザー名とパスワード)およびアクセス許可情報が含まれます。このトークンは、信頼された第三者の認証サーバーによって署名され、Webアプリケーションに送信されます。

 Webアプリケーションは、SAMLトークンを受信し、トークンが有効であるかどうかを確認します。SAMLトークンが有効である場合、Webアプリケーションは、ユーザーがアクセス可能なリソースを提供するために必要なアクセス許可を確認できます。

 SAMLは、シングルサインオン(SSO)を実現するためにも使用されます。ユーザーは、最初に一度だけ認証を行い、その後は同じSAMLトークンを使用して、複数のWebアプリケーションにアクセスできます。これにより、ユーザーは多数のユーザー名やパスワードを覚える必要がなくなり、セキュリティが向上します。

SAMLには、3つの主要なコンポーネントがあります。

  1. Identity Provider(IdP): ユーザーを認証し、SAMLトークンを生成するサーバーです。
  2. Service Provider(SP): SAMLトークンを受信し、アクセス許可を確認し、リソースにアクセスを許可または拒否するWebアプリケーションです。
  3. SAMLトークン: 認証情報とアクセス許可情報を含むXMLドキュメントです。

 SAMLは、セキュリティが重要なWebアプリケーションで広く使用されています。SAMLは、一般的なフレームワークであるため、多数のプラットフォームでサポートされており、柔軟性があります。