FastComments.com

FastComments ืชื•ืžืš ื‘ืื™ืžื•ืช SAML 2.0 ืขื‘ื•ืจ ืœืงื•ื—ื•ืช ื‘ืชื•ื›ื ื™ื•ืช Flex ื•-Pro. SAML ืžืืคืฉืจ ืื™ืžื•ืช ื›ื ื™ืกื” ื™ื—ื™ื“ื” (SSO) ื“ืจืš ืกืคืง ื”ื–ื”ื•ืช ืฉืœ ื”ืืจื’ื•ืŸ ืฉืœื›ื, ื•ืžืืคืฉืจ ืœืžืฉืชืžืฉื™ื ืœื’ืฉืช ืœ-FastComments ื‘ืืžืฆืขื•ืช ื”ืื™ืฉื•ืจื™ื ื”ืชืื’ื™ื“ื™ื™ื ื”ืงื™ื™ืžื™ื ืฉืœื”ื. ืžื“ืจื™ืš ื–ื” ืžื›ืกื” ื”ื’ื“ืจื”, ืชืฆื•ืจื” ื•ืคืชืจื•ืŸ ื‘ืขื™ื•ืช ืฉืœ ืื™ืžื•ืช SAML.

ืžื” ื–ื” SAML? Internal Link

SAML (Security Assertion Markup Language) ื”ื•ื ืชืงืŸ ืคืชื•ื— ื”ืžื‘ื•ืกืก ืขืœ XML ืœื”ื—ืœืคืช ื ืชื•ื ื™ ืื™ืžื•ืช ื•ื”ืจืฉืื” ื‘ื™ืŸ ื’ื•ืจืžื™ื, ื‘ืžื™ื•ื—ื“ ื‘ื™ืŸ ืกืคืง ื–ื”ื•ืช (IdP) ืœื‘ื™ืŸ ืกืคืง ืฉื™ืจื•ืช (SP).

ื›ื™ืฆื“ SAML ืขื•ื‘ื“

SAML ืžืืคืฉืจ ื›ื ื™ืกื” ื™ื—ื™ื“ื” (SSO) ืขืœ ื™ื“ื™ ื›ืš ืฉืžืฉืชืžืฉื™ื ืžืืžืชื™ื ืขืฆืžื ืคืขื ืื—ืช ืžื•ืœ ืกืคืง ื”ื–ื”ื•ืช ืฉืœื”ื ื•ืื– ื ื™ื’ืฉื™ื ืœืžืกืคืจ ื™ื™ืฉื•ืžื™ื ืœืœื ื”ื–ื ืช ืคืจื˜ื™ ื”ื›ื ื™ืกื” ืฉื•ื‘. ื›ืืฉืจ ืžืฉืชืžืฉ ืžื ืกื” ืœื’ืฉืช ืœ-FastComments:

  1. ื‘ืงืฉืช ืื™ืžื•ืช: FastComments ืžืคื ื” ืืช ื”ืžืฉืชืžืฉ ืœืกืคืง ื”ื–ื”ื•ืช ืฉืœืš
  2. ืื™ืžื•ืช ืžืฉืชืžืฉ: ื”ืžืฉืชืžืฉ ืžืืžืช ืืช ื–ื”ื•ืชื• ืืฆืœ ื”-IdP ืฉืœืš (ืœืžืฉืœ, Active Directory, Okta, Azure AD)
  3. ืชื’ื•ื‘ื” ืฉืœ SAML: ื”-IdP ืฉื•ืœื— ื”ืฆื”ืจืช SAML ื—ืชื•ืžื” ื—ื–ืจื” ืœ-FastComments
  4. ื’ื™ืฉื” ื”ืžืฉืชืžืฉ: FastComments ืžืืžืชืช ืืช ื”ื”ืฆื”ืจื” ื•ืžืขื ื™ืงื” ื’ื™ืฉื” ืœืžืฉืชืžืฉ ื”ืžืื•ืžืช

ื™ืชืจื•ื ื•ืช ืฉืœ SAML

  • ืื‘ื˜ื—ื” ืžื•ื’ื‘ืจืช: ืื™ืžื•ืช ืžืจื•ื›ื– ืžืฆืžืฆื ืกื™ื›ื•ื ื™ื ื”ืงืฉื•ืจื™ื ื‘ืกื™ืกืžืื•ืช
  • ืฉื™ืคื•ืจ ื—ื•ื•ื™ื™ืช ื”ืžืฉืชืžืฉ: ืžืฉืชืžืฉื™ื ื ื›ื ืกื™ื ืคืขื ืื—ืช ื•ื ื™ื’ืฉื™ื ืœืžืกืคืจ ื™ื™ืฉื•ืžื™ื ื‘ืฆื•ืจื” ื—ืœืงื”
  • ืฆื™ื•ืช (Compliance): ืžืกื™ื™ืข ืœืขืžื•ื“ ื‘ื“ืจื™ืฉื•ืช ืจื’ื•ืœื˜ื•ืจื™ื•ืช ืœื‘ืงืจืช ื’ื™ืฉื” ื•ื™ื•ืžื ื™ ื‘ื™ืงื•ืจืช
  • ื‘ืงืจืช ื ื™ื”ื•ืœ: ืžื ื”ืœื™ ื”-IT ืฉื•ืžืจื™ื ืขืœ ื ื™ื”ื•ืœ ืžืฉืชืžืฉื™ื ืžืจื•ื›ื–

ืชืžื™ื›ื” ื‘-SAML 2.0

FastComments ืžื™ื™ืฉืžืช ืืช SAML 2.0, ื”ื’ืจืกื” ื”ื ืคื•ืฆื” ื‘ื™ื•ืชืจ ืฉืœ ืชืงืŸ SAML. ื”ื™ื™ืฉื•ื ืฉืœื ื• ืชื•ืžืš ื‘:

  • ืงื™ืฉื•ืจื™ HTTP-POST ื•-HTTP-Redirect
  • ืชื’ื•ื‘ื•ืช ื•ื”ืฆื”ืจื•ืช SAML ื—ืชื•ืžื•ืช
  • ื”ืฆื”ืจื•ืช ืžื•ืฆืคื ื•ืช (ืื•ืคืฆื™ื•ื ืœื™)
  • ืžืกืคืจ ืืœื’ื•ืจื™ืชืžื™ ื—ืชื™ืžื” ื•-digest
  • ืคื•ืจืžื˜ื™ื ืฉื•ื ื™ื ืฉืœ ืžื–ื”ื™ ืฉื

SAML ืœืขื•ืžืช SSO Internal Link

FastComments ืžืฆื™ืขื” ื”ืŸ SSO ื•ื”ืŸ ืื™ืžื•ืช SAML. ื”ื‘ื ื” ืฉืœ ื”ื”ื‘ื“ืœื™ื ืขื•ื–ืจืช ืœื›ื ืœื‘ื—ื•ืจ ืืช ื”ื’ื™ืฉื” ื”ื ื›ื•ื ื” ืœืืจื’ื•ืŸ ืฉืœื›ื.

SSO ืคืฉื•ื˜/ืžืื•ื‘ื˜ื—

FastComments ืžืฆื™ืขื” ืฉื ื™ ื–ืจืžื™ SSO ืฉื•ื ื™ื ืœืื™ืžื•ืช ืœืชื•ืš ื•ื•ื™ื“ื’'ื˜ ื”ืชื’ื•ื‘ื•ืช ื“ืจืš ื”ืืชืจ ืฉืœื›ื. ื–ื” ืฉื•ื ื” ืžโ€‘SAML, ื•ืœื ื“ื•ืจืฉ SAML. ื‘ืžืงื•ื ื–ืืช, Simple SSO ื“ื•ืจืฉ ืคืฉื•ื˜ ื”ืขื‘ืจืช ืื•ื‘ื™ื™ืงื˜ ืืœ ื•ื•ื™ื“ื’'ื˜ ื”ืชื’ื•ื‘ื•ืช, ื‘ืขื•ื“ Secure SSO ืขื•ืฉื” ื–ืืช ื‘ื ื•ืกืฃ ืœื›ืš ืฉืžื—ืฉื‘ืช ืืช ื”ืžื˜ืขืŸ ื‘ืืžืฆืขื•ืช ืžืคืชื— API.

SAML, ืœืขื•ืžืช ื–ืืช, ืžืืžืช ืืช ื”ืžืฉืชืžืฉ ืœื›ืœ ื”ืžื•ืฆืจ (ื‘ื”ืชื‘ืกืก ืขืœ ื”ื”ืจืฉืื•ืช ืฉืœื•) ื›ืžื• ื’ื ืืช ื•ื•ื™ื“ื’'ื˜ ื”ืชื’ื•ื‘ื•ืช (ืื ื™ืฉ ืœื”ื ืขื•ื’ื™ื•ืช ืฆื“ ืฉืœื™ืฉื™ ืžื•ืคืขืœื•ืช ืขื‘ื•ืจ ื”ื“ื•ืžื™ื™ืŸ ืฉืœื ื•).

ืื™ืžื•ืช SAML

SAML ื”ื•ื ืคืจื•ื˜ื•ืงื•ืœ ืื™ืžื•ืช ื‘ืจืžืช ืืจื’ื•ื ื™ืช ืฉืžืกืคืง ื™ื›ื•ืœื•ืช ืื‘ื˜ื—ื” ื•ืฉื™ืœื•ื‘ ื—ื–ืงื•ืช ื™ื•ืชืจ:

  • Implementation: ื“ื•ืจืฉ ืชืฆื•ืจืช ืกืคืง ื–ื”ื•ืช (IdP) ื•ื”ื—ืœืคืช ืชืขื•ื“ื•ืช
  • Security: ืžืฉืชืžืฉ ื‘ื”ืฆื”ืจื•ืช XML ื—ืชื•ืžื•ืช ื•ืชื•ืžืš ื‘ื”ืฆืคื ื”
  • Use Case: ืื™ื“ื™ืืœื™ ืขื‘ื•ืจ ืืจื’ื•ื ื™ื ืขื ืชืฉืชื™ืช SAML ืงื™ื™ืžืช (Active Directory, Okta, ื•ื›ื•')
  • Setup Complexity: ื™ื•ืชืจ ืžืขื•ืจื‘ - ื“ื•ืจืฉ ืชืฆื•ืจืช IdP ื•ื ื™ื”ื•ืœ ืชืขื•ื“ื•ืช
  • Enterprise Features: ืžื™ืคื•ื™ ืชืคืงื™ื“ื™ื ืžืชืงื“ื, ื ื™ื”ื•ืœ ืžืฉืชืžืฉื™ื ืžืจื›ื–ื™, ืฉืžื™ืจืช ืจื™ืฉื•ืžื™ ื‘ื™ืงื•ืจืช

ืžืชื™ ืœื‘ื—ื•ืจ ื‘โ€‘SAML

ืฉืงืœื• ืื™ืžื•ืช SAML ืื ื”ืืจื’ื•ืŸ ืฉืœื›ื:

  • ื›ื‘ืจ ืžืฉืชืžืฉ ื‘ืกืคืง ื–ื”ื•ืช ื”ืชื•ืื ืœโ€‘SAML (Okta, Azure AD, ADFS, ื•ื›ื•')
  • ื“ื•ืจืฉ ืื‘ื˜ื—ื” ื•ืขืžื™ื“ื” ื‘ืจื’ื•ืœืฆื™ื” ื‘ืจืžืช ืืจื’ื•ื ื™ืช
  • ืฆืจื™ืš ื ื™ื”ื•ืœ ืžืฉืชืžืฉื™ื ืžืจื›ื–ื™ ื•ืฉืœื™ื˜ื” ื‘ื’ื™ืฉื”
  • ื™ืฉ ืœื• ืžืกืคืจ ืืคืœื™ืงืฆื™ื•ืช ื”ืžืฉืชืžืฉื•ืช ื‘โ€‘SAML ืœืื™ืžื•ืช
  • ื“ื•ืจืฉ ืจื™ืฉื•ืžื™ ื‘ื™ืงื•ืจืช ืžืคื•ืจื˜ื™ื ื•ื“ื•ื—ื•ืช ืื‘ื˜ื—ื”

ืžืชื™ ืœื‘ื—ื•ืจ ื‘โ€‘SSO ืคืฉื•ื˜ ืื• ืžืื•ื‘ื˜ื—

ืคืชืจื•ื ื•ืช SSO ื”ืžืžื•ืงื“ื™ื ืœื•ื•ื™ื“ื’'ื˜ ืฉืœื ื• ืขืฉื•ื™ื™ื ืœื”ืกืคื™ืง ืื ืืชื:

  • ืžื—ื–ื™ืงื™ื ื‘ืžืขืจื›ืช ืื™ืžื•ืช ืžื•ืชืืžืช ืื™ืฉื™ืช
  • ืฆืจื™ื›ื™ื ื™ื™ืฉื•ื ืžื”ื™ืจ ืขื ื”ื’ื“ืจื” ืžื™ื ื™ืžืœื™ืช
  • ืœื ื–ืงื•ืงื™ื ืœืฉื™ืœื•ื‘ ืขื ืกืคืง ื–ื”ื•ืช ืืจื’ื•ื ื™
  • ืจื•ืฆื™ื ืœืฉืœื•ื˜ ื‘ื ืชื•ื ื™ ื”ืžืฉืชืžืฉ ื™ืฉื™ืจื•ืช ืžื”ืืคืœื™ืงืฆื™ื” ืฉืœื›ื
  • ื™ืฉ ืœื›ื ื“ืจื™ืฉื•ืช ืื‘ื˜ื—ื” ืคืฉื•ื˜ื•ืช ื™ื•ืชืจ

Simple ื•โ€‘Secure SSO ืžืฉืžืฉื™ื ื‘ื“ืจืš ื›ืœืœ ืขื‘ื•ืจ ืคื•ืจื˜ืœื™ื ืžืงื•ื•ื ื™ื, ื‘ืœื•ื’ื™ื, ื•ื›ื•', ืฉื‘ื”ื ืœืžืฉืชืžืฉ ื›ื‘ืจ ื™ืฉ ื—ืฉื‘ื•ืŸ ื“ืจืš ื”ืืชืจ ืื• ื”ืืคืœื™ืงืฆื™ื” ืฉืœื›ื ืื‘ืœ ื”ื•ื ืœื ื‘ื”ื›ืจื— ืžืฉืชืžืฉ ื‘โ€‘SAML.

ืชืคืงื™ื“ื™ื ื•ื”ืจืฉืื•ืช ืžืฉืชืžืฉ Internal Link

FastComments ืžืžืคื” ืชืคืงื™ื“ื™ ืžืฉืชืžืฉ ืฉืœ SAML ืœื”ืจืฉืื•ืช ืคื ื™ืžื™ื•ืช, ื•ืžืืคืฉืจ ื‘ืงืจืช ื’ื™ืฉื” ืžื‘ื•ืกืกืช-ืชืคืงื™ื“ื™ื ืขื‘ื•ืจ ื”ืืจื’ื•ืŸ ืฉืœืš.

ืžืขืจื›ืช ื”ืชืคืงื™ื“ื™ื ืฉืœ FastComments

FastComments ืžืฉืชืžืฉืช ื‘ืžืขืจื›ืช ื”ืจืฉืื•ืช ืžื‘ื•ืกืกืช ืชืคืงื™ื“ื™ื ืฉื‘ื” ืœืžืฉืชืžืฉื™ื ื™ื›ื•ืœื™ื ืœื”ื™ื•ืช ืชืคืงื™ื“ื™ื ืื—ื“ื™ื ืื• ื™ื•ืชืจ ืฉืงื•ื‘ืขื™ื ืืช ืจืžื•ืช ื”ื’ื™ืฉื” ื•ื”ื™ื›ื•ืœื•ืช ืฉืœื”ื.

ืชืคืงื™ื“ื™ FastComments ื”ื–ืžื™ื ื™ื

ืชืคืงื™ื“ื™ื ื ื™ื”ื•ืœื™ื™ื

fc-account-owner

  • Permissions: ื’ื™ืฉื” ื ื™ื”ื•ืœื™ืช ืžืœืื”
  • Capabilities: ื›ืœ ื”ืชื›ื•ื ื•ืช, ื ื™ื”ื•ืœ ืชืฉืœื•ืžื™ื, ื ื™ื”ื•ืœ ืžืฉืชืžืฉื™ื
  • Use Case: ืžื ื”ืœื™ ื—ืฉื‘ื•ืŸ ืจืืฉื™ื™ื ื•ื‘ืขืœื™ ื—ืฉื‘ื•ืŸ

fc-admin-admin

  • Permissions: ื’ื™ืฉื” ื ื™ื”ื•ืœื™ืช ืœืจื•ื‘ ื”ืชื›ื•ื ื•ืช
  • Capabilities: ื ื™ื”ื•ืœ ืžืฉืชืžืฉื™ื, ืงื•ื ืคื™ื’ื•ืจืฆื™ื”, ืžืชืŸ ื—ืกื™ืžื•ืช/ื‘ืงืจื”. ื™ื›ื•ืœ ืœื ื”ืœ ืžื ื”ืœื™ื ืื—ืจื™ื.
  • Use Case: ืžื ื”ืœื™ื ืžืฉื ื™ื™ื ื•ืฆื•ื•ืชื™ IT

fc-billing-admin

  • Permissions: ื ื™ื”ื•ืœ ื—ืฉื‘ื•ื ื™ื•ืช ื•ืžื ื•ื™ื™ื
  • Capabilities: ืฉื™ื˜ื•ืช ืชืฉืœื•ื, ื—ืฉื‘ื•ื ื™ื•ืช, ืฉื™ื ื•ื™ื™ื ื‘ืžื ื•ื™
  • Use Case: ื—ื‘ืจื™ ืฆื•ื•ืช ื”ื›ืกืคื™ื ื•ื ืฆื™ื’ื™ ื—ื™ื•ื‘

ืชืคืงื™ื“ื™ื ืžื™ื•ื—ื“ื™ื

fc-analytics-admin

  • Permissions: ื’ื™ืฉื” ืœื ื™ืชื•ื—ื™ื ื•ื“ื™ื•ื•ื—
  • Capabilities: ืฆืคื™ื™ื” ื‘ืกื˜ื˜ื™ืกื˜ื™ืงื•ืช ื”ืืชืจ, ื ืชื•ื ื™ ืžืขื•ืจื‘ื•ืช ืžืฉืชืžืฉื™ื
  • Use Case: ืฆื•ื•ืชื™ ืฉื™ื•ื•ืง ื•ืื ืœื™ืกื˜ื™ื ื ืชื•ื ื™ื

fc-api-admin

  • Permissions: ื’ื™ืฉื” ื•ื ื™ื”ื•ืœ API
  • Capabilities: ืื™ืฉื•ืจื™ API, ืงื•ื ืคื™ื’ื•ืจืฆื™ื™ืช webhooks
  • Use Case: ืžืคืชื—ื™ื ื•ืžืฉืœื‘ื™ื ื˜ื›ื ื™ื™ื

fc-moderator

  • Permissions: ื™ื›ื•ืœื•ืช ืžืชื•ื•ืš ืชื’ื•ื‘ื•ืช
  • Capabilities: ืื™ืฉื•ืจ/ื“ื—ื™ื™ื” ืฉืœ ืชื’ื•ื‘ื•ืช, ื ื™ื”ื•ืœ ืกืคืื
  • Use Case: ืžืคืงื—ื™ ืงื”ื™ืœื” ื•ืžื ื”ืœื™ ืชื•ื›ืŸ

ืชืฆื•ืจืช ืžื™ืคื•ื™ ืชืคืงื™ื“ื™ื

ืžืงื•ืจื•ืช ืžืืคื™ื™ื ื™ SAML

FastComments ืžืงื‘ืœืช ืžื™ื“ืข ืขืœ ืชืคืงื™ื“ื™ื ืžืฉืžื•ืช ืžืืคื™ื™ื ื™ SAML ืฉื•ื ื™ื ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ืชืื™ืžื•ืช ืขื ืกืคืงื™ ื–ื”ื•ืช ืฉื•ื ื™ื:

Standard Attribute Names:

  • roles
  • groups
  • memberOf
  • role
  • group

Microsoft/ADFS Attributes:

  • http://schemas.microsoft.com/ws/2008/06/identity/claims/role
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/role

ืคื•ืจืžื˜ื™ื ื ืชืžื›ื™ื ืฉืœ ืชืคืงื™ื“ื™ื

Array Format (Preferred):

<saml:Attribute Name="roles">
    <saml:AttributeValue>fc-admin-admin</saml:AttributeValue>
    <saml:AttributeValue>fc-moderator</saml:AttributeValue>
</saml:Attribute>

Comma-Separated Format:

<saml:Attribute Name="roles">
    <saml:AttributeValue>fc-admin-admin,fc-moderator</saml:AttributeValue>
</saml:Attribute>

Single Role Format:

<saml:Attribute Name="roles">
    <saml:AttributeValue>fc-admin-admin</saml:AttributeValue>
</saml:Attribute>

ืงื•ื ืคื™ื’ื•ืจืฆื™ื™ืช ืชืคืงื™ื“ื™ ืกืคืง ื–ื”ื•ืช

Microsoft Azure AD

  1. App Roles Configuration:

    • ื”ื’ื“ืจ ืืช ืชืคืงื™ื“ื™ FastComments ื‘ืืคืœื™ืงืฆื™ื™ืช Azure AD ืฉืœืš
    • ื”ืงืฆื” ืžืฉืชืžืฉื™ื ืœืชืคืงื™ื“ื™ ื”ื™ื™ืฉื•ื ื”ืžืชืื™ืžื™ื
    • ืงื ืคื’ claims ืœื›ืœื•ืœ ืืช ื”ืชืคืงื™ื“ื™ื ืฉื”ื•ืงืฆื•
  2. Attribute Mapping:

    Attribute Name: roles
    Source Attribute: user.assignedroles

Okta

  1. Group Assignment:

    • ืฆื•ืจ ืงื‘ื•ืฆื•ืช ื”ืชื•ืืžื•ืช ืœืฉืžื•ืช ืชืคืงื™ื“ื™ FastComments
    • ื”ืงืฆื” ืžืฉืชืžืฉื™ื ืœืงื‘ื•ืฆื•ืช ื”ืžืชืื™ืžื•ืช
    • ืงื ืคื’ ื”ืฆื”ืจื•ืช ืžืืคื™ื™ื ื™ื
  2. Attribute Statement:

    Name: roles
    Value: user.groups
    Filter: Starts with "fc-"

Google Workspace

  1. Group Mapping:

    • ืฆื•ืจ ื™ื—ื™ื“ื•ืช ืืจื’ื•ื ื™ื•ืช ืื• ืงื‘ื•ืฆื•ืช
    • ืชืŸ ืฉืžื•ืช ืœืงื‘ื•ืฆื•ืช ืขื ืงื™ื“ื•ืžื•ืช ืชืคืงื™ื“ื™ FastComments
    • ืงื ืคื’ ืžื™ืคื•ื™ ืžืืคื™ื™ื ื™ื
  2. Custom Attributes:

    Attribute Name: roles
    Value: Groups or custom schema attribute

ื”ืชื ื”ื’ื•ืช ื‘ืจื™ืจืช ืžื—ื“ืœ ืฉืœ ืžืฉืชืžืฉื™ื

ืžืฉืชืžืฉื™ื ืœืœื ืชืคืงื™ื“ื™ื

ื›ืืฉืจ ืœืžืฉืชืžืฉ SAML ืื™ืŸ ืชืคืงื™ื“ื™ื ืื• ืฉื™ืฉ ืœื• ืชืคืงื™ื“ื™ื ืฉืœื ืžื–ื•ื”ื™ื:

  • ื”ืžืฉืชืžืฉ ื ื•ืฆืจ ื›ืžืชื’ื™ื‘ ืกื˜ื ื“ืจื˜ื™
  • ืœื ื ื™ืชื ืช ื’ื™ืฉื” ื ื™ื”ื•ืœื™ืช
  • ื™ื›ื•ืœ ืœืคืจืกื ื•ืœื ื”ืœ ืืช ื”ืชื’ื•ื‘ื•ืช ืฉืœื• ื‘ืœื‘ื“
  • ืœื ื™ื›ื•ืœ ืœื’ืฉืช ืœืคื•ื ืงืฆื™ื•ืช ืœื•ื— ื”ื ื™ื”ื•ืœ

ื™ืจื•ืฉืช ืชืคืงื™ื“ื™ื

  • ืœืžืฉืชืžืฉื™ื ื™ื›ื•ืœื™ื ืœื”ื™ื•ืช ืžืกืคืจ ืชืคืงื™ื“ื™ื ื‘ื•-ื–ืžื ื™ืช
  • ื”ื”ืจืฉืื•ืช ืžืฆื˜ื‘ืจื•ืช (ื—ืœ ื”ืจืžื” ื”ื’ื‘ื•ื”ื” ื‘ื™ื•ืชืจ ืฉืœ ื”ืจืฉืื”)
  • ืฉื™ื ื•ื™ื™ื ื‘ืชืคืงื™ื“ื™ื ื‘-IdP ืžืฉืชืงืคื™ื ื‘ื›ื ื™ืกื” ื”ื‘ืื”

ื ื™ื”ื•ืœ ืžืฉืชืžืฉื™ SAML

ื™ืฆื™ืจืช ืžืฉืชืžืฉ

ื›ืืฉืจ ืžืฉืชืžืฉ ื ื›ื ืก ื“ืจืš SAML ื‘ืคืขื ื”ืจืืฉื•ื ื”:

  1. User Account: ื ื•ืฆืจ ืื•ื˜ื•ืžื˜ื™ืช ื›ืฉื”ืžื™ื™ืœ ืžืฉืžืฉ ื›ืžื–ื”ื”
  2. Role Assignment: ื”ืชืคืงื™ื“ื™ื ืžื•ื—ืœื™ื ื‘ื”ืชื‘ืกืก ืขืœ ืžืืคื™ื™ื ื™ SAML
  3. Profile Information: ืฉื ืคืจื˜ื™/ืžืฉืคื—ื” ืžืชืžืœืื™ื ืื ืกื•ืคืงื•
  4. Permission Activation: ื”ืชืคืงื™ื“ื™ื ื”ื•ืคื›ื™ื ืคืขื™ืœื™ื ืžื™ื“

ืขื“ื›ื•ื ื™ ืชืคืงื™ื“ื™ื

ืžืฉืชืžืฉื™ SAML ืงื™ื™ืžื™ื ืžืงื‘ืœื™ื ืขื“ื›ื•ื ื™ ืชืคืงื™ื“ื™ื:

  1. Login Trigger: ืขื“ื›ื•ื ื™ ืชืคืงื™ื“ื™ื ืžืชื‘ืฆืขื™ื ื‘ืžื”ืœืš ื›ืœ ื›ื ื™ืกืช SAML
  2. Immediate Effect: ื”ืจืฉืื•ืช ื—ื“ืฉื•ืช ื—ืœื•ืช ืžื™ื“
  3. Role Removal: ืชืคืงื™ื“ื™ื ืฉื”ื•ืกืจื• ืžื‘ื•ื˜ืœื™ื ืื•ื˜ื•ืžื˜ื™ืช
  4. Audit Trail: ืฉื™ื ื•ื™ื™ื ื‘ืชืคืงื™ื“ื™ื ืžืชื•ืขื“ื™ื™ื ื‘ื™ื•ืžื ื™ ื‘ื™ืงื•ืจืช

ืžื™ืคื•ื™ ืชืคืงื™ื“ื™ื ืžื•ืชืื

ื”ืชืืžื” ืืจื’ื•ื ื™ืช

ืœืœืงื•ื—ื•ืช ืืจื’ื•ื ื™ื™ื ืขื ื“ืจื™ืฉื•ืช ืžื™ื•ื—ื“ื•ืช:

  • ื ื™ืชืŸ ืœืžืคื•ืช ืฉืžื•ืช ืชืคืงื™ื“ื™ื ืžื•ืชืืžื™ื ืœื”ืจืฉืื•ืช FastComments
  • ื ื™ืชืŸ ืœื™ื™ืฉื ื”ื™ืจืจื›ื™ื•ืช ืชืคืงื™ื“ื™ื ืžื•ืจื›ื‘ื•ืช
  • ื ื™ืชืŸ ืœื”ื’ื“ื™ืจ ื‘ืงืจื•ืช ื’ื™ืฉื” ืกืคืฆื™ืคื™ื•ืช ืœืžื—ืœืงื•ืช

ืคื ื” ืœืชืžื™ื›ืช FastComments ืขื‘ื•ืจ ืชืฆื•ืจื•ืช ืžื™ืคื•ื™ ืชืคืงื™ื“ื™ื ืžื•ืชืืžื•ืช.

ืื™ืžื•ืช ืชืคืงื™ื“ื™ื

FastComments ืžืืžืชืช ืชืคืงื™ื“ื™ื ื ื›ื ืกื™ื:

  • ืชืคืงื™ื“ื™ื ืฉืœื ืžื–ื•ื”ื™ื ืžืชืขืœืžื™ื (ืœื ื ื“ื—ื™ื)
  • ืžืืคื™ื™ื ื™ ืชืคืงื™ื“ื™ื ืคื’ื•ืžื™ื ืžืชื•ืขื“ื™ื ืœืฆื•ืจื›ื™ ืคืชืจื•ืŸ ื‘ืขื™ื•ืช
  • ืžืฉืชืžืฉื™ื ืฉื•ืžืจื™ื ืขืœ ื”ืชืคืงื™ื“ื™ื ื”ืงื™ื™ืžื™ื ืื ื”ื™ืกื˜ื™ืช SAML ื—ืกืจืช ืžื™ื“ืข ืขืœ ืชืคืงื™ื“ื™ื

ืฉื™ื˜ื•ืช ืžื•ืžืœืฆื•ืช

ื ื™ื”ื•ืœ ืชืคืงื™ื“ื™ื

  1. Principle of Least Privilege: ื”ืงืฆื” ืืช ื”ื”ืจืฉืื•ืช ื”ืžื™ื ื™ืžืœื™ื•ืช ื”ื ื—ื•ืฆื•ืช
  2. Regular Auditing: ื‘ื“ื•ืง ืชืคืงื™ื“ื™ื ื•ื’ื™ืฉื” ื‘ืื•ืคืŸ ืชืงื•ืคืชื™
  3. Clear Naming: ื”ืฉืชืžืฉ ื‘ืฉืžื•ืช ืงื‘ื•ืฆื•ืช ืชื™ืื•ืจื™ื™ื ื‘-IdP ืฉืœืš
  4. Documentation: ืชื—ื–ืง ืชื™ืขื•ื“ ืฉืœ ื”ืงืฆืื•ืช ืชืคืงื™ื“ื™ื

ืฉื™ืงื•ืœื™ ืื‘ื˜ื—ื”

  1. Role Attributes: ื•ื“ื ืฉืžืืคื™ื™ื ื™ ื”ืชืคืงื™ื“ ืžืื•ื‘ื˜ื—ื™ื ื›ืจืื•ื™ ื‘ืชื’ื•ื‘ื•ืช SAML
  2. Attribute Validation: ืืžืช ืฉืจืง ืžืขืจื›ื•ืช ืžื•ืจืฉื•ืช ื™ื›ื•ืœื•ืช ืœื”ืงืฆื•ืช ืชืคืงื™ื“ื™ื
  3. Access Reviews: ื‘ื“ื•ืง ื‘ืื•ืคืŸ ืชื“ื™ืจ ื”ืงืฆืื•ืช ืชืคืงื™ื“ื™ื ื ื™ื”ื•ืœื™ื™ื
  4. Monitoring: ื ื˜ืจ ืฉื™ื ื•ื™ื™ื ื‘ืชืคืงื™ื“ื™ื ื•ืคืขื•ืœื•ืช ื ื™ื”ื•ืœื™ื•ืช

ืคืชืจื•ืŸ ื‘ืขื™ื•ืช ื‘ืชืคืงื™ื“ื™ื

ื‘ืขื™ื•ืช ื ืคื•ืฆื•ืช

Roles Not Applied:

  • ื‘ื“ื•ืง ืฉืฉืžื•ืช ืžืืคื™ื™ื ื™ SAML ืชื•ืืžื™ื ืœืคื•ืจืžื˜ื™ื ื”ื ืชืžื›ื™ื
  • ืืžืช ืฉืกืคืง ื”ื–ื”ื•ืช ืฉื•ืœื— ืžื™ื“ืข ืชืคืงื™ื“ื™ื
  • ืืฉืจ ืฉืขืจื›ื™ ื”ืชืคืงื™ื“ ืชื•ืืžื™ื ื‘ื“ื™ื•ืง ืœืฉืžื•ืช ืชืคืงื™ื“ื™ FastComments

Access Denied:

  • ื•ื“ื ืฉืœืžืฉืชืžืฉ ืžื•ืงืฆื” ืชืคืงื™ื“ ืžืชืื™ื ื‘-IdP
  • ื‘ื“ื•ืง ืื™ื•ืช ื•ืจื’ื™ืฉื•ืช ืœืื•ืชื™ื•ืช ื’ื“ื•ืœื•ืช/ืงื˜ื ื•ืช ืฉืœ ื”ืชืคืงื™ื“
  • ืืฉืจ ืฉื”ืชืคืงื™ื“ ืžืขื•ืฆื‘ ื›ืจืื•ื™ ื‘ืชืฉื•ื‘ืช SAML

Missing Permissions:

  • ื‘ื“ื•ืง ืืช ื”ื’ื“ืจื•ืช ื”ืชืคืงื™ื“ื™ื ื•ื”ื”ืจืฉืื•ืช ื”ื ื“ืจืฉื•ืช
  • ื‘ื“ื•ืง ื”ืงืฆืื•ืช ืชืคืงื™ื“ื™ื ืžืชื ื’ืฉื•ืช
  • ืืžืช ืฉื”ืžืฉืชืžืฉ ื ื›ื ืก ืœืื—ืจ ืฉื™ื ื•ื™ื™ื ื‘ืชืคืงื™ื“ื™ื

ืฉื™ื˜ื•ืช ืขื‘ื•ื“ื” ืžื•ืžืœืฆื•ืช ืœืื‘ื˜ื—ื” Internal Link

SAML implementation security is critical for protecting your organization's authentication infrastructure and user data.

SAML Security Fundamentals

Digital Signatures

SAML Response Signing:

  • All SAML responses must be digitally signed by the IdP
  • FastComments validates signatures using the IdP's public certificate
  • Prevents tampering with authentication assertions
  • Ensures responses originate from trusted IdP

Certificate Validation:

  • Certificates are validated against configured IdP certificate
  • Certificate chain validation ensures trust hierarchy
  • Expired or invalid certificates are rejected
  • Certificate rotation should be planned and coordinated

Assertion Security

Audience Restriction:

  • SAML assertions include audience restriction (SP Entity ID)
  • Prevents assertion replay attacks against other service providers
  • FastComments validates audience matches tenant configuration
  • Reject assertions intended for other applications

Time-Based Validation:

  • Assertions include time-based validity windows
  • NotBefore and NotOnOrAfter conditions are enforced
  • Prevents replay of old assertions
  • Clock skew tolerance is configurable

Communication Security

Transport Layer Security

HTTPS Requirements:

  • All SAML communication occurs over HTTPS
  • TLS 1.2 or higher is required
  • Certificate validation prevents man-in-the-middle attacks
  • Secure communication protects sensitive authentication data

Endpoint Security:

  • SAML endpoints use secure, authenticated connections
  • IdP and SP endpoints must support modern TLS
  • Weak cipher suites are rejected
  • Certificate pinning may be implemented for additional security

Data Protection

Sensitive Data Handling:

  • SAML assertions may contain sensitive user information
  • Data is encrypted in transit and processed securely
  • Temporary storage is minimized and secured
  • User data retention follows privacy requirements

Assertion Encryption (Optional):

  • SAML assertions can be encrypted for additional security
  • Useful when assertions traverse untrusted networks
  • Requires private key configuration in FastComments
  • Most deployments rely on TLS encryption instead

Authentication Security

Single Sign-On Benefits

Centralized Authentication:

  • Reduces password-related security risks
  • Enables consistent security policies
  • Provides single point for access control
  • Facilitates compliance with security standards

Session Management:

  • SAML enables secure session establishment
  • Session timeouts can be centrally managed
  • Single logout capabilities (if supported by IdP)
  • Reduces credential exposure across applications

Multi-Factor Authentication

IdP MFA Integration:

  • MFA requirements enforced by identity provider
  • FastComments inherits IdP security policies
  • Supports various MFA methods (SMS, authenticator apps, hardware tokens)
  • Centralized MFA policy management

Access Control Security

Role-Based Access Control

Principle of Least Privilege:

  • Assign minimum necessary permissions to users
  • Use specific roles rather than overly broad permissions
  • Regular review of role assignments
  • Remove access when no longer needed

Role Validation:

  • SAML role attributes are validated and sanitized
  • Unknown roles are ignored (not rejected)
  • Role changes are applied immediately upon login
  • Audit trail maintained for role changes

Administrative Access

Admin Role Protection:

  • Administrative roles require explicit assignment
  • Monitor administrative access and activities
  • Implement approval workflows for sensitive role assignments
  • Regular auditing of administrative accounts

Identity Provider Security

IdP Configuration Security

Certificate Management:

  • Use strong certificates (RSA-2048 or higher)
  • Implement proper certificate rotation procedures
  • Secure private key storage at IdP
  • Monitor certificate expiration dates

Access Control:

  • Restrict who can modify SAML application configuration
  • Implement approval processes for configuration changes
  • Monitor configuration changes and access
  • Regular security reviews of IdP configuration

Attribute Security

Sensitive Attribute Protection:

  • Minimize sensitive data in SAML attributes
  • Use role identifiers rather than sensitive group names
  • Encrypt assertions containing sensitive information
  • Follow data minimization principles

Attribute Validation:

  • Validate all incoming SAML attributes
  • Sanitize attribute values to prevent injection attacks
  • Implement attribute value restrictions where appropriate
  • Log suspicious or malformed attributes

Monitoring and Auditing

Authentication Monitoring

Failed Authentication Tracking:

  • Monitor failed SAML authentication attempts
  • Alert on unusual authentication patterns
  • Track certificate validation failures
  • Log configuration-related errors

Success Monitoring:

  • Monitor successful authentication rates
  • Track user role assignments and changes
  • Verify normal authentication flow timing
  • Monitor for unexpected user creation

Security Event Logging

Audit Trail Maintenance:

  • Log all SAML authentication events
  • Maintain records of configuration changes
  • Track administrative actions and access
  • Store logs securely with tamper protection

Alert Configuration:

  • Set up alerts for security-relevant events
  • Monitor for certificate expiration
  • Alert on repeated authentication failures
  • Notify of unusual administrative activity

Compliance Considerations

Data Privacy

User Data Protection:

  • Follow GDPR, CCPA, and relevant privacy regulations
  • Minimize personal data collection and processing
  • Provide user control over personal information
  • Implement data retention and deletion policies

Cross-Border Data Transfer:

  • Consider data residency requirements
  • Implement appropriate safeguards for international transfers
  • Document data flows between IdP and FastComments
  • Ensure compliance with local privacy laws

Security Standards

Industry Standards Compliance:

  • Follow SAML 2.0 security best practices
  • Implement NIST authentication guidelines
  • Consider SOC 2 and ISO 27001 requirements
  • Regular security assessments and penetration testing

Incident Response

Security Incident Procedures

Breach Response:

  • Immediate containment of security incidents
  • Notification of affected parties
  • Investigation and root cause analysis
  • Implementation of corrective measures

Certificate Compromise:

  • Immediate revocation of compromised certificates
  • Emergency certificate rotation procedures
  • User notification and re-authentication requirements
  • Security review and strengthening measures

Business Continuity

Backup Authentication Methods:

  • Maintain alternative authentication methods
  • Document emergency access procedures
  • Regular testing of backup authentication
  • Clear communication during outages

Disaster Recovery:

  • Document SAML configuration for disaster recovery
  • Maintain copies of certificates and configuration
  • Test recovery procedures regularly
  • Coordinate with IdP disaster recovery plans

Security Best Practices Summary

Implementation Security

  1. Use Strong Certificates: RSA-2048 or higher with proper validation
  2. Enforce HTTPS: All communication over secure, encrypted channels
  3. Validate All Input: Sanitize and validate all SAML attributes
  4. Monitor Continuously: Implement comprehensive monitoring and alerting
  5. Regular Reviews: Conduct periodic security reviews and updates

Operational Security

  1. Principle of Least Privilege: Assign minimal necessary permissions
  2. Regular Auditing: Review access, roles, and configurations regularly
  3. Documentation: Maintain current security documentation
  4. Training: Ensure staff understand SAML security requirements
  5. Incident Preparedness: Have incident response procedures ready

Organizational Security

  1. Change Management: Implement controlled change processes
  2. Separation of Duties: Divide administrative responsibilities
  3. Regular Updates: Keep all systems and certificates current
  4. Vendor Management: Monitor security of IdP and related services
  5. Compliance Monitoring: Ensure ongoing compliance with regulations

ืื™ืžื•ืช SAML ืžืกืคืง ืื‘ื˜ื—ื” ื‘ืจืžืช ืืจื’ื•ื ื™ื ื•ื—ื•ื•ื™ื™ืช ืžืฉืชืžืฉ ื—ืœืงื” ืœืžืฉืชืžืฉื™ FastComments. ืขื ืงื•ื ืคื™ื’ื•ืจืฆื™ื” ื ื›ื•ื ื” ื•ื‘ื“ื™ืงื•ืช ื ืื•ืชื•ืช, SAML ืžืืคืฉืจ ื›ื ื™ืกื” ื™ื—ื™ื“ื” ืžืื•ื‘ื˜ื—ืช ืฉืžืฉืชืœื‘ืช ืขื ืชืฉืชื™ืช ื”ื–ื”ื•ืช ื”ืงื™ื™ืžืช ืฉืœื›ื ืชื•ืš ืฉืžื™ืจื” ืขืœ ื‘ืงืจื•ืช ืื‘ื˜ื—ื” ื—ื–ืงื•ืช ื•ื™ื›ื•ืœื•ืช ื‘ื™ืงื•ืจืช ืžืงื™ืคื•ืช.