FastComments.com

FastComments๋Š” Flex ๋ฐ Pro ์š”๊ธˆ์ œ ๊ณ ๊ฐ์„ ์œ„ํ•ด SAML 2.0 ์ธ์ฆ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. SAML์€ ์กฐ์ง์˜ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œ๊ณต์ž(identity provider)๋ฅผ ํ†ตํ•ด ์•ˆ์ „ํ•œ ์‹ฑ๊ธ€ ์‚ฌ์ธ์˜จ(SSO) ์ธ์ฆ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ๊ธฐ์กด์˜ ๊ธฐ์—… ์ž๊ฒฉ ์ฆ๋ช…์œผ๋กœ FastComments์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ€์ด๋“œ๋Š” SAML ์ธ์ฆ์˜ ์„ค์ •, ๊ตฌ์„ฑ ๋ฐ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

SAML์ด๋ž€? Internal Link

SAML (Security Assertion Markup Language) is an XML-based open standard for exchanging authentication and authorization data between parties, particularly between an identity provider (IdP) and a service provider (SP).

How SAML Works

SAML enables single sign-on (SSO) by allowing users to authenticate once with their identity provider and then access multiple applications without re-entering credentials. When a user attempts to access FastComments:

  1. Authentication Request: FastComments redirects the user to your identity provider
  2. User Authentication: The user authenticates with your IdP (e.g., Active Directory, Okta, Azure AD)
  3. SAML Response: The IdP sends a signed SAML assertion back to FastComments
  4. User Access: FastComments validates the assertion and grants access to the authenticated user

Benefits of SAML

  • Enhanced Security: Centralized authentication reduces password-related security risks
  • Improved User Experience: Users sign in once and access multiple applications seamlessly
  • Compliance: Helps meet regulatory requirements for access control and audit trails
  • Administrative Control: IT administrators maintain centralized user management

SAML 2.0 Support

FastComments implements SAML 2.0, the most widely adopted version of the SAML standard. Our implementation supports:

  • HTTP-POST and HTTP-Redirect bindings
  • Signed SAML responses and assertions
  • Encrypted assertions (optional)
  • Multiple signature and digest algorithms
  • Various name identifier formats

SAML๊ณผ SSO์˜ ์ฐจ์ด Internal Link

FastComments๋Š” SSO์™€ SAML ์ธ์ฆ์„ ๋ชจ๋‘ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ฐจ์ด์ ์„ ์ดํ•ดํ•˜๋ฉด ์กฐ์ง์— ์ ํ•ฉํ•œ ๋ฐฉ์‹์„ ์„ ํƒํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

Simple/Secure SSO ์ œ๊ณต

FastComments๋Š” ์‚ฌ์ดํŠธ๋ฅผ ํ†ตํ•ด ๋Œ“๊ธ€ ์œ„์ ฏ์— ์ธ์ฆํ•˜๊ธฐ ์œ„ํ•œ ๋‘ ๊ฐ€์ง€ SSO ํ๋ฆ„์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” SAML๊ณผ ๋‹ค๋ฅด๋ฉฐ SAML์„ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹ , Simple SSO๋Š” ๋‹จ์ˆœํžˆ ๊ฐ์ฒด๋ฅผ ๋Œ“๊ธ€ ์œ„์ ฏ์— ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์„ ์š”๊ตฌํ•˜๊ณ , Secure SSO๋Š” ์—ฌ๊ธฐ์— ๋”ํ•ด ํŽ˜์ด๋กœ๋“œ๋ฅผ API ํ‚ค๋กœ ํ•ด์‹ฑํ•ฉ๋‹ˆ๋‹ค.

SAML์€ ๋ฐ˜๋ฉด์— ์‚ฌ์šฉ์ž๋ฅผ ์ „์ฒด ์ œํ’ˆ(๊ถŒํ•œ์— ๊ธฐ๋ฐ˜) as well as ๋Œ“๊ธ€ ์œ„์ ฏ์— ๋Œ€ํ•ด ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค(์‚ฌ์šฉ์ž๊ฐ€ ๋‹น์‚ฌ ๋„๋ฉ”์ธ์— ๋Œ€ํ•ด ์„œ๋“œํŒŒํ‹ฐ ์ฟ ํ‚ค๋ฅผ ํ™œ์„ฑํ™”ํ•œ ๊ฒฝ์šฐ).

SAML Authentication

SAML์€ ๋” ๊ฐ•๋ ฅํ•œ ๋ณด์•ˆ ๋ฐ ํ†ตํ•ฉ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ ์ธ์ฆ ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค:

  • Implementation: Identity Provider (IdP) ๊ตฌ์„ฑ ๋ฐ ์ธ์ฆ์„œ ๊ตํ™˜ ํ•„์š”
  • Security: ์„œ๋ช…๋œ XML ์–ด์„ค์…˜์„ ์‚ฌ์šฉํ•˜๊ณ  ์•”ํ˜ธํ™”๋ฅผ ์ง€์›ํ•จ
  • Use Case: ๊ธฐ์กด SAML ์ธํ”„๋ผ(Active Directory, Okta ๋“ฑ)๋ฅผ ๋ณด์œ ํ•œ ๊ธฐ์—…์— ์ด์ƒ์ 
  • Setup Complexity: ๋” ๋ณต์žกํ•จ - IdP ๊ตฌ์„ฑ ๋ฐ ์ธ์ฆ์„œ ๊ด€๋ฆฌ ํ•„์š”
  • Enterprise Features: ๊ณ ๊ธ‰ ์—ญํ•  ๋งคํ•‘, ์ค‘์•™ ์ง‘์ค‘์‹ ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ, ๊ฐ์‚ฌ ๊ธฐ๋ก

When to Choose SAML

์กฐ์ง์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ SAML ์ธ์ฆ์„ ๊ณ ๋ คํ•˜์„ธ์š”:

  • ์ด๋ฏธ SAML ํ˜ธํ™˜ Identity Provider(Okta, Azure AD, ADFS ๋“ฑ)๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ
  • ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ ๋ณด์•ˆ ๋ฐ ๊ทœ์ • ์ค€์ˆ˜๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ
  • ์ค‘์•™ ์ง‘์ค‘์‹ ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ ๋ฐ ์ ‘๊ทผ ์ œ์–ด๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ
  • ์ธ์ฆ์— SAML์„ ์‚ฌ์šฉํ•˜๋Š” ์—ฌ๋Ÿฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์žˆ๋Š” ๊ฒฝ์šฐ
  • ์ž์„ธํ•œ ๊ฐ์‚ฌ ๊ธฐ๋ก ๋ฐ ๋ณด์•ˆ ๋ณด๊ณ ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ

When to Choose Simple or Secure SSO

์šฐ๋ฆฌ์˜ ์œ„์ ฏ ์ค‘์‹ฌ SSO ์†”๋ฃจ์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ ์ถฉ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • ์ปค์Šคํ…€ ์ธ์ฆ ์‹œ์Šคํ…œ์ด ์žˆ๋Š” ๊ฒฝ์šฐ
  • ์ตœ์†Œํ•œ์˜ ์„ค์ •์œผ๋กœ ๋น ๋ฅธ ๊ตฌํ˜„์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ
  • ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œ๊ณต์ž ํ†ตํ•ฉ์ด ํ•„์š” ์—†๋Š” ๊ฒฝ์šฐ
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ์ œ์–ดํ•˜๋ ค๋Š” ๊ฒฝ์šฐ
  • ๋ณด์•ˆ ์š”๊ตฌ์‚ฌํ•ญ์ด ๋” ๋‹จ์ˆœํ•œ ๊ฒฝ์šฐ

Simple ๋ฐ Secure SSO๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋ฏธ ๊ท€ํ•˜์˜ ์‚ฌ์ดํŠธ ๋˜๋Š” ์•ฑ์„ ํ†ตํ•ด ๊ณ„์ •์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ ๋ฐ˜๋“œ์‹œ SAML์„ ์‚ฌ์šฉํ•˜์ง€๋Š” ์•Š๋Š” ์˜จ๋ผ์ธ ํฌํ„ธ, ๋ธ”๋กœ๊ทธ ๋“ฑ์—์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์—ญํ•  ๋ฐ ๊ถŒํ•œ Internal Link


FastComments๋Š” SAML ์‚ฌ์šฉ์ž ์—ญํ• ์„ ๋‚ด๋ถ€ ๊ถŒํ•œ์— ๋งคํ•‘ํ•˜์—ฌ ์กฐ์ง์„ ์œ„ํ•œ ์—ญํ•  ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ์ œ์–ด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

FastComments Role System

FastComments๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ํ•˜๋‚˜ ์ด์ƒ์˜ ์—ญํ• ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์—ญํ•  ๊ธฐ๋ฐ˜ ๊ถŒํ•œ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘๊ทผ ์ˆ˜์ค€๊ณผ ๊ธฐ๋Šฅ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

Available FastComments Roles

Administrative Roles

fc-account-owner

  • ๊ถŒํ•œ: ์ „์ฒด ๊ด€๋ฆฌ์ž ์ ‘๊ทผ
  • ๊ธฐ๋Šฅ: ๋ชจ๋“  ๊ธฐ๋Šฅ, ์ฒญ๊ตฌ ๊ด€๋ฆฌ, ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ
  • ์‚ฌ์šฉ ์‚ฌ๋ก€: ๊ธฐ๋ณธ ๊ณ„์ • ๊ด€๋ฆฌ์ž ๋ฐ ์†Œ์œ ์ž

fc-admin-admin

  • ๊ถŒํ•œ: ๋Œ€๋ถ€๋ถ„ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๊ด€๋ฆฌ์ž ์ ‘๊ทผ
  • ๊ธฐ๋Šฅ: ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ, ๊ตฌ์„ฑ, ๋ชจ๋”๋ ˆ์ด์…˜. ๋‹ค๋ฅธ ๊ด€๋ฆฌ์ž๋„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ ์‚ฌ๋ก€: ๋ณด์กฐ ๊ด€๋ฆฌ์ž ๋ฐ IT ๋‹ด๋‹น์ž

fc-billing-admin

  • ๊ถŒํ•œ: ์ฒญ๊ตฌ ๋ฐ ๊ตฌ๋… ๊ด€๋ฆฌ
  • ๊ธฐ๋Šฅ: ๊ฒฐ์ œ ์ˆ˜๋‹จ, ์ธ๋ณด์ด์Šค, ๊ตฌ๋… ๋ณ€๊ฒฝ
  • ์‚ฌ์šฉ ์‚ฌ๋ก€: ์žฌ๋ฌด ํŒ€ ๊ตฌ์„ฑ์› ๋ฐ ์ฒญ๊ตฌ ๋‹ด๋‹น์ž

Specialized Roles

fc-analytics-admin

  • ๊ถŒํ•œ: ๋ถ„์„ ๋ฐ ๋ณด๊ณ ์„œ ์ ‘๊ทผ
  • ๊ธฐ๋Šฅ: ์‚ฌ์ดํŠธ ํ†ต๊ณ„ ๋ณด๊ธฐ, ์‚ฌ์šฉ์ž ์ฐธ์—ฌ ๋ฐ์ดํ„ฐ
  • ์‚ฌ์šฉ ์‚ฌ๋ก€: ๋งˆ์ผ€ํŒ… ํŒ€ ๋ฐ ๋ฐ์ดํ„ฐ ๋ถ„์„๊ฐ€

fc-api-admin

  • ๊ถŒํ•œ: API ์ ‘๊ทผ ๋ฐ ๊ด€๋ฆฌ
  • ๊ธฐ๋Šฅ: API ์ž๊ฒฉ ์ฆ๋ช…, ์›นํ›… ๊ตฌ์„ฑ
  • ์‚ฌ์šฉ ์‚ฌ๋ก€: ๊ฐœ๋ฐœ์ž ๋ฐ ๊ธฐ์ˆ  ํ†ตํ•ฉ ๋‹ด๋‹น์ž

fc-moderator

  • ๊ถŒํ•œ: ๋Œ“๊ธ€ ๋ชจ๋”๋ ˆ์ด์…˜ ๊ธฐ๋Šฅ
  • ๊ธฐ๋Šฅ: ๋Œ“๊ธ€ ์Šน์ธ/๊ฑฐ๋ถ€, ์ŠคํŒธ ๊ด€๋ฆฌ
  • ์‚ฌ์šฉ ์‚ฌ๋ก€: ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ชจ๋”๋ ˆ์ดํ„ฐ ๋ฐ ์ฝ˜ํ…์ธ  ๊ด€๋ฆฌ์ž

Role Mapping Configuration

SAML Attribute Sources

FastComments๋Š” ๋‹ค์–‘ํ•œ ์•„์ด๋ดํ‹ฐํ‹ฐ ๊ณต๊ธ‰์ž์™€์˜ ํ˜ธํ™˜์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ SAML ์†์„ฑ ์ด๋ฆ„์—์„œ ์—ญํ•  ์ •๋ณด๋ฅผ ์ˆ˜๋ฝํ•ฉ๋‹ˆ๋‹ค:

ํ‘œ์ค€ ์†์„ฑ ์ด๋ฆ„:

  • roles
  • groups
  • memberOf
  • role
  • group

Microsoft/ADFS ์†์„ฑ:

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

Role Format Support

๋ฐฐ์—ด ํ˜•์‹ (๊ถŒ์žฅ):

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

์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ํ˜•์‹:

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

๋‹จ์ผ ์—ญํ•  ํ˜•์‹:

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

Identity Provider Role Configuration

Microsoft Azure AD

  1. ์•ฑ ์—ญํ•  ๊ตฌ์„ฑ:

    • Azure AD ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— FastComments ์—ญํ•  ์ •์˜
    • ์ ์ ˆํ•œ ์•ฑ ์—ญํ• ์— ์‚ฌ์šฉ์ž ํ• ๋‹น
    • ํ• ๋‹น๋œ ์—ญํ• ์„ ํฌํ•จํ•˜๋„๋ก ํด๋ ˆ์ž„ ๊ตฌ์„ฑ
  2. ์†์„ฑ ๋งคํ•‘:

    Attribute Name: roles
    Source Attribute: user.assignedroles

Okta

  1. ๊ทธ๋ฃน ํ• ๋‹น:

    • FastComments ์—ญํ•  ์ด๋ฆ„๊ณผ ์ผ์น˜ํ•˜๋Š” ๊ทธ๋ฃน ์ƒ์„ฑ
    • ์ ์ ˆํ•œ ๊ทธ๋ฃน์— ์‚ฌ์šฉ์ž ํ• ๋‹น
    • ์†์„ฑ ๋ฌธ(statement) ๊ตฌ์„ฑ
  2. ์†์„ฑ ๋ฌธ:

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

Google Workspace

  1. ๊ทธ๋ฃน ๋งคํ•‘:

    • ์กฐ์ง ๋‹จ์œ„ ๋˜๋Š” ๊ทธ๋ฃน ์ƒ์„ฑ
    • FastComments ์—ญํ•  ์ ‘๋‘์‚ฌ๋กœ ๊ทธ๋ฃน ์ด๋ฆ„ ์ง€์ •
    • ์†์„ฑ ๋งคํ•‘ ๊ตฌ์„ฑ
  2. ์‚ฌ์šฉ์ž ์ง€์ • ์†์„ฑ:

    Attribute Name: roles
    Value: Groups or custom schema attribute

Default User Behavior

Users Without Roles

SAML ์‚ฌ์šฉ์ž๊ฐ€ ์—ญํ• ์ด ์—†๊ฑฐ๋‚˜ ์ธ์‹๋˜์ง€ ์•Š๋Š” ์—ญํ• ์ผ ๋•Œ:

  • ์‚ฌ์šฉ์ž๋Š” ์ผ๋ฐ˜ ๋Œ“๊ธ€ ์ž‘์„ฑ์ž๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค
  • ๊ด€๋ฆฌ์ž ์ ‘๊ทผ ๊ถŒํ•œ์€ ๋ถ€์—ฌ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค
  • ์ž์‹ ์˜ ๋Œ“๊ธ€์„ ๊ฒŒ์‹œํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  • ๊ด€๋ฆฌ์ž ๋Œ€์‹œ๋ณด๋“œ ๊ธฐ๋Šฅ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค

Role Inheritance

  • ์‚ฌ์šฉ์ž๋Š” ๋™์‹œ์— ์—ฌ๋Ÿฌ ์—ญํ• ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  • ๊ถŒํ•œ์€ ๋ˆ„์ ๋ฉ๋‹ˆ๋‹ค (๊ฐ€์žฅ ๋†’์€ ๊ถŒํ•œ ์ˆ˜์ค€์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค)
  • IdP์˜ ์—ญํ•  ๋ณ€๊ฒฝ์€ ๋‹ค์Œ ๋กœ๊ทธ์ธ ์‹œ ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค

Managing SAML Users

User Creation

์‚ฌ์šฉ์ž๊ฐ€ SAML๋กœ ์ฒ˜์Œ ๋กœ๊ทธ์ธํ•  ๋•Œ:

  1. ์‚ฌ์šฉ์ž ๊ณ„์ •: ์ด๋ฉ”์ผ์„ ์‹๋ณ„์ž๋กœ ํ•˜์—ฌ ์ž๋™ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค
  2. ์—ญํ•  ํ• ๋‹น: SAML ์†์„ฑ์— ๋”ฐ๋ผ ์—ญํ• ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค
  3. ํ”„๋กœํ•„ ์ •๋ณด: ์ œ๊ณต๋œ ๊ฒฝ์šฐ ์ด๋ฆ„/์„ฑ(First/last name)์ด ์ฑ„์›Œ์ง‘๋‹ˆ๋‹ค
  4. ๊ถŒํ•œ ํ™œ์„ฑํ™”: ์—ญํ• ์€ ์ฆ‰์‹œ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค

Role Updates

๊ธฐ์กด SAML ์‚ฌ์šฉ์ž๋Š” ์—ญํ•  ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค:

  1. ๋กœ๊ทธ์ธ ํŠธ๋ฆฌ๊ฑฐ: ์—ญํ•  ์—…๋ฐ์ดํŠธ๋Š” ๊ฐ SAML ๋กœ๊ทธ์ธ ์ค‘์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค
  2. ์ฆ‰์‹œ ์ ์šฉ: ์ƒˆ ๊ถŒํ•œ์€ ์ฆ‰์‹œ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค
  3. ์—ญํ•  ์ œ๊ฑฐ: ์ œ๊ฑฐ๋œ ์—ญํ• ์€ ์ž๋™์œผ๋กœ ํ•ด์ œ๋ฉ๋‹ˆ๋‹ค
  4. ๊ฐ์‚ฌ ์ถ”์ : ์—ญํ•  ๋ณ€๊ฒฝ์€ ๊ฐ์‚ฌ ๋กœ๊ทธ์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค

Custom Role Mapping

Enterprise Customization

ํŠน์ • ์š”๊ตฌ ์‚ฌํ•ญ์ด ์žˆ๋Š” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๊ณ ๊ฐ์˜ ๊ฒฝ์šฐ:

  • ๋งž์ถค ์—ญํ•  ์ด๋ฆ„์„ FastComments ๊ถŒํ•œ์— ๋งคํ•‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  • ๋ณต์žกํ•œ ์—ญํ•  ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  • ๋ถ€์„œ๋ณ„ ์ ‘๊ทผ ์ œ์–ด๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

๋งž์ถค ์—ญํ•  ๋งคํ•‘ ๊ตฌ์„ฑ์„ ์œ„ํ•ด FastComments ์ง€์›ํŒ€์— ๋ฌธ์˜ํ•˜์„ธ์š”.

Role Validation

FastComments๋Š” ์ˆ˜์‹ ๋œ ์—ญํ• ์„ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค:

  • ์ธ์‹๋˜์ง€ ์•Š๋Š” ์—ญํ• ์€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค(๊ฑฐ๋ถ€๋˜์ง€ ์•Š์Œ)
  • ์ž˜๋ชป๋œ ํ˜•์‹์˜ ์—ญํ•  ์†์„ฑ์€ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•ด ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค
  • SAML ์–ด์„œ์…˜์— ์—ญํ•  ์ •๋ณด๊ฐ€ ์—†์„ ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž๋Š” ๊ธฐ์กด ์—ญํ• ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค

Best Practices

Role Management

  1. ์ตœ์†Œ ๊ถŒํ•œ ์›์น™: ํ•„์š”ํ•œ ์ตœ์†Œ ๊ถŒํ•œ๋งŒ ํ• ๋‹นํ•˜์„ธ์š”
  2. ์ •๊ธฐ ๊ฐ์‚ฌ: ์‚ฌ์šฉ์ž ์—ญํ• ๊ณผ ์ ‘๊ทผ์„ ์ •๊ธฐ์ ์œผ๋กœ ๊ฒ€ํ† ํ•˜์„ธ์š”
  3. ๋ช…ํ™•ํ•œ ๋ช…๋ช…: IdP์—์„œ ์„ค๋ช…์ ์ธ ๊ทธ๋ฃน ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์„ธ์š”
  4. ๋ฌธ์„œํ™”: ์—ญํ•  ํ• ๋‹น์— ๋Œ€ํ•œ ๋ฌธ์„œ๋ฅผ ์œ ์ง€ํ•˜์„ธ์š”

Security Considerations

  1. ์—ญํ•  ์†์„ฑ: SAML ์‘๋‹ต์—์„œ ์—ญํ•  ์†์„ฑ์ด ์ ์ ˆํžˆ ๋ณดํ˜ธ๋˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”
  2. ์†์„ฑ ๊ฒ€์ฆ: ์Šน์ธ๋œ ์‹œ์Šคํ…œ๋งŒ ์—ญํ• ์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๊ฒ€์ฆํ•˜์„ธ์š”
  3. ์ ‘๊ทผ ๊ฒ€ํ† : ๊ด€๋ฆฌ์ž ์—ญํ•  ํ• ๋‹น์„ ์ •๊ธฐ์ ์œผ๋กœ ๊ฒ€ํ† ํ•˜์„ธ์š”
  4. ๋ชจ๋‹ˆํ„ฐ๋ง: ์—ญํ•  ๋ณ€๊ฒฝ ๋ฐ ๊ด€๋ฆฌ์ž ์ž‘์—…์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์„ธ์š”

Troubleshooting Role Issues

Common Problems

Roles Not Applied:

  • SAML ์†์„ฑ ์ด๋ฆ„์ด ์ง€์›๋˜๋Š” ํ˜•์‹๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”
  • IdP๊ฐ€ ์—ญํ•  ์ •๋ณด๋ฅผ ์ „์†กํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”
  • ์—ญํ•  ๊ฐ’์ด FastComments ์—ญํ•  ์ด๋ฆ„๊ณผ ์ •ํ™•ํžˆ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”

Access Denied:

  • IdP์—์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ ์ ˆํ•œ ์—ญํ• ์ด ํ• ๋‹น๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”
  • ์—ญํ•  ์ฒ ์ž์™€ ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ํ™•์ธํ•˜์„ธ์š”
  • SAML ์‘๋‹ต์—์„œ ์—ญํ• ์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํ˜•์‹ํ™”๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”

Missing Permissions:

  • ์—ญํ•  ์ •์˜์™€ ํ•„์š”ํ•œ ๊ถŒํ•œ์„ ๊ฒ€ํ† ํ•˜์„ธ์š”
  • ์ƒ์ถฉ๋˜๋Š” ์—ญํ•  ํ• ๋‹น์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”
  • ์—ญํ•  ๋ณ€๊ฒฝ ํ›„ ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”

๋ณด์•ˆ ๋ชจ๋ฒ” ์‚ฌ๋ก€ Internal Link

SAML ๊ตฌํ˜„ ๋ณด์•ˆ์€ ์กฐ์ง์˜ ์ธ์ฆ ์ธํ”„๋ผ์™€ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๋ฅผ ๋ณดํ˜ธํ•˜๋Š” ๋ฐ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

SAML ๋ณด์•ˆ ๊ธฐ๋ณธ

๋””์ง€ํ„ธ ์„œ๋ช…

SAML ์‘๋‹ต ์„œ๋ช…:

  • ๋ชจ๋“  SAML ์‘๋‹ต์€ IdP์— ์˜ํ•ด ๋””์ง€ํ„ธ ์„œ๋ช…๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค
  • FastComments๋Š” IdP์˜ ๊ณต๊ฐœ ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ช…์„ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค
  • ์ธ์ฆ assertions์˜ ๋ณ€์กฐ๋ฅผ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค
  • ์‘๋‹ต์ด ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” IdP์—์„œ ์™”์Œ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค

์ธ์ฆ์„œ ๊ฒ€์ฆ:

  • ์ธ์ฆ์„œ๋Š” ๊ตฌ์„ฑ๋œ IdP ์ธ์ฆ์„œ์™€ ๋Œ€์กฐํ•˜์—ฌ ๊ฒ€์ฆ๋ฉ๋‹ˆ๋‹ค
  • ์ธ์ฆ์„œ ์ฒด์ธ ๊ฒ€์ฆ์€ ์‹ ๋ขฐ ๊ณ„์ธต์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค
  • ๋งŒ๋ฃŒ๋˜์—ˆ๊ฑฐ๋‚˜ ์œ ํšจํ•˜์ง€ ์•Š์€ ์ธ์ฆ์„œ๋Š” ๊ฑฐ๋ถ€๋ฉ๋‹ˆ๋‹ค
  • ์ธ์ฆ์„œ ๊ต์ฒด๋Š” ์‚ฌ์ „์— ๊ณ„ํš๋˜๊ณ  ์กฐ์ •๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค

Assertion ๋ณด์•ˆ

Audience Restriction:

  • SAML assertions์—๋Š” audience restriction (SP Entity ID)๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค
  • ๋‹ค๋ฅธ ์„œ๋น„์Šค ์ œ๊ณต์ž์— ๋Œ€ํ•œ assertion ์žฌ์‚ฌ์šฉ ๊ณต๊ฒฉ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค
  • FastComments๋Š” audience๊ฐ€ ํ…Œ๋„ŒํŠธ ๊ตฌ์„ฑ๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค
  • ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” assertions๋Š” ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค

์‹œ๊ฐ„ ๊ธฐ๋ฐ˜ ๊ฒ€์ฆ:

  • Assertions์—๋Š” ์‹œ๊ฐ„ ๊ธฐ๋ฐ˜ ์œ ํšจ์„ฑ ์ฐฝ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค
  • NotBefore and NotOnOrAfter ์กฐ๊ฑด์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค
  • ์˜ค๋ž˜๋œ assertions์˜ ์žฌ์‚ฌ์šฉ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค
  • ์‹œ๊ณ„ ์˜ค์ฐจ ํ—ˆ์šฉ ํญ์€ ๊ตฌ์„ฑ ๊ฐ€๋Šฅํ•˜๊ฒŒ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค

ํ†ต์‹  ๋ณด์•ˆ

์ „์†ก ๊ณ„์ธต ๋ณด์•ˆ

HTTPS ์š”๊ตฌ ์‚ฌํ•ญ:

  • ๋ชจ๋“  SAML ํ†ต์‹ ์€ HTTPS๋ฅผ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค
  • TLS 1.2 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค
  • ์ธ์ฆ์„œ ๊ฒ€์ฆ์€ ์ค‘๊ฐ„์ž(man-in-the-middle) ๊ณต๊ฒฉ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค
  • ์•ˆ์ „ํ•œ ํ†ต์‹ ์€ ๋ฏผ๊ฐํ•œ ์ธ์ฆ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค

์—”๋“œํฌ์ธํŠธ ๋ณด์•ˆ:

  • SAML ์—”๋“œํฌ์ธํŠธ๋Š” ์•ˆ์ „ํ•˜๊ณ  ์ธ์ฆ๋œ ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค
  • IdP ๋ฐ SP ์—”๋“œํฌ์ธํŠธ๋Š” ์ตœ์‹  TLS๋ฅผ ์ง€์›ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค
  • ์•ฝํ•œ ์•”ํ˜ธํ™” ์Šค์œ„ํŠธ๋Š” ๊ฑฐ๋ถ€๋ฉ๋‹ˆ๋‹ค
  • ์ถ”๊ฐ€ ๋ณด์•ˆ์„ ์œ„ํ•ด ์ธ์ฆ์„œ ํ•€๋‹์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

๋ฐ์ดํ„ฐ ๋ณดํ˜ธ

๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ:

  • SAML assertions์—๋Š” ๋ฏผ๊ฐํ•œ ์‚ฌ์šฉ์ž ์ •๋ณด๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  • ๋ฐ์ดํ„ฐ๋Š” ์ „์†ก ์ค‘ ์•”ํ˜ธํ™”๋˜๋ฉฐ ์•ˆ์ „ํ•˜๊ฒŒ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค
  • ์ž„์‹œ ์ €์žฅ์€ ์ตœ์†Œํ™”๋˜๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ๋ณดํ˜ธ๋ฉ๋‹ˆ๋‹ค
  • ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ๋ณด๊ด€์€ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค

Assertion Encryption (์„ ํƒ ์‚ฌํ•ญ):

  • ์ถ”๊ฐ€ ๋ณด์•ˆ์„ ์œ„ํ•ด SAML assertions๋ฅผ ์•”ํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  • assertions๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ต๊ณผํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค
  • FastComments์—์„œ ๊ฐœ์ธ ํ‚ค ๊ตฌ์„ฑ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค
  • ๋Œ€๋ถ€๋ถ„์˜ ๋ฐฐํฌ๋Š” ๋Œ€์‹  TLS ์•”ํ˜ธํ™”์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค

์ธ์ฆ ๋ณด์•ˆ

Single Sign-On ์ด์ 

์ค‘์•™ ์ง‘์ค‘ํ˜• ์ธ์ฆ:

  • ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ด€๋ จ ๋ณด์•ˆ ์œ„ํ—˜์„ ์ค„์ž…๋‹ˆ๋‹ค
  • ์ผ๊ด€๋œ ๋ณด์•ˆ ์ •์ฑ…์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค
  • ์•ก์„ธ์Šค ์ œ์–ด์˜ ๋‹จ์ผ ์ง€์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค
  • ๋ณด์•ˆ ํ‘œ์ค€ ์ค€์ˆ˜๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค

์„ธ์…˜ ๊ด€๋ฆฌ:

  • SAML์€ ์•ˆ์ „ํ•œ ์„ธ์…˜ ์ˆ˜๋ฆฝ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค
  • ์„ธ์…˜ ํƒ€์ž„์•„์›ƒ์€ ์ค‘์•™์—์„œ ๊ด€๋ฆฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  • Single logout ๊ธฐ๋Šฅ(IdP๊ฐ€ ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ ์ œ๊ณต)
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „๋ฐ˜์—์„œ ์ž๊ฒฉ ์ฆ๋ช… ๋…ธ์ถœ์„ ์ค„์ž…๋‹ˆ๋‹ค

๋‹ค์ค‘ ์š”์†Œ ์ธ์ฆ

IdP MFA Integration:

  • MFA ์š”๊ตฌ์‚ฌํ•ญ์€ IdP์— ์˜ํ•ด ๊ฐ•์ œ๋ฉ๋‹ˆ๋‹ค
  • FastComments๋Š” IdP์˜ ๋ณด์•ˆ ์ •์ฑ…์„ ์ƒ์†ํ•ฉ๋‹ˆ๋‹ค
  • ์—ฌ๋Ÿฌ MFA ๋ฐฉ๋ฒ•(SMS, ์ธ์ฆ๊ธฐ ์•ฑ, ํ•˜๋“œ์›จ์–ด ํ† ํฐ)์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค
  • MFA ์ •์ฑ…์˜ ์ค‘์•™ ๊ด€๋ฆฌ

์ ‘๊ทผ ์ œ์–ด ๋ณด์•ˆ

์—ญํ•  ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ์ œ์–ด

์ตœ์†Œ ๊ถŒํ•œ ์›์น™:

  • ์‚ฌ์šฉ์ž์—๊ฒŒ ์ตœ์†Œํ•œ์˜ ํ•„์š”ํ•œ ๊ถŒํ•œ๋งŒ ํ• ๋‹นํ•˜์„ธ์š”
  • ๊ด‘๋ฒ”์œ„ํ•œ ๊ถŒํ•œ ๋Œ€์‹  ๊ตฌ์ฒด์ ์ธ ์—ญํ• ์„ ์‚ฌ์šฉํ•˜์„ธ์š”
  • ์—ญํ•  ํ• ๋‹น์„ ์ •๊ธฐ์ ์œผ๋กœ ๊ฒ€ํ† ํ•˜์„ธ์š”
  • ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š์„ ๋•Œ ์ ‘๊ทผ ๊ถŒํ•œ์„ ์ œ๊ฑฐํ•˜์„ธ์š”

์—ญํ•  ๊ฒ€์ฆ:

  • SAML ์—ญํ•  ์†์„ฑ์€ ๊ฒ€์ฆ๋˜๊ณ  ์ •์ œ๋ฉ๋‹ˆ๋‹ค
  • ์•Œ ์ˆ˜ ์—†๋Š” ์—ญํ• ์€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค(๊ฑฐ๋ถ€ํ•˜์ง€ ์•Š์Œ)
  • ์—ญํ•  ๋ณ€๊ฒฝ์€ ๋กœ๊ทธ์ธ ์‹œ ์ฆ‰์‹œ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค
  • ์—ญํ•  ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ๊ฐ์‚ฌ ๋กœ๊ทธ๊ฐ€ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค

๊ด€๋ฆฌ์ž ์ ‘๊ทผ

๊ด€๋ฆฌ์ž ์—ญํ•  ๋ณดํ˜ธ:

  • ๊ด€๋ฆฌ์ž ์—ญํ• ์€ ๋ช…์‹œ์ ์ธ ํ• ๋‹น์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค
  • ๊ด€๋ฆฌ์ž ์ ‘๊ทผ ๋ฐ ํ™œ๋™์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์„ธ์š”
  • ๋ฏผ๊ฐํ•œ ์—ญํ•  ํ• ๋‹น์— ๋Œ€ํ•ด ์Šน์ธ ์›Œํฌํ”Œ๋กœ๋ฅผ ๊ตฌํ˜„ํ•˜์„ธ์š”
  • ๊ด€๋ฆฌ์ž ๊ณ„์ •์— ๋Œ€ํ•œ ์ •๊ธฐ์ ์ธ ๊ฐ์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜์„ธ์š”

Identity Provider ๋ณด์•ˆ

IdP ๊ตฌ์„ฑ ๋ณด์•ˆ

์ธ์ฆ์„œ ๊ด€๋ฆฌ:

  • ๊ฐ•๋ ฅํ•œ ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”(RSA-2048 ์ด์ƒ)
  • ์ ์ ˆํ•œ ์ธ์ฆ์„œ ๊ต์ฒด ์ ˆ์ฐจ๋ฅผ ๊ตฌํ˜„ํ•˜์„ธ์š”
  • IdP์—์„œ ๊ฐœ์ธ ํ‚ค๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ €์žฅํ•˜์„ธ์š”
  • ์ธ์ฆ์„œ ๋งŒ๋ฃŒ ๋‚ ์งœ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์„ธ์š”

์ ‘๊ทผ ์ œ์–ด:

  • SAML ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ์„ ์ œํ•œํ•˜์„ธ์š”
  • ๊ตฌ์„ฑ ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ์Šน์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ตฌํ˜„ํ•˜์„ธ์š”
  • ๊ตฌ์„ฑ ๋ณ€๊ฒฝ ๋ฐ ์ ‘๊ทผ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์„ธ์š”
  • IdP ๊ตฌ์„ฑ์— ๋Œ€ํ•œ ์ •๊ธฐ์ ์ธ ๋ณด์•ˆ ๊ฒ€ํ† ๋ฅผ ์ˆ˜ํ–‰ํ•˜์„ธ์š”

์†์„ฑ ๋ณด์•ˆ

๋ฏผ๊ฐ ์†์„ฑ ๋ณดํ˜ธ:

  • SAML ์†์„ฑ์— ํฌํ•จ๋˜๋Š” ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ตœ์†Œํ™”ํ•˜์„ธ์š”
  • ๋ฏผ๊ฐํ•œ ๊ทธ๋ฃน ์ด๋ฆ„ ๋Œ€์‹  ์—ญํ•  ์‹๋ณ„์ž๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”
  • ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” assertions๋ฅผ ์•”ํ˜ธํ™”ํ•˜์„ธ์š”
  • ๋ฐ์ดํ„ฐ ์ตœ์†Œํ™” ์›์น™์„ ๋”ฐ๋ฅด์„ธ์š”

์†์„ฑ ๊ฒ€์ฆ:

  • ๋ชจ๋“  ์ˆ˜์‹  SAML ์†์„ฑ์„ ๊ฒ€์ฆํ•˜์„ธ์š”
  • ์ฃผ์ž… ๊ณต๊ฒฉ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์†์„ฑ ๊ฐ’์„ ์ •์ œํ•˜์„ธ์š”
  • ์ ์ ˆํ•œ ๊ณณ์— ์†์„ฑ ๊ฐ’ ์ œํ•œ์„ ๊ตฌํ˜„ํ•˜์„ธ์š”
  • ์˜์‹ฌ์Šค๋Ÿฝ๊ฑฐ๋‚˜ ํ˜•์‹์ด ์ž˜๋ชป๋œ ์†์„ฑ์„ ๋กœ๊ทธ๋กœ ๊ธฐ๋กํ•˜์„ธ์š”

๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๊ฐ์‚ฌ

์ธ์ฆ ๋ชจ๋‹ˆํ„ฐ๋ง

์‹คํŒจํ•œ ์ธ์ฆ ์ถ”์ :

  • ์‹คํŒจํ•œ SAML ์ธ์ฆ ์‹œ๋„๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์„ธ์š”
  • ๋น„์ •์ƒ์ ์ธ ์ธ์ฆ ํŒจํ„ด์— ๋Œ€ํ•ด ๊ฒฝ๊ณ ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค์„ธ์š”
  • ์ธ์ฆ์„œ ๊ฒ€์ฆ ์‹คํŒจ๋ฅผ ์ถ”์ ํ•˜์„ธ์š”
  • ๊ตฌ์„ฑ ๊ด€๋ จ ์˜ค๋ฅ˜๋ฅผ ๋กœ๊ทธ๋กœ ๊ธฐ๋กํ•˜์„ธ์š”

์„ฑ๊ณต ๋ชจ๋‹ˆํ„ฐ๋ง:

  • ์„ฑ๊ณตํ•œ ์ธ์ฆ ๋น„์œจ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์„ธ์š”
  • ์‚ฌ์šฉ์ž ์—ญํ•  ํ• ๋‹น ๋ฐ ๋ณ€๊ฒฝ์„ ์ถ”์ ํ•˜์„ธ์š”
  • ์ •์ƒ ์ธ์ฆ ํ๋ฆ„์˜ ํƒ€์ด๋ฐ์„ ํ™•์ธํ•˜์„ธ์š”
  • ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์‚ฌ์šฉ์ž ์ƒ์„ฑ ์—ฌ๋ถ€๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์„ธ์š”

๋ณด์•ˆ ์ด๋ฒคํŠธ ๋กœ๊น…

๊ฐ์‚ฌ ์ถ”์  ์œ ์ง€:

  • ๋ชจ๋“  SAML ์ธ์ฆ ์ด๋ฒคํŠธ๋ฅผ ๋กœ๊ทธ๋กœ ๊ธฐ๋กํ•˜์„ธ์š”
  • ๊ตฌ์„ฑ ๋ณ€๊ฒฝ ๊ธฐ๋ก์„ ์œ ์ง€ํ•˜์„ธ์š”
  • ๊ด€๋ฆฌ์ž ํ–‰์œ„ ๋ฐ ์ ‘๊ทผ์„ ์ถ”์ ํ•˜์„ธ์š”
  • ๋กœ๊ทธ๋Š” ๋ณ€์กฐ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ์•ˆ์ „ํ•œ ์ €์žฅ์†Œ์— ๋ณด๊ด€ํ•˜์„ธ์š”

๊ฒฝ๊ณ  ๊ตฌ์„ฑ:

  • ๋ณด์•ˆ ๊ด€๋ จ ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ๊ฒฝ๊ณ ๋ฅผ ์„ค์ •ํ•˜์„ธ์š”
  • ์ธ์ฆ์„œ ๋งŒ๋ฃŒ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์„ธ์š”
  • ๋ฐ˜๋ณต์ ์ธ ์ธ์ฆ ์‹คํŒจ์— ๋Œ€ํ•ด ๊ฒฝ๊ณ ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค์„ธ์š”
  • ๋น„์ •์ƒ์ ์ธ ๊ด€๋ฆฌ์ž ํ™œ๋™์„ ํ†ต์ง€ํ•˜์„ธ์š”

๊ทœ์ • ์ค€์ˆ˜ ๊ณ ๋ ค ์‚ฌํ•ญ

๋ฐ์ดํ„ฐ ํ”„๋ผ์ด๋ฒ„์‹œ

์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ:

  • GDPR, CCPA ๋ฐ ๊ด€๋ จ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ๊ทœ์ •์„ ์ค€์ˆ˜ํ•˜์„ธ์š”
  • ๊ฐœ์ธ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฐ ์ฒ˜๋ฆฌ๋ฅผ ์ตœ์†Œํ™”ํ•˜์„ธ์š”
  • ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐœ์ธ์ •๋ณด๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์„ธ์š”
  • ๋ฐ์ดํ„ฐ ๋ณด๊ด€ ๋ฐ ์‚ญ์ œ ์ •์ฑ…์„ ๊ตฌํ˜„ํ•˜์„ธ์š”

๊ตญ๊ฒฝ ๊ฐ„ ๋ฐ์ดํ„ฐ ์ „์†ก:

  • ๋ฐ์ดํ„ฐ ์ €์žฅ ์œ„์น˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ณ ๋ คํ•˜์„ธ์š”
  • ๊ตญ์ œ ์ „์†ก ์‹œ ์ ์ ˆํ•œ ๋ณดํ˜ธ ์กฐ์น˜๋ฅผ ๊ตฌํ˜„ํ•˜์„ธ์š”
  • IdP์™€ FastComments ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ๋ฌธ์„œํ™”ํ•˜์„ธ์š”
  • ํ˜„์ง€ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋ฒ•์„ ์ค€์ˆ˜ํ•˜์„ธ์š”

๋ณด์•ˆ ํ‘œ์ค€

์—…๊ณ„ ํ‘œ์ค€ ์ค€์ˆ˜:

  • SAML 2.0 ๋ณด์•ˆ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ๋”ฐ๋ฅด์„ธ์š”
  • NIST ์ธ์ฆ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ๊ตฌํ˜„ํ•˜์„ธ์š”
  • SOC 2 ๋ฐ ISO 27001 ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ณ ๋ คํ•˜์„ธ์š”
  • ์ •๊ธฐ์ ์ธ ๋ณด์•ˆ ํ‰๊ฐ€ ๋ฐ ์นจํˆฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜์„ธ์š”

์‚ฌ๊ณ  ๋Œ€์‘

๋ณด์•ˆ ์‚ฌ๊ณ  ์ ˆ์ฐจ

์นจํ•ด ๋Œ€์‘:

  • ๋ณด์•ˆ ์‚ฌ๊ณ ๋ฅผ ์ฆ‰์‹œ ๊ฒฉ๋ฆฌํ•ฉ๋‹ˆ๋‹ค
  • ์˜ํ–ฅ๋ฐ›์€ ๋‹น์‚ฌ์ž์—๊ฒŒ ํ†ต์ง€ํ•ฉ๋‹ˆ๋‹ค
  • ์กฐ์‚ฌ ๋ฐ ๊ทผ๋ณธ ์›์ธ ๋ถ„์„์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค
  • ์‹œ์ • ์กฐ์น˜๋ฅผ ์‹œํ–‰ํ•ฉ๋‹ˆ๋‹ค

์ธ์ฆ์„œ ์†์ƒ:

  • ์†์ƒ๋œ ์ธ์ฆ์„œ๋ฅผ ์ฆ‰์‹œ ํ๊ธฐํ•ฉ๋‹ˆ๋‹ค
  • ๋น„์ƒ ์ธ์ฆ์„œ ๊ต์ฒด ์ ˆ์ฐจ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค
  • ์‚ฌ์šฉ์ž ํ†ต์ง€ ๋ฐ ์žฌ์ธ์ฆ ์š”๊ตฌ์‚ฌํ•ญ์„ ์‹œํ–‰ํ•ฉ๋‹ˆ๋‹ค
  • ๋ณด์•ˆ ๊ฒ€ํ†  ๋ฐ ๊ฐ•ํ™” ์กฐ์น˜๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค

๋น„์ฆˆ๋‹ˆ์Šค ์—ฐ์†์„ฑ

๋ฐฑ์—… ์ธ์ฆ ๋ฐฉ๋ฒ•:

  • ๋Œ€์ฒด ์ธ์ฆ ๋ฐฉ๋ฒ•์„ ์œ ์ง€ํ•˜์„ธ์š”
  • ๋น„์ƒ ์ ‘๊ทผ ์ ˆ์ฐจ๋ฅผ ๋ฌธ์„œํ™”ํ•˜์„ธ์š”
  • ๋ฐฑ์—… ์ธ์ฆ์˜ ์ •๊ธฐ์ ์ธ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜์„ธ์š”
  • ์ค‘๋‹จ ์‹œ ๋ช…ํ™•ํ•˜๊ฒŒ ์†Œํ†ตํ•˜์„ธ์š”

์žฌํ•ด ๋ณต๊ตฌ:

  • ์žฌํ•ด ๋ณต๊ตฌ๋ฅผ ์œ„ํ•ด SAML ๊ตฌ์„ฑ์„ ๋ฌธ์„œํ™”ํ•˜์„ธ์š”
  • ์ธ์ฆ์„œ ๋ฐ ๊ตฌ์„ฑ ์‚ฌ๋ณธ์„ ๋ณด๊ด€ํ•˜์„ธ์š”
  • ๋ณต๊ตฌ ์ ˆ์ฐจ๋ฅผ ์ •๊ธฐ์ ์œผ๋กœ ํ…Œ์ŠคํŠธํ•˜์„ธ์š”
  • IdP์˜ ์žฌํ•ด ๋ณต๊ตฌ ๊ณ„ํš๊ณผ ์กฐ์œจํ•˜์„ธ์š”

๋ณด์•ˆ ๋ชจ๋ฒ” ์‚ฌ๋ก€ ์š”์•ฝ

๊ตฌํ˜„ ๋ณด์•ˆ

  1. ๊ฐ•๋ ฅํ•œ ์ธ์ฆ์„œ ์‚ฌ์šฉ: RSA-2048 ์ด์ƒ ๋ฐ ์ ์ ˆํ•œ ๊ฒ€์ฆ
  2. HTTPS ์ ์šฉ: ๋ชจ๋“  ํ†ต์‹ ์„ ์•ˆ์ „ํ•˜๊ณ  ์•”ํ˜ธํ™”๋œ ์ฑ„๋„์„ ํ†ตํ•ด
  3. ๋ชจ๋“  ์ž…๋ ฅ ๊ฒ€์ฆ: ๋ชจ๋“  SAML ์†์„ฑ์„ ์ •์ œํ•˜๊ณ  ๊ฒ€์ฆ
  4. ์ง€์†์  ๋ชจ๋‹ˆํ„ฐ๋ง: ํฌ๊ด„์ ์ธ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๊ฒฝ๊ณ  ์‹œ์Šคํ…œ ๊ตฌํ˜„
  5. ์ •๊ธฐ ๊ฒ€ํ† : ์ฃผ๊ธฐ์ ์ธ ๋ณด์•ˆ ๊ฒ€ํ†  ๋ฐ ์—…๋ฐ์ดํŠธ ์ˆ˜ํ–‰

์šด์˜ ๋ณด์•ˆ

  1. ์ตœ์†Œ ๊ถŒํ•œ ์›์น™: ์ตœ์†Œํ•œ์˜ ํ•„์š”ํ•œ ๊ถŒํ•œ์„ ํ• ๋‹น
  2. ์ •๊ธฐ ๊ฐ์‚ฌ: ์ ‘๊ทผ, ์—ญํ•  ๋ฐ ๊ตฌ์„ฑ์„ ์ •๊ธฐ์ ์œผ๋กœ ๊ฒ€ํ† 
  3. ๋ฌธ์„œํ™”: ์ตœ์‹  ๋ณด์•ˆ ๋ฌธ์„œ๋ฅผ ์œ ์ง€
  4. ๊ต์œก: ์ง์›์ด SAML ๋ณด์•ˆ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ดํ•ดํ•˜๋„๋ก ๋ณด์žฅ
  5. ์‚ฌ๊ณ  ๋Œ€๋น„: ์‚ฌ๊ณ  ๋Œ€์‘ ์ ˆ์ฐจ๋ฅผ ์ค€๋น„ํ•ด ๋‘์„ธ์š”

์กฐ์ง ๋ณด์•ˆ

  1. ๋ณ€๊ฒฝ ๊ด€๋ฆฌ: ์ œ์–ด๋œ ๋ณ€๊ฒฝ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ตฌํ˜„
  2. ์ง๋ฌด ๋ถ„๋ฆฌ: ๊ด€๋ฆฌ ์ฑ…์ž„์„ ๋ถ„๋‹ด
  3. ์ •๊ธฐ ์—…๋ฐ์ดํŠธ: ๋ชจ๋“  ์‹œ์Šคํ…œ๊ณผ ์ธ์ฆ์„œ๋ฅผ ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€
  4. ๊ณต๊ธ‰์—…์ฒด ๊ด€๋ฆฌ: IdP ๋ฐ ๊ด€๋ จ ์„œ๋น„์Šค์˜ ๋ณด์•ˆ์„ ๋ชจ๋‹ˆํ„ฐ๋ง
  5. ๊ทœ์ • ์ค€์ˆ˜ ๋ชจ๋‹ˆํ„ฐ๋ง: ๊ทœ์ • ์ค€์ˆ˜๋ฅผ ์ง€์†์ ์œผ๋กœ ๋ณด์žฅ

SAML ์ธ์ฆ์€ FastComments ์‚ฌ์šฉ์ž์—๊ฒŒ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ ๋ณด์•ˆ๊ณผ ์›ํ™œํ•œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ ์ ˆํ•œ ๊ตฌ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ตํ•ด, SAML์€ ๊ธฐ์กด์˜ ID ์ธํ”„๋ผ์™€ ํ†ตํ•ฉ๋˜๋Š” ์•ˆ์ „ํ•œ ์‹ฑ๊ธ€ ์‚ฌ์ธ์˜จ์„ ์ œ๊ณตํ•˜๋Š” ๋™์‹œ์— ๊ฐ•๋ ฅํ•œ ๋ณด์•ˆ ํ†ต์ œ์™€ ํฌ๊ด„์ ์ธ ๊ฐ์‚ฌ ๊ธฐ๋Šฅ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.