
์ธ์ด ๐ฐ๐ท ํ๊ตญ์ด
๊ธฐ๋ณธ
๊ตฌ์ฑ
์ฌ์ฉ์ ๊ด๋ฆฌ
๋ฌธ์ ํด๊ฒฐ
๊ณ ๊ธ
FastComments๋ Flex ๋ฐ Pro ์๊ธ์ ๊ณ ๊ฐ์ ์ํด SAML 2.0 ์ธ์ฆ์ ์ง์ํฉ๋๋ค. SAML์ ์กฐ์ง์ ์์ด๋ดํฐํฐ ์ ๊ณต์(identity provider)๋ฅผ ํตํด ์์ ํ ์ฑ๊ธ ์ฌ์ธ์จ(SSO) ์ธ์ฆ์ ๊ฐ๋ฅํ๊ฒ ํ์ฌ ์ฌ์ฉ์๊ฐ ๊ธฐ์กด์ ๊ธฐ์ ์๊ฒฉ ์ฆ๋ช ์ผ๋ก FastComments์ ์ ๊ทผํ ์ ์๋๋ก ํฉ๋๋ค. ์ด ๊ฐ์ด๋๋ SAML ์ธ์ฆ์ ์ค์ , ๊ตฌ์ฑ ๋ฐ ๋ฌธ์ ํด๊ฒฐ์ ๋ค๋ฃน๋๋ค.
SAML์ด๋? 
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:
- Authentication Request: FastComments redirects the user to your identity provider
- User Authentication: The user authenticates with your IdP (e.g., Active Directory, Okta, Azure AD)
- SAML Response: The IdP sends a signed SAML assertion back to FastComments
- 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์ ์ฐจ์ด 
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์ ์ฌ์ฉํ์ง๋ ์๋ ์จ๋ผ์ธ ํฌํธ, ๋ธ๋ก๊ทธ ๋ฑ์์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
SAML ์ค์ 
FastComments์์ SAML ์ธ์ฆ์ ์ค์ ํ๋ ค๋ฉด ๊ด๋ฆฌ์ ๋์๋ณด๋์์์ ๊ตฌ์ฑ๊ณผ IdP(์์ด๋ดํฐํฐ ์ ๊ณต์) ์ชฝ ์ค์ ์ด ๋ชจ๋ ํ์ํฉ๋๋ค.
์ฌ์ ์๊ตฌ ์ฌํญ
SAML์ ๊ตฌ์ฑํ๊ธฐ ์ ์ ๋ค์์ด ์๋์ง ํ์ธํ์ธ์:
- FastComments Flex ๋๋ Pro ํ๋ (Creators ํ๋์์๋ SAML์ ์ฌ์ฉํ ์ ์์ต๋๋ค)
- FastComments ๊ณ์ ์ ๋ํ ๊ด๋ฆฌ์ ๊ถํ
- ์์ด๋ดํฐํฐ ์ ๊ณต์์ ๋ํ ๊ด๋ฆฌ์ ๊ถํ
- IdP์ SAML ๋ฉํ๋ฐ์ดํฐ ๋๋ ์ธ์ฆ์ ์ ๋ณด
SAML ๊ตฌ์ฑ ์ ๊ทผ
- FastComments ๊ด๋ฆฌ์ ๋์๋ณด๋์ ๋ก๊ทธ์ธํฉ๋๋ค
- ์ผ์ชฝ ์ฌ์ด๋๋ฐ์์ API/SSO ์ค์ ์ผ๋ก ์ด๋ํฉ๋๋ค
- SAML Config ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค
SAML Config ๋ฒํผ์ด ๋ณด์ด์ง ์๋ ๊ฒฝ์ฐ ๋ค์์ ํ์ธํ์ธ์:
- ๊ทํ์ ๊ณ์ ์ ํ์ํ ํจํค์ง(Flex ๋๋ Pro)๊ฐ ํฌํจ๋์ด ์๋์ง
- ๊ทํ์๊ฒ ๊ด๋ฆฌ์ ๊ถํ์ด ์๋์ง
- ๊ทํ์ ์ฌ์ฉ์์๊ฒ API Admin ๋๋ Admin Admin ์ญํ ์ด ์๋์ง
๊ธฐ๋ณธ SAML ๊ตฌ์ฑ
SAML ์ธ์ฆ ํ์ฑํ
- SAML ์ธ์ฆ ํ์ฑํ ์ฒดํฌ๋ฐ์ค๋ฅผ ์ ํํฉ๋๋ค
- ์ด๋ ๊ฒ ํ๋ฉด ํ ๋ํธ์ SAML์ด ํ์ฑํ๋๊ณ ๊ตฌ์ฑ ํ๋๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํด์ง๋๋ค
ํ์ ํ๋
IdP Single Sign-On URL (ํ์)
- ์ฌ์ฉ์๊ฐ ์ธ์ฆ์ ์ํด ๋ฆฌ๋๋ ์ ๋ URL
- ์ผ๋ฐ์ ์ผ๋ก ์์ด๋ดํฐํฐ ์ ๊ณต์๊ฐ ์ ๊ณตํฉ๋๋ค
- ์์:
https://your-company.okta.com/app/fastcomments/sso/saml
IdP X.509 Certificate (ํ์)
- ์์ด๋ดํฐํฐ ์ ๊ณต์์ ๊ณต๊ฐ ์ธ์ฆ์
- SAML ์๋ต์ ์ง์๋ฅผ ๊ฒ์ฆํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค
- BEGIN/END ๋ง์ปค๊ฐ ํฌํจ๋ ์ ์ฒด ์ธ์ฆ์๋ฅผ ํฌํจํด์ผ ํฉ๋๋ค
- ์์ ํ์: ```
- ----BEGIN CERTIFICATE----- MIICXjCCAcegAwIBAgIBADANBgkqhkiG9w0BAQsFADA...
- ----END CERTIFICATE-----
์ ํ์ ํ๋
IdP Entity ID / Issuer
- ์์ด๋ดํฐํฐ ์ ๊ณต์๋ฅผ ์๋ณํฉ๋๋ค
- ๋น์ ๋๋ฉด ๊ธฐ๋ณธ๊ฐ์ ๊ทํ์ FastComments URL์ ๋๋ค
- IdP์ ๊ตฌ์ฑ๋ ๋ฐ๊ธ์(issuer)์ ์ผ์นํด์ผ ํฉ๋๋ค
๊ณ ๊ธ ๊ตฌ์ฑ
๋ณด์ ์ค์
Signature Algorithm
- ๊ธฐ๋ณธ๊ฐ์ SHA-256(๊ถ์ฅ)
- ์ต์ : SHA-1, SHA-256, SHA-512
- IdP์ ๊ตฌ์ฑ๊ณผ ์ผ์นํด์ผ ํฉ๋๋ค
Digest Algorithm
- ๊ธฐ๋ณธ๊ฐ์ SHA-256(๊ถ์ฅ)
- SAML ์๋ต์ ๋ค์ด์ ์คํธ ๊ณ์ฐ์ ์ฌ์ฉ๋ฉ๋๋ค
- IdP์ ๊ตฌ์ฑ๊ณผ ์ผ์นํด์ผ ํฉ๋๋ค
Name ID Format
- ๊ธฐ๋ณธ๊ฐ์ ์ด๋ฉ์ผ ์ฃผ์ ํ์
- ์ฌ์ฉ์ ์๋ณ์๊ฐ ์ด๋ป๊ฒ ํฌ๋งท๋๋์ง๋ฅผ ๊ฒฐ์ ํฉ๋๋ค
- ์ผ๋ฐ์ ์ธ ์ต์ : ์ด๋ฉ์ผ ์ฃผ์, ์๊ตฌ(Persistent), ์ผ์์ (Transient)
์ํธํ(์ ํ ์ฌํญ)
๋ณตํธํ๋ฅผ ์ํ ๊ฐ์ธ ํค
- IdP๊ฐ SAML ์ด์ค์ ์ ์ํธํํ๋ ๊ฒฝ์ฐ์๋ง ํ์ํฉ๋๋ค
- ๋ณตํธํ์ ์ฌ์ฉ๋๋ ๊ฐ์ธ ํค๋ฅผ ๋ถ์ฌ๋ฃ์ผ์ธ์
- ๋๋ถ๋ถ์ ๋ฐฐํฌ์์๋ ์ด์ค์ ์ํธํ๊ฐ ํ์ํ์ง ์์ต๋๋ค
๊ตฌ์ฑ ์ ์ฅ
- ๋ชจ๋ ์ค์ ์ด ์ ํํ์ง ๊ฒํ ํฉ๋๋ค
- Save SAML Configuration์ ํด๋ฆญํฉ๋๋ค
- ์์คํ ์ด ๊ตฌ์ฑ์ ๊ฒ์ฆํฉ๋๋ค
- ์ฑ๊ณตํ๋ฉด ํ์ธ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค
๋ค์ ๋จ๊ณ
FastComments SAML ๊ตฌ์ฑ์ ์ ์ฅํ ํ:
- ์๋น์ค ์ ๊ณต์(Service Provider) ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ฌ ์์ด๋ดํฐํฐ ์ ๊ณต์๋ฅผ ๊ตฌ์ฑํฉ๋๋ค
- ์ธ์ฆ ํ๋ฆ์ ํ ์คํธํฉ๋๋ค
- ํ์์ ๋ฐ๋ผ ์ฌ์ฉ์ ์ญํ ๋ฐ ๊ถํ์ ์ค์ ํฉ๋๋ค
IdP ๊ตฌ์ฑ์ ์ํด ํ์ํ ์๋น์ค ์ ๊ณต์ ์ ๋ณด๋ SAML์ด ํ์ฑํ๋๋ฉด ํ์๋ฉ๋๋ค.
ID ๊ณต๊ธ์ ๊ตฌ์ฑ 
FastComments์์ SAML์ ๊ตฌ์ฑํ ํ, IdP(Identity Provider)์์ FastComments๋ฅผ ์๋น์ค ์ ๊ณต์(SP)๋ก ์ค์ ํด์ผ ํฉ๋๋ค.
์ผ๋ฐ์ ์ธ IdP ๊ตฌ์ฑ
๋๋ถ๋ถ์ IdP๋ FastComments๋ฅผ SAML ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ์ถ๊ฐํ ๋ ๋ค์ ์ ๋ณด๋ฅผ ์๊ตฌํฉ๋๋ค:
ํ์ํ ์๋น์ค ์ ๊ณต์ ์ ๋ณด
์ด ๊ฐ๋ค์ FastComments SAML ๊ตฌ์ฑ ํ์ด์ง์์ ์๋์ผ๋ก ์์ฑ๋์ด ํ์๋ฉ๋๋ค:
SP Entity ID / Audience
- Format:
https://fastcomments.com/saml/{your-tenant-id} - ์ด ๊ฐ์ ๊ทํ์ FastComments ์ธ์คํด์ค๋ฅผ ๊ณ ์ ํ๊ฒ ์๋ณํฉ๋๋ค
Assertion Consumer Service (ACS) URL
- Format:
https://fastcomments.com/saml/callback/{your-tenant-id} - IdP๊ฐ ์ธ์ฆ ํ SAML ์๋ต์ ๋ณด๋ด๋ ์์น์ ๋๋ค
SP Metadata URL (IdP์์ ์ง์ํ๋ ๊ฒฝ์ฐ)
- Format:
https://fastcomments.com/saml/metadata/{your-tenant-id} - XML ํ์์ผ๋ก ์์ ํ SAML ๊ตฌ์ฑ์ ์ ๊ณตํฉ๋๋ค
SAML Login URL
- Format:
https://fastcomments.com/saml/login/{your-tenant-id} - SAML ์ธ์ฆ์ ์์ํ๋ ์ง์ ๋งํฌ์ ๋๋ค
ํ์ SAML ์์ฑ
IdP๊ฐ SAML ์๋ต๊ณผ ํจ๊ป ๋ค์ ์์ฑ๋ค์ ์ ์กํ๋๋ก ๊ตฌ์ฑํ์ญ์์ค:
ํ์ ์์ฑ
์ด๋ฉ์ผ ์ฃผ์ (ํ์)
- ์์ฑ ์ด๋ฆ:
email,emailAddress, ๋๋http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress - ๋ชฉ์ : ๊ณ ์ ์ฌ์ฉ์ ์๋ณ ๋ฐ ์๋ฆผ
- ํ์: ์ ํจํ ์ด๋ฉ์ผ ์ฃผ์
์ ํ์ ์์ฑ
์ด๋ฆ(First Name)
- ์์ฑ ์ด๋ฆ๋ค:
firstName,givenName, ๋๋http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname - ๋ชฉ์ : ์ฌ์ฉ์ ํ์ ์ด๋ฆ
์ฑ(Last Name)
- ์์ฑ ์ด๋ฆ๋ค:
lastName,surname, ๋๋http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname - ๋ชฉ์ : ์ฌ์ฉ์ ํ์ ์ด๋ฆ
์ญํ (Roles) (์ ๊ทผ ์ ์ด์ ์ค์)
- ์์ฑ ์ด๋ฆ๋ค:
roles,groups,memberOf, ๋๋ ์ฌ์ฉ์ ์ ์ ์์ฑ ์ด๋ฆ - ๋ชฉ์ : FastComments์ ์ญํ ํ ๋น ๋ฐ ๊ถํ ์ค์
- ํ์: ์ญํ ๋ฌธ์์ด์ ๋ฐฐ์ด ๋๋ ์ผํ๋ก ๊ตฌ๋ถ๋ ๊ฐ
์ผ๋ฐ์ ์ธ IdP ๊ตฌ์ฑ ์ฌ๋ก
Microsoft Azure AD
์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ์ถ๊ฐ
- "FastComments"๋ฅผ ๊ฒ์ํ๊ฑฐ๋ ์ปค์คํ SAML ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ญ๋๋ค
- FastComments์์ ์ ๊ณตํ SP ์ ๋ณด๋ฅผ ์ฌ์ฉํฉ๋๋ค
์์ฑ ๊ตฌ์ฑ
- ์ด๋ฉ์ผ:
user.mail๋๋user.userprincipalname - ์ด๋ฆ:
user.givenname - ์ฑ:
user.surname - ์ญํ :
user.assignedroles๋๋ ๋๋ ํฐ๋ฆฌ ๊ทธ๋ฃน
- ์ด๋ฉ์ผ:
Okta
SAML ์ ํ๋ฆฌ์ผ์ด์ ์์ฑ
- "Create New App"์ ์ฌ์ฉํ๊ณ SAML 2.0์ ์ ํํฉ๋๋ค
- FastComments SP ์ ๋ณด๋ก ๊ตฌ์ฑํฉ๋๋ค
์์ฑ ์ ์ธ(Attribute Statements)
- ์ด๋ฉ์ผ:
user.email - ์ด๋ฆ(FirstName):
user.firstName - ์ฑ(LastName):
user.lastName - ์ญํ :
user.groups๋๋ ์ฌ์ฉ์ ์ ์ ์์ฑ
- ์ด๋ฉ์ผ:
Google Workspace
SAML ์ ํ๋ฆฌ์ผ์ด์ ์ถ๊ฐ
- Apps > Web and mobile apps > Add App > Add custom SAML app๋ก ์ด๋ํฉ๋๋ค
- FastComments SP ์ ๋ณด๋ก ๊ตฌ์ฑํฉ๋๋ค
์์ฑ ๋งคํ
- ์ด๋ฉ์ผ: ๊ธฐ๋ณธ ์ด๋ฉ์ผ(Primary email)
- ์ด๋ฆ: First name
- ์ฑ: Last name
- ์ญํ : ๊ทธ๋ฃน ๋๋ ์ฌ์ฉ์ ์ ์ ์์ฑ
Active Directory Federation Services (ADFS)
Relying Party Trust ์ถ๊ฐ
- FastComments ๋ฉํ๋ฐ์ดํฐ URL์ ์ฌ์ฉํ๊ฑฐ๋ ์๋์ผ๋ก ๊ตฌ์ฑํฉ๋๋ค
- ์ ๊ณต๋ SP ์ ๋ณด๋ฅผ ๊ตฌ์ฑํฉ๋๋ค
ํด๋ ์ ๊ท์น(Claim Rules)
- ์ด๋ฉ์ผ: Email Address ํด๋ ์
- ์ด๋ฆ: Name ID ํด๋ ์
- ์ญํ : ๊ทธ๋ฃน ๋ฉค๋ฒ์ญ ๋๋ ์ฌ์ฉ์ ์ ์ ํด๋ ์
์์ฑ ์ด๋ฆ์ ์ ์ฐ์ฑ
FastComments๋ ๋ค์ํ IdP ๊ตฌ์ฑ์ ์์ฉํ๊ธฐ ์ํด ์ฌ๋ฌ ์์ฑ ์ด๋ฆ์์ ์ญํ ์ ๋ณด๋ฅผ ์๋ฝํฉ๋๋ค:
rolesgroupsmemberOfrolegrouphttp://schemas.microsoft.com/ws/2008/06/identity/claims/rolehttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/role
์ด ์ ์ฐ์ฑ์ ํน์ ์์ฑ ์ด๋ฆ ๊ท์น์ ์๊ตฌํ์ง ์๊ณ ๋ค์ํ IdP์์ ํธํ์ฑ์ ๋ณด์ฅํฉ๋๋ค.
๊ตฌ์ฑ ํ ์คํธ
IdP ๊ตฌ์ฑ์ ์๋ฃํ ํ:
- IdP ๊ตฌ์ฑ์ ์ ์ฅํฉ๋๋ค
- ์ ์ฉ ํ ์คํธ ์ฌ์ฉ์ ๊ณ์ ์ผ๋ก ํ ์คํธํฉ๋๋ค
- ์์ฑ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ ์ก๋๋์ง ํ์ธํฉ๋๋ค
- ์ญํ ์ด ์ ๋๋ก ๋งคํ๋์๋์ง ํ์ธํฉ๋๋ค
- ์ธ์ฆ ํ๋ฆ์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋๋์ง ํ์ธํฉ๋๋ค
๋๋ถ๋ถ์ IdP๋ ํ๋ก๋์ ์ฌ์ฉ์์๊ฒ ๋ฐฐํฌํ๊ธฐ ์ ์ ๊ตฌ์ฑ์ ๊ฒ์ฆํ ์ ์๋ SAML ํ ์คํธ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
์๋น์ค ์ ๊ณต์ ์ ๋ณด 
FastComments์์ SAML์ด ํ์ฑํ๋๋ฉด, ์์คํ ์ IdP(Identity Provider)์ ๊ตฌ์ฑํด์ผ ํ๋ ์๋น์ค ์ ๊ณต์(SP) ์ ๋ณด๋ฅผ ์๋์ผ๋ก ์์ฑํฉ๋๋ค.
์๋น์ค ์ ๊ณต์ ์ ๋ณด์ ์ ๊ทผํ๊ธฐ
SP ์ ๋ณด๋ SAML ์ธ์ฆ์ ํ์ฑํํ ํ SAML ๊ตฌ์ฑ ํ์ด์ง์ ํ์๋ฉ๋๋ค. ์ด ์ ๋ณด์๋ IdP๊ฐ SAML ์ ๋ขฐ ๊ด๊ณ๋ฅผ ์ค์ ํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ์ธ๋ถ ์ ๋ณด๊ฐ ํฌํจ๋ฉ๋๋ค.
์๋น์ค ์ ๊ณต์ ์๋ํฌ์ธํธ
SP ์ํฐํฐ ID / Audience
๋ชฉ์ : FastComments ์ธ์คํด์ค๋ฅผ ์๋น์ค ์ ๊ณต์๋ก์ ๊ณ ์ ํ๊ฒ ์๋ณํฉ๋๋ค
ํ์: https://fastcomments.com/saml/{your-tenant-id}
์ฌ์ฉ๋ฒ: IdP์์ ์ํฐํฐ ID ๋๋ Audience๋ก ๊ตฌ์ฑํ์ธ์
์ด ์๋ณ์๋ SAML ์๋ต์ด ํน์ FastComments ํ ๋ํธ์ฉ์์ ๋ณด์ฅํ์ฌ ๋ค๋ฅธ ์ธ์คํด์ค์์ SAML ์๋ต์ด ์๋ฝ๋๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
Assertion Consumer Service (ACS) URL
๋ชฉ์ : ์ฌ์ฉ์๊ฐ ์ธ์ฆ๋ ํ IdP๊ฐ SAML ์๋ต์ ์ ์กํ๋ ์๋ํฌ์ธํธ์
๋๋ค
ํ์: https://fastcomments.com/saml/callback/{your-tenant-id}
์ฌ์ฉ๋ฒ: IdP์์ ACS URL ๋๋ Reply URL๋ก ๊ตฌ์ฑํ์ธ์
์ด๊ณณ์ ์ฌ์ฉ์๊ฐ IdP์์ ์ธ์ฆ์ ์ฑ๊ณตํ ํ ๋ฆฌ๋๋ ์ ๋๋ ์์น์ด๋ฉฐ, ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ํฌํจํ SAML ์ด์ค์ ์ด ํจ๊ป ์ ์ก๋ฉ๋๋ค.
SP ๋ฉํ๋ฐ์ดํฐ URL
๋ชฉ์ : ํ์ค XML ํ์์ผ๋ก ์์ ํ SAML ๊ตฌ์ฑ์ ์ ๊ณตํฉ๋๋ค
ํ์: https://fastcomments.com/saml/metadata/{your-tenant-id}
์ฌ์ฉ๋ฒ: ์ผ๋ถ IdP๋ ์ด URL์ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ์ ์๋์ผ๋ก ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค
๋ฉํ๋ฐ์ดํฐ URL์๋ XML ํ์์ ๋ชจ๋ ํ์ํ SP ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ด ํธํ๋๋ IdP๋ฅผ ์๋์ผ๋ก ๊ตฌ์ฑํ๊ธฐ ์ฝ์ต๋๋ค.
SAML ๋ก๊ทธ์ธ URL
๋ชฉ์ : ํ
๋ํธ์ ๋ํด SAML ์ธ์ฆ์ ์์ํ๋ ์ง์ ๋งํฌ์
๋๋ค
ํ์: https://fastcomments.com/saml/login/{your-tenant-id}
์ฌ์ฉ๋ฒ: ์ฌ์ฉ์๋ฅผ SAML ์ธ์ฆ์ผ๋ก ์ง์ ์ฐ๊ฒฐํ๊ฑฐ๋ ํ๋ฆ์ ํ
์คํธํ ๋ ์ฌ์ฉํ์ธ์
์ด URL์ ์ฌ์ฉํ์ฌ SAML ์ธ์ฆ์ ํ ์คํธํ๊ฑฐ๋ ์ฌ์ฉ์๊ฐ SAML์ ํตํด ๋ก๊ทธ์ธํ ์ ์๋๋ก ์ง์ ๋งํฌ๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
SAML ๋ฐ์ธ๋ฉ ์ง์
FastComments๋ ๋ค์ SAML ๋ฐ์ธ๋ฉ์ ์ง์ํฉ๋๋ค:
HTTP-POST ๋ฐ์ธ๋ฉ
- ๊ธฐ๋ณธ ๋ฐฉ๋ฒ: SAML ์๋ต์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ฐ์ธ๋ฉ
- ๋ณด์: SAML ์๋ต์ด HTTP POST๋ฅผ ํตํด ACS URL๋ก ์ ์ก๋ฉ๋๋ค
- ์ฌ์ฉ๋ฒ: ํ๋ก๋์ ๋ฐฐํฌ์ ๊ถ์ฅ๋ฉ๋๋ค
HTTP-Redirect ๋ฐ์ธ๋ฉ
- ๋์ฒด ๋ฐฉ๋ฒ: SAML ์๋ต์ด HTTP ๋ฆฌ๋๋ ํธ๋ฅผ ํตํด ์ ์ก๋ฉ๋๋ค
- ์ ํ์ฌํญ: URL ๊ธธ์ด ์ ํ์ผ๋ก ์ธํด ํ์ด๋ก๋ ํฌ๊ธฐ๊ฐ ์ ํ๋ฉ๋๋ค
- ์ฌ์ฉ๋ฒ: ์ง์๋์ง๋ง HTTP-POST๊ฐ ๊ถ์ฅ๋ฉ๋๋ค
Name ID ์ ์ฑ
FastComments๋ SAML ์์ฒญ์์ ๋ค์ Name ID ์ ์ฑ ์ ๊ตฌ์ฑํฉ๋๋ค:
- ๊ธฐ๋ณธ ํ์:
urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress - ๋์ฒด ํ์: Persistent, Transient, Unspecified (๊ตฌ์ฑ ๊ฐ๋ฅ)
- ์๊ตฌ์ฌํญ: ์ด๋ฉ์ผ ์ฃผ์๊ฐ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์๋ณ์๋ก ์ฌ์ฉ๋ฉ๋๋ค
SAML ์์ฒญ ์์ฑ
SAML ์ธ์ฆ์ ์์ํ ๋ FastComments๋ ๋ค์๊ณผ ๊ฐ์ ํน์ฑ์ ๊ฐ์ง ์์ฒญ์ ์ ์กํฉ๋๋ค:
์์ฒญ ์๋ช
- ์ํ: ์ ํ ์ฌํญ(๊ตฌ์ฑ ๊ฐ๋ฅ)
- ์๊ณ ๋ฆฌ์ฆ: ๊ตฌ์ฑ๋ ์๋ช ์๊ณ ๋ฆฌ์ฆ๊ณผ ์ผ์น
- ์ธ์ฆ์: ์์ฒญ ์๋ช ์ด ํ์ฑํ๋ ๊ฒฝ์ฐ ํ ๋ํธ๋ณ ์ธ์ฆ์๋ฅผ ์ฌ์ฉ
์์ฒญ๋ ์์ฑ
FastComments๋ SAML AuthnRequests์์ ๋ค์ ์์ฑ๋ค์ ์์ฒญํฉ๋๋ค:
- ์ด๋ฉ์ผ: ์ฌ์ฉ์ ์๋ณ์ ์ํด ํ์
- ์ด๋ฆ(First Name): ํ์ ๋ชฉ์ ์ ์ ํ ์ฌํญ
- ์ฑ(Last Name): ํ์ ๋ชฉ์ ์ ์ ํ ์ฌํญ
- ์ญํ /๊ทธ๋ฃน(Roles/Groups): ์ ๊ทผ ์ ์ด ๋ฐ ๊ถํ์ ์ํ ์ ํ ์ฌํญ
SP ์ ๋ณด ๋ณต์ฌ
SAML ๊ตฌ์ฑ ํ์ด์ง๋ SP ์ ๋ณด๋ฅผ ํด๋ฆฝ๋ณด๋๋ก ์๋ ๋ณต์ฌํ๋ ํด๋ฆญ ๊ฐ๋ฅํ ํ๋๋ฅผ ์ ๊ณตํฉ๋๋ค:
- ์ํฐํฐ ID, ACS URL ๋ฑ ์์์ SP ์ ๋ณด ํ๋๋ฅผ ํด๋ฆญํฉ๋๋ค
- ๊ฐ์ด ์๋์ผ๋ก ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌ๋ฉ๋๋ค
- ๊ฐ์ IdP ๊ตฌ์ฑ์ ๋ถ์ฌ๋ฃ์ต๋๋ค
- ์งง์ ํ์ด๋ผ์ดํธ๊ฐ ๋ณต์ฌ ์ฑ๊ณต์ ํ์ํฉ๋๋ค
์ด๋ฅผ ํตํด ์คํ ์์ด SP ์ ๋ณด๋ฅผ IdP๋ก ์ ํํ๊ฒ ์ ์กํ ์ ์์ต๋๋ค.
SP ์ธ์ฆ์ ์ ๋ณด
์ธ์ฆ์ ์ฌ์ฉ
- ๋ชฉ์ : ํต์ ์ ์ํธํํ๊ณ SP ์ ์์ ๊ฒ์ฆํฉ๋๋ค
- ํ์ (๊ฐฑ์ ): ์ธ์ฆ์๋ FastComments์ ์ํด ์๋์ผ๋ก ๊ด๋ฆฌ๋ฉ๋๋ค
- ์ ๊ทผ: ๊ณต๊ฐ ์ธ์ฆ์๋ ๋ฉํ๋ฐ์ดํฐ URL์ ํตํด ์ ๊ณต๋ฉ๋๋ค
์ธ์ฆ์ ์ธ๋ถ ์ ๋ณด
- ์๊ณ ๋ฆฌ์ฆ: RSA-2048 ์ด์
- ์ ํจ์ฑ: ์ธ์ฆ์๋ ๋ง๋ฃ ์ ์ ์๋์ผ๋ก ๊ฐฑ์ ๋ฉ๋๋ค
- ๋ฐฐํฌ: ํ์ค SAML ๋ฉํ๋ฐ์ดํฐ๋ฅผ ํตํด ์ ๊ณต๋ฉ๋๋ค
SP ๊ตฌ์ฑ ๋ฌธ์ ํด๊ฒฐ
IdP๊ฐ SP ์ ๋ณด์ ๊ด๋ จํ ๋ฌธ์ ๋ฅผ ๋ณด๊ณ ํ ๊ฒฝ์ฐ:
- URL ํ์ธ: ๋ชจ๋ URL์ด HTTPS๋ฅผ ์ฌ์ฉํ๊ณ ์ฌ๋ฐ๋ฅธ ํ ๋ํธ ID๋ฅผ ํฌํจํ๋์ง ํ์ธํ์ธ์
- ๋ฉํ๋ฐ์ดํฐ ํ์ธ: ๋ฉํ๋ฐ์ดํฐ URL์ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ์ ๊ฒ์ฆํ์ธ์
- ์ฐ๊ฒฐ์ฑ ํ ์คํธ: IdP๊ฐ FastComments ์๋ํฌ์ธํธ์ ์ ๊ทผํ ์ ์๋์ง ํ์ธํ์ธ์
- ํ์ ๊ฒ์ฆ: IdP๊ฐ SP ์ ๋ณด ํ์์ ์ง์ํ๋์ง ํ์ธํ์ธ์
์ผ๋ฐ์ ์ธ ๋ฌธ์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- URL์ ์๋ชป๋ ํ ๋ํธ ID๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ
- IdP์ FastComments ๊ฐ์ ๋คํธ์ํฌ ์ฐ๊ฒฐ ๋ฌธ์
- IdP๊ฐ ๋ค๋ฅธ URL ํ์์ด๋ ์ถ๊ฐ ๊ตฌ์ฑ ์ต์ ์ ๊ธฐ๋ํ๋ ๊ฒฝ์ฐ
์ฌ์ฉ์ ์ญํ ๋ฐ ๊ถํ 
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 ์์ฑ ์ด๋ฆ์์ ์ญํ ์ ๋ณด๋ฅผ ์๋ฝํฉ๋๋ค:
ํ์ค ์์ฑ ์ด๋ฆ:
rolesgroupsmemberOfrolegroup
Microsoft/ADFS ์์ฑ:
http://schemas.microsoft.com/ws/2008/06/identity/claims/rolehttp://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
์ฑ ์ญํ ๊ตฌ์ฑ:
- Azure AD ์ ํ๋ฆฌ์ผ์ด์ ์ FastComments ์ญํ ์ ์
- ์ ์ ํ ์ฑ ์ญํ ์ ์ฌ์ฉ์ ํ ๋น
- ํ ๋น๋ ์ญํ ์ ํฌํจํ๋๋ก ํด๋ ์ ๊ตฌ์ฑ
์์ฑ ๋งคํ:
Attribute Name: roles Source Attribute: user.assignedroles
Okta
๊ทธ๋ฃน ํ ๋น:
- FastComments ์ญํ ์ด๋ฆ๊ณผ ์ผ์นํ๋ ๊ทธ๋ฃน ์์ฑ
- ์ ์ ํ ๊ทธ๋ฃน์ ์ฌ์ฉ์ ํ ๋น
- ์์ฑ ๋ฌธ(statement) ๊ตฌ์ฑ
์์ฑ ๋ฌธ:
Name: roles Value: user.groups Filter: Starts with "fc-"
Google Workspace
๊ทธ๋ฃน ๋งคํ:
- ์กฐ์ง ๋จ์ ๋๋ ๊ทธ๋ฃน ์์ฑ
- FastComments ์ญํ ์ ๋์ฌ๋ก ๊ทธ๋ฃน ์ด๋ฆ ์ง์
- ์์ฑ ๋งคํ ๊ตฌ์ฑ
์ฌ์ฉ์ ์ง์ ์์ฑ:
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๋ก ์ฒ์ ๋ก๊ทธ์ธํ ๋:
- ์ฌ์ฉ์ ๊ณ์ : ์ด๋ฉ์ผ์ ์๋ณ์๋ก ํ์ฌ ์๋ ์์ฑ๋ฉ๋๋ค
- ์ญํ ํ ๋น: SAML ์์ฑ์ ๋ฐ๋ผ ์ญํ ์ด ์ ์ฉ๋ฉ๋๋ค
- ํ๋กํ ์ ๋ณด: ์ ๊ณต๋ ๊ฒฝ์ฐ ์ด๋ฆ/์ฑ(First/last name)์ด ์ฑ์์ง๋๋ค
- ๊ถํ ํ์ฑํ: ์ญํ ์ ์ฆ์ ํ์ฑํ๋ฉ๋๋ค
Role Updates
๊ธฐ์กด SAML ์ฌ์ฉ์๋ ์ญํ ์ ๋ฐ์ดํธ๋ฅผ ๋ฐ์ต๋๋ค:
- ๋ก๊ทธ์ธ ํธ๋ฆฌ๊ฑฐ: ์ญํ ์ ๋ฐ์ดํธ๋ ๊ฐ SAML ๋ก๊ทธ์ธ ์ค์ ๋ฐ์ํฉ๋๋ค
- ์ฆ์ ์ ์ฉ: ์ ๊ถํ์ ์ฆ์ ์ ์ฉ๋ฉ๋๋ค
- ์ญํ ์ ๊ฑฐ: ์ ๊ฑฐ๋ ์ญํ ์ ์๋์ผ๋ก ํด์ ๋ฉ๋๋ค
- ๊ฐ์ฌ ์ถ์ : ์ญํ ๋ณ๊ฒฝ์ ๊ฐ์ฌ ๋ก๊ทธ์ ๊ธฐ๋ก๋ฉ๋๋ค
Custom Role Mapping
Enterprise Customization
ํน์ ์๊ตฌ ์ฌํญ์ด ์๋ ์ํฐํ๋ผ์ด์ฆ ๊ณ ๊ฐ์ ๊ฒฝ์ฐ:
- ๋ง์ถค ์ญํ ์ด๋ฆ์ FastComments ๊ถํ์ ๋งคํํ ์ ์์ต๋๋ค
- ๋ณต์กํ ์ญํ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค
- ๋ถ์๋ณ ์ ๊ทผ ์ ์ด๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค
๋ง์ถค ์ญํ ๋งคํ ๊ตฌ์ฑ์ ์ํด FastComments ์ง์ํ์ ๋ฌธ์ํ์ธ์.
Role Validation
FastComments๋ ์์ ๋ ์ญํ ์ ๊ฒ์ฆํฉ๋๋ค:
- ์ธ์๋์ง ์๋ ์ญํ ์ ๋ฌด์๋ฉ๋๋ค(๊ฑฐ๋ถ๋์ง ์์)
- ์๋ชป๋ ํ์์ ์ญํ ์์ฑ์ ๋ฌธ์ ํด๊ฒฐ์ ์ํด ๊ธฐ๋ก๋ฉ๋๋ค
- SAML ์ด์์ ์ ์ญํ ์ ๋ณด๊ฐ ์์ ๊ฒฝ์ฐ ์ฌ์ฉ์๋ ๊ธฐ์กด ์ญํ ์ ์ ์งํฉ๋๋ค
Best Practices
Role Management
- ์ต์ ๊ถํ ์์น: ํ์ํ ์ต์ ๊ถํ๋ง ํ ๋นํ์ธ์
- ์ ๊ธฐ ๊ฐ์ฌ: ์ฌ์ฉ์ ์ญํ ๊ณผ ์ ๊ทผ์ ์ ๊ธฐ์ ์ผ๋ก ๊ฒํ ํ์ธ์
- ๋ช ํํ ๋ช ๋ช : IdP์์ ์ค๋ช ์ ์ธ ๊ทธ๋ฃน ์ด๋ฆ์ ์ฌ์ฉํ์ธ์
- ๋ฌธ์ํ: ์ญํ ํ ๋น์ ๋ํ ๋ฌธ์๋ฅผ ์ ์งํ์ธ์
Security Considerations
- ์ญํ ์์ฑ: SAML ์๋ต์์ ์ญํ ์์ฑ์ด ์ ์ ํ ๋ณดํธ๋๋์ง ํ์ธํ์ธ์
- ์์ฑ ๊ฒ์ฆ: ์น์ธ๋ ์์คํ ๋ง ์ญํ ์ ํ ๋นํ ์ ์๋์ง ๊ฒ์ฆํ์ธ์
- ์ ๊ทผ ๊ฒํ : ๊ด๋ฆฌ์ ์ญํ ํ ๋น์ ์ ๊ธฐ์ ์ผ๋ก ๊ฒํ ํ์ธ์
- ๋ชจ๋ํฐ๋ง: ์ญํ ๋ณ๊ฒฝ ๋ฐ ๊ด๋ฆฌ์ ์์ ์ ๋ชจ๋ํฐ๋งํ์ธ์
Troubleshooting Role Issues
Common Problems
Roles Not Applied:
- SAML ์์ฑ ์ด๋ฆ์ด ์ง์๋๋ ํ์๊ณผ ์ผ์นํ๋์ง ํ์ธํ์ธ์
- IdP๊ฐ ์ญํ ์ ๋ณด๋ฅผ ์ ์กํ๊ณ ์๋์ง ํ์ธํ์ธ์
- ์ญํ ๊ฐ์ด FastComments ์ญํ ์ด๋ฆ๊ณผ ์ ํํ ์ผ์นํ๋์ง ํ์ธํ์ธ์
Access Denied:
- IdP์์ ์ฌ์ฉ์์๊ฒ ์ ์ ํ ์ญํ ์ด ํ ๋น๋์๋์ง ํ์ธํ์ธ์
- ์ญํ ์ฒ ์์ ๋์๋ฌธ์๋ฅผ ํ์ธํ์ธ์
- SAML ์๋ต์์ ์ญํ ์ด ์ฌ๋ฐ๋ฅด๊ฒ ํ์ํ๋์๋์ง ํ์ธํ์ธ์
Missing Permissions:
- ์ญํ ์ ์์ ํ์ํ ๊ถํ์ ๊ฒํ ํ์ธ์
- ์์ถฉ๋๋ ์ญํ ํ ๋น์ด ์๋์ง ํ์ธํ์ธ์
- ์ญํ ๋ณ๊ฒฝ ํ ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธํ๋์ง ํ์ธํ์ธ์
SAML ์ธ์ฆ ํ
์คํธ 
SAML ๊ตฌ์ฑ์ ํ ์คํธํ๋ฉด ํ๋ก๋์ ์ฌ์ฉ์์๊ฒ ๋ฐฐํฌํ๊ธฐ ์ ์ ์ธ์ฆ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค.
์ฌ์ ํ ์คํธ ์ฒดํฌ๋ฆฌ์คํธ
SAML ์ธ์ฆ์ ํ ์คํธํ๊ธฐ ์ ์ ๋ค์์ ํ์ธํ์ธ์:
- โ SAML์ด FastComments์์ ํ์ฑํ๋์ด ์์
- โ ํ์ ํ๋๊ฐ ๋ชจ๋ ์ฑ์์ ธ ์์ (IdP URL, ์ธ์ฆ์)
- โ Identity provider๊ฐ FastComments SP ์ ๋ณด๋ฅผ ์ฌ์ฉํ๋๋ก ๊ตฌ์ฑ๋์ด ์์
- โ IdP์ ํ ์คํธ ์ฌ์ฉ์ ๊ณ์ ์ด ์กด์ฌํจ
- โ ํ ์คํธ ์ฌ์ฉ์์๊ฒ ์ ์ ํ ์ญํ ์ด ํ ๋น๋์ด ์์
ํ ์คํธ ๋ฐฉ๋ฒ
๋ฐฉ๋ฒ 1: ์ง์ SAML ๋ก๊ทธ์ธ URL
SAML ๋ก๊ทธ์ธ URL ๊ฐ์ ธ์ค๊ธฐ:
- SAML ๊ตฌ์ฑ ํ์ด์ง์์ ๋ณต์ฌ
- ํ์:
https://fastcomments.com/saml/login/{your-tenant-id}
์ธ์ฆ ํ ์คํธ:
- ์ํฌ๋ฆฟ/ํ๋ผ์ด๋น ๋ธ๋ผ์ฐ์ ์ฐฝ์์ SAML ๋ก๊ทธ์ธ URL์ ์ฝ๋๋ค
- Identity provider๋ก ๋ฆฌ๋๋ ์ ๋์ด์ผ ํฉ๋๋ค
- ํ ์คํธ ์๊ฒฉ ์ฆ๋ช ์ผ๋ก ๋ก๊ทธ์ธํฉ๋๋ค
- FastComments๋ก ์ ์์ ์ผ๋ก ๋ฆฌ๋๋ ์ ๋๋์ง ํ์ธํฉ๋๋ค
๋ฐฉ๋ฒ 2: ๊ด๋ฆฌ์ ๋์๋ณด๋ ์ ๊ทผ
FastComments๋ก ์ด๋:
- FastComments ๊ด๋ฆฌ์ ๋์๋ณด๋๋ก ์ด๋
- SAML ๋ก๊ทธ์ธ ์ต์ ์ ์ฐพ๊ฑฐ๋ SAML ๋ก๊ทธ์ธ URL์ ์ฌ์ฉ
์ธ์ฆ ํ๋ฆ ์๋ฃ:
- Identity provider๋ฅผ ํตํด ์ธ์ฆ
- ํ ๋น๋ ์ญํ ์ ๋ฐ๋ผ ์ ์ ํ ๊ด๋ฆฌ์ ๊ธฐ๋ฅ์ ์ ๊ทผ ๊ฐ๋ฅํ์ง ํ์ธ
๋ฐฉ๋ฒ 3: ์์ ฏ ํตํฉ ํ ์คํธ
๋๊ธ ์์ ฏ์์ SAML์ ํ ์คํธํ๋ ค๋ฉด:
- ์์ ฏ ์๋ฒ ๋: ํ ์คํธ ํ์ด์ง์ FastComments ์์ ฏ์ ์ฌ์ฉ
- ์ธ์ฆ: ๋ก๊ทธ์ธ ํด๋ฆญ ํ SAML ์ต์ ์ ํ(๊ฐ๋ฅํ ๊ฒฝ์ฐ)
- ๊ฒ์ฆ: ์์ ฏ์์ ์ฌ์ฉ์๊ฐ ์ธ์ฆ๋ ๊ฒ์ผ๋ก ํ์๋๋์ง ํ์ธ
ํ ์คํธ ์ค ํ์ธํ ํญ๋ชฉ
์ธ์ฆ ํ๋ฆ
์ ์ ๋ฆฌ๋๋ ์ :
- ์ฌ์ฉ์๊ฐ IdP ๋ก๊ทธ์ธ ํ์ด์ง๋ก ๋ฆฌ๋๋ ์ ๋๋์ง
- IdP ๋ก๊ทธ์ธ ํ์ด์ง๊ฐ ์ ์์ ์ผ๋ก ๋ก๋๋๋์ง
- ์ธ์ฆ์ ๋๋ SSL ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์๋์ง
IdP ์ธ์ฆ:
- ์ฌ์ฉ์๊ฐ IdP ์๊ฒฉ ์ฆ๋ช ์ผ๋ก ๋ก๊ทธ์ธํ ์ ์๋์ง
- ๋ค์ค ์์ ์ธ์ฆ์ด ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ์๋ํ๋์ง
- IdP์์ ์ธ์ฆ ์ค๋ฅ๊ฐ ์๋์ง
FastComments๋ก์ ๋ณต๊ท:
- IdP ๋ก๊ทธ์ธ ์ฑ๊ณต ํ ์ฌ์ฉ์๊ฐ FastComments๋ก ๋ฆฌ๋๋ ์ ๋๋์ง
- SAML assertion ๊ฒ์ฆ ์ค๋ฅ๊ฐ ์๋์ง
- ์ฌ์ฉ์๊ฐ ์ ์ ํ FastComments ๊ธฐ๋ฅ์ ์ ๊ทผํ ์ ์๋์ง
์ฌ์ฉ์ ์ ๋ณด
๊ธฐ๋ณธ ํ๋กํ ๋ฐ์ดํฐ:
- ์ด๋ฉ์ผ ์ฃผ์๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์์ง๋๋์ง
- ์ ๊ณต๋ ๊ฒฝ์ฐ ์ด๋ฆ(์ด๋ฆ/์ฑ)์ด ํ์๋๋์ง
- ์ฌ์ฉ์ ํ๋กํ์ด ์์ฑ๋๊ฑฐ๋ ์ ๋ฐ์ดํธ๋๋์ง
์ญํ ํ ๋น:
- ๊ด๋ฆฌ ์ญํ ์ด ์ฌ๋ฐ๋ฅด๊ฒ ํ ๋น๋๋์ง
- ์ฌ์ฉ์๊ฐ ์์๋๋ ๊ด๋ฆฌ์ ๊ธฐ๋ฅ์ ์ ๊ทผํ ์ ์๋์ง
- ๊ถํ์ด ํ ๋น๋ ์ญํ ๊ณผ ์ผ์นํ๋์ง
SAML ์๋ต ๊ฒ์ฆ
์ธ์ฆ์ ๊ฒ์ฆ:
- SAML ์๋ต ์๋ช ์ด ์ ์์ ์ผ๋ก ๊ฒ์ฆ๋๋์ง
- ๋ก๊ทธ์ ์ธ์ฆ์ ๊ฒ์ฆ ์ค๋ฅ๊ฐ ์๋์ง
- ์๋ต์ด ์ ๋ขฐํ ์ ์๋ ๊ฒ์ผ๋ก ์๋ฝ๋๋์ง
์์ฑ ์ฒ๋ฆฌ:
- ํ์ ์์ฑ(์ด๋ฉ์ผ)์ด ์กด์ฌํ๋์ง
- ์ ํ์ ์์ฑ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌ๋๋์ง
- ์ญํ ์์ฑ์ด ์ ๋๋ก ํ์ฑ๋์ด ์ ์ฉ๋๋์ง
๋ค์ํ ์๋๋ฆฌ์ค ํ ์คํธ
ํ์ค ์ฌ์ฉ์ ํ๋ฆ
์ ๊ท ์ฌ์ฉ์:
- ์ต์ด SAML ๋ก๊ทธ์ธ
- ๊ณ์ ์์ฑ
- ๊ธฐ๋ณธ ๊ถํ ํ ๋น
๊ธฐ์กด ์ฌ์ฉ์:
- ์ฌ๋ฐฉ๋ฌธ ์ฌ์ฉ์ ๋ก๊ทธ์ธ
- ํ๋กํ ์ ๋ฐ์ดํธ
- ์ญํ ๋ณ๊ฒฝ
๊ด๋ฆฌ์ ์ ๊ทผ ํ ์คํธ
๊ด๋ฆฌ์ ์ญํ :
fc-admin-admin์ญํ ์ด ์๋ ํ ์คํธ ์ฌ์ฉ์- ๊ด๋ฆฌ์ ๋์๋ณด๋ ์ ๊ทผ ํ์ธ
- ๊ด๋ฆฌ ๊ถํ ํ์ธ
์ ๋ฌธํ๋ ์ญํ :
fc-moderator์ ๋ชจ๋๋ ์ด์ ๊ธฐ๋ฅ ์ ๊ทผ ํ ์คํธfc-analytics-admin์ ๋ถ์ ์ ๊ทผ ํ ์คํธfc-billing-admin์ ๊ฒฐ์ ๊ธฐ๋ฅ ์ ๊ทผ ํ ์คํธ
์ค๋ฅ ์๋๋ฆฌ์ค
์๋ชป๋ ์ธ์ฆ์:
- ๋ง๋ฃ๋์๊ฑฐ๋ ์๋ชป๋ ์ธ์ฆ์๋ก ํ ์คํธ
- ์ ์ ํ ์ค๋ฅ ์ฒ๋ฆฌ ํ์ธ
๋๋ฝ๋ ์์ฑ:
- ์ด๋ฉ์ผ ํ์ ์์ฑ์ด ์๋ SAML ์๋ต ํ ์คํธ
- ์ ์์ ์ธ ์ค๋ฅ ์ฒ๋ฆฌ ํ์ธ
๋คํธ์ํฌ ๋ฌธ์ :
- ์ฐ๊ฒฐ ๋ฌธ์ ๊ฐ ์๋ ์ํ๋ก ํ ์คํธ
- ํ์์์ ์ฒ๋ฆฌ ํ์ธ
ํ ์คํธ ๋ฌธ์ ํด๊ฒฐ
์ผ๋ฐ์ ์ธ ์ธ์ฆ ๋ฌธ์
๋ฆฌ๋๋ ์ ๋ฃจํ:
- SP Entity ID๊ฐ IdP ๊ตฌ์ฑ๊ณผ ์ผ์นํ๋์ง ํ์ธ
- ACS URL์ด ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑ๋์๋์ง ํ์ธ
- SAML ๋ฐ์ธ๋ฉ ์ค์ ์ด ์ผ์นํ๋์ง ํ์ธ
์ธ์ฆ์ ์ค๋ฅ:
- ์ธ์ฆ์์ BEGIN/END ๋ง์ปค๊ฐ ํฌํจ๋์ด ์๋์ง ํ์ธ
- ์ธ์ฆ์๊ฐ ๋ง๋ฃ๋์ง ์์๋์ง ํ์ธ
- ์ฌ๋ถ์ ๊ณต๋ฐฑ์ด๋ ํฌ๋งท ๋ฌธ์ ํ์ธ
์์ฑ ๋ฌธ์ :
- ์ด๋ฉ์ผ ์์ฑ์ด ์ ์ก๋๊ณ ์๋์ง ํ์ธ
- ์ญํ ์์ฑ์ด ์ฌ๋ฐ๋ฅธ ์ด๋ฆ์ ์ฌ์ฉํ๋์ง ํ์ธ
- ์์ฑ ํ์(array vs. comma-separated) ํ์ธ
๋๋ฒ๊น ๋๊ตฌ
๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์ ๋๊ตฌ:
- SAML ํ๋ฆ ๋์ ๋คํธ์ํฌ ์์ฒญ ๋ชจ๋ํฐ๋ง
- HTTP ์ค๋ฅ ๋๋ ๋ฆฌ๋๋ ์ ํ์ธ
- SAML POST ๋ฐ์ดํฐ ๊ฒ์ฌ(๋ณผ ์ ์๋ ๊ฒฝ์ฐ)
IdP ํ ์คํธ ๋๊ตฌ:
- ๋๋ถ๋ถ์ IdP๋ SAML ํ ์คํธ ์ธํฐํ์ด์ค ์ ๊ณต
- IdP ๋๊ตฌ๋ฅผ ์ฌ์ฉํด SAML ์๋ต ํ์ ๊ฒ์ฆ
- FastComments๋ก ์ ์กํ๊ธฐ ์ ์ ์์ฑ ๊ตฌ์ฑ์ ํ ์คํธ
FastComments ์ง์:
- ํ ์คํธ ์ค ๋๋ฒ๊ทธ ๋ก๊น ํ์ฑํ
- ์ค๋ฅ ๋ฉ์์ง์ ํ์์คํฌํ ์ ์ฅ
- ํน์ ์ค๋ฅ ์ธ๋ถ ์ ๋ณด์ ํจ๊ป ์ง์ํ์ ์ฐ๋ฝ
ํ ์คํธ ๋ชจ๋ฒ ์ฌ๋ก
ํ ์คํธ ํ๊ฒฝ ์ค์
์ ์ฉ ํ ์คํธ ์ฌ์ฉ์:
- IdP์ ๋ณ๋์ ํ ์คํธ ๊ณ์ ์์ฑ
- ๋ค์ํ ์ญํ ์กฐํฉ ํ ๋น
- ์ฝ๊ฒ ์๋ณ ๊ฐ๋ฅํ ํ ์คํธ ์ด๋ฉ์ผ ์ฃผ์ ์ฌ์ฉ
๊ฒฉ๋ฆฌ๋ ํ ์คํธ:
- ์ํฌ๋ฆฟ/ํ๋ผ์ด๋น ๋ธ๋ผ์ฐ์ ์ฐฝ ์ฌ์ฉ
- ํ ์คํธ ๊ฐ ์ฟ ํค ์ญ์
- ๋ค๋ฅธ ์ฌ์ฉ์ ๊ณ์ ์ผ๋ก ํ ์คํธ
๋ฌธ์ํ:
- ํ ์คํธ ์๋๋ฆฌ์ค์ ๊ฒฐ๊ณผ ๊ธฐ๋ก
- ํ์ํ ๊ตฌ์ฑ ๋ณ๊ฒฝ ์ฌํญ ๋ฌธ์ํ
- ์ฑ๊ณต์ ์ธ ๊ตฌ์ฑ ์ธ๋ถ ์ ๋ณด ๊ธฐ๋ก
ํ๋ก๋์ ์ ๊ฒ์ฆ
ํฌ๊ด์ ํ ์คํธ:
- ๋ชจ๋ ์ญํ ์กฐํฉ ํ ์คํธ
- ์ฃ์ง ์ผ์ด์ค ๋ฐ ์ค๋ฅ ์กฐ๊ฑด ํ์ธ
- ์ฑ๋ฅ์ด ํ์ฉ ๊ฐ๋ฅํ์ง ํ์ธ
์ฌ์ฉ์ ์์ฉ ํ ์คํธ:
- ์ต์ข ์ฌ์ฉ์์๊ฒ ์ธ์ฆ ํ๋ฆ ํ ์คํธ ์์ฒญ
- ์ฌ์ฉ์ ๊ฒฝํ์ ๋ํ ํผ๋๋ฐฑ ์์ง
- ์ํฌํ๋ก์ฐ๊ฐ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํ๋์ง ํ์ธ
๋ณด์ ๊ฒํ :
- ์ธ์ฆ์ ๊ฒ์ฆ์ด ์๋ํ๋์ง ํ์ธ
- ์ญํ ํ ๋น์ด ์์ ํ์ง ๊ฒ์ฆ
- ์ ๊ทผ ์ ์ด ์ํ ํ ์คํธ
ํ๋ก๋์ ๋ฐฐํฌ
์ฑ๊ณต์ ์ธ ํ ์คํธ ํ:
- ์ ์ง์ ๋กค์์: ๋จผ์ ์ผ๋ถ ์ฌ์ฉ์์๊ฒ SAML์ ๋กค์์ํ๋ ๊ฒ์ ๊ณ ๋ ค
- ๋ชจ๋ํฐ๋ง: ์ธ์ฆ ์ฑ๊ณต๋ฅ ๋ฐ ์ค๋ฅ ๋ก๊ทธ ๋ชจ๋ํฐ๋ง
- ์ง์ ์ค๋น: SAML ๊ด๋ จ ์ง๋ฌธ์ ๋๋นํ์ฌ ์ง์ ํ ์ค๋น
- ๋ฌธ์ํ: SAML ๋ก๊ทธ์ธ ํ๋ก์ธ์ค์ ๋ํ ์ฌ์ฉ์ ๋ฌธ์ ์ ๊ณต
์์ฃผ ๋ฐ์ํ๋ ๋ฌธ์ 
์ด ๊ฐ์ด๋๋ ์ผ๋ฐ์ ์ธ SAML ์ธ์ฆ ๋ฌธ์ ์ ๊ทธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ค๋ฃน๋๋ค.
Certificate and Security Issues
Invalid Certificate Error
์ฆ์:
- "Certificate validation failed" ์ค๋ฅ
- ์ฌ์ฉ์๊ฐ SAML ์ธ์ฆ์ ์๋ฃํ ์ ์์
- SAML ์๋ต์ด ๊ฑฐ๋ถ๋จ
์ผ๋ฐ ์์ธ:
- ์ธ์ฆ์ ํ์์ด ์ฌ๋ฐ๋ฅด์ง ์์
- ์ธ์ฆ์๊ฐ ๋ง๋ฃ๋จ
- ์๋ชป๋ ์ธ์ฆ์๊ฐ ์ ๊ณต๋จ
- ์ธ์ฆ์์ ์ฌ๋ถ์ ๋ฌธ์๋ ๊ณต๋ฐฑ์ด ์์
ํด๊ฒฐ ๋ฐฉ๋ฒ:
์ธ์ฆ์ ํ์ ํ์ธ:
- ์ธ์ฆ์์
-----BEGIN CERTIFICATE-----๋ฐ-----END CERTIFICATE-----๋ง์ปค๊ฐ ํฌํจ๋์ด ์๋์ง ํ์ธ - ์ฌ๋ถ์ ๊ณต๋ฐฑ์ด๋ ์ค ๋ฐ๊ฟ์ ์ ๊ฑฐ
- ์ธ์ฆ์๋ฅผ IdP ๋ฉํ๋ฐ์ดํฐ๋ ๊ตฌ์ฑ์์ ์ง์ ๋ณต์ฌ
- ์ธ์ฆ์์
์ธ์ฆ์ ์ ํจ์ฑ ๊ฒ์ฌ:
- ์ธ์ฆ์๊ฐ ๋ง๋ฃ๋์ง ์์๋์ง ํ์ธ
- ์ธ์ฆ์๊ฐ ์ฌ๋ฐ๋ฅธ IdP์ฉ์ธ์ง ํ์ธ
- ์จ๋ผ์ธ ์ธ์ฆ์ ์ ํจ์ฑ ๊ฒ์ฌ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ ํ์ธ
์ธ์ฆ์ ์ฌ๋ค์ด๋ก๋:
- IdP์์ ์ต์ ์ธ์ฆ์๋ฅผ ๋ค์ด๋ก๋
- ๊ฐ๋ฅํ ๊ฒฝ์ฐ IdP ๋ฉํ๋ฐ์ดํฐ URL ์ฌ์ฉ
- ์ธ์ฆ์๊ฐ ํ์ฌ IdP ๊ตฌ์ฑ๊ณผ ์ผ์นํ๋์ง ํ์ธ
Signature Verification Failed
์ฆ์:
- SAML ์ด์ค์ ์๋ช ๊ฒ์ฆ ์ค๋ฅ
- IdP ๋ก๊ทธ์ธ ํ ์ธ์ฆ ์คํจ
- "Invalid signature" ์ค๋ฅ ๋ฉ์์ง
ํด๊ฒฐ ๋ฐฉ๋ฒ:
์๊ณ ๋ฆฌ์ฆ ๋ถ์ผ์น:
- FastComments์ ์๋ช ์๊ณ ๋ฆฌ์ฆ์ด IdP์ ์ผ์นํ๋์ง ํ์ธ
- ๋ค๋ฅธ ์๋ช ์๊ณ ๋ฆฌ์ฆ ์๋ (SHA-256, SHA-1, SHA-512)
- ๋ค์ด์ ์คํธ ์๊ณ ๋ฆฌ์ฆ์ด IdP ๊ตฌ์ฑ๊ณผ ์ผ์นํ๋์ง ํ์ธ
์ธ์ฆ์ ๋ฌธ์ :
- ์ฌ๋ฐ๋ฅธ ์๋ช ์ธ์ฆ์๊ฐ ๊ตฌ์ฑ๋์ด ์๋์ง ํ์ธ
- ์ธ์ฆ์๊ฐ IdP์์ ์ฌ์ฉ๋๋ ๊ฐ์ธ ํค์ ํด๋นํ๋์ง ๊ฒ์ฆ
- IdP์์ ์ธ์ฆ์ ๊ต์ฒด(๋กํ ์ด์ )๊ฐ ์์๋์ง ํ์ธ
Configuration Issues
Wrong Entity ID or ACS URL
์ฆ์:
- IdP๊ฐ "Unknown Service Provider" ๋ณด๊ณ
- SAML ์๋ต์ด ์๋ชป๋ ์๋ํฌ์ธํธ๋ก ์ ์ก๋จ
- ์ธ์ฆ์ด ์๋ฃ๋์ง ์์
ํด๊ฒฐ ๋ฐฉ๋ฒ:
SP ์ ๋ณด ํ์ธ:
- FastComments ๊ตฌ์ฑ์์ Entity ID๋ฅผ ์ ํํ ๋ณต์ฌ
- ACS URL์ด ๋ค์ ํ์๊ณผ ์ผ์นํ๋์ง ํ์ธ:
https://fastcomments.com/saml/callback/{tenant-id} - tenant ID์ ์คํ๊ฐ ์๋์ง ํ์ธ
IdP ๊ตฌ์ฑ:
- IdP์ ์ฌ๋ฐ๋ฅธ SP Entity ID๋ก ์ ๋ฐ์ดํธ
- ์ฌ๋ฐ๋ฅธ ACS/Reply URL ๊ตฌ์ฑ
- IdP ๋ฐ์ธ๋ฉ ์ค์ ํ์ธ (HTTP-POST ๊ถ์ฅ)
Missing or Incorrect Attributes
์ฆ์:
- ์ฌ์ฉ์๊ฐ ์ ์ ํ ์ญํ ์์ด ์์ฑ๋จ
- ์ฌ์ฉ์ ํ๋กํ ์ ๋ณด ๋๋ฝ
- "Email required" ์ค๋ฅ
ํด๊ฒฐ ๋ฐฉ๋ฒ:
์ด๋ฉ์ผ ์์ฑ:
- IdP๊ฐ ์ด๋ฉ์ผ ์์ฑ์ ์ ์กํ๋์ง ํ์ธ
- ์์ฑ ์ด๋ฆ ๋งคํ ํ์ธ (email, emailAddress ๋ฑ)
- ์ด๋ฉ์ผ ๊ฐ์ด ์ ํจํ ์ด๋ฉ์ผ ์ฃผ์์ธ์ง ๊ฒ์ฆ
์ญํ ์์ฑ:
- IdP๊ฐ ์ญํ /๊ทธ๋ฃน ์ ๋ณด๋ฅผ ์ ์กํ๋์ง ํ์ธ
- ์ญํ ์์ฑ ์ด๋ฆ์ด FastComments์ ๊ธฐ๋๊ฐ๊ณผ ์ผ์นํ๋์ง ํ์ธ
- ์ญํ ๊ฐ์ด FastComments ์ญํ ์ด๋ฆ๊ณผ ์ ํํ ์ผ์นํ๋์ง ํ์ธ
์์ฑ ํ์:
- ๋ฐฐ์ด ํ์๊ณผ ์ผํ๋ก ๊ตฌ๋ถ๋ ํ์ ๋ชจ๋ ํ ์คํธ
- ์์ฑ ๊ฐ์ ์ฌ๋ถ์ ๊ณต๋ฐฑ์ด ์๋์ง ํ์ธ
- ์ญํ ์ด๋ฆ์ ๋์๋ฌธ์ ๊ตฌ๋ถ ์ฌ๋ถ ํ์ธ
Authentication Flow Issues
Redirect Loop
์ฆ์:
- ๋ธ๋ผ์ฐ์ ๊ฐ FastComments์ IdP ์ฌ์ด์์ ๋์์ด ๋ฆฌ๋ค์ด๋ ํธ
- ์ธ์ฆ์ด ์๋ฃ๋์ง ์์
- ๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์ ๋๊ตฌ์ ์ฌ๋ฌ ๋ฆฌ๋ค์ด๋ ํธ ํ์
ํด๊ฒฐ ๋ฐฉ๋ฒ:
SP ๊ตฌ์ฑ ํ์ธ:
- Entity ID๊ฐ IdP ๊ตฌ์ฑ๊ณผ ์ ํํ ์ผ์นํ๋์ง ํ์ธ
- ACS URL์ด IdP์ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑ๋์ด ์๋์ง ํ์ธ
- URL์ ํํ ์ฌ๋์๊ฐ ์๋์ง ํ์ธ
์ธ์ ๋ฌธ์ :
- ๋ธ๋ผ์ฐ์ ์ฟ ํค๋ฅผ ์ง์ฐ๊ณ ๋ค์ ์๋
- ์ํฌ๋ฆฟ/ํ๋ผ์ด๋น ์ฐฝ์์ ํ ์คํธ
- ์ธ์ ํ์์์ ์ค์ ํ์ธ
Access Denied After Authentication
์ฆ์:
- SAML ์ธ์ฆ์ ์ฑ๊ณตํจ
- ์ฌ์ฉ์๊ฐ FastComments๋ก ๋ฆฌ๋๋ ์ ๋จ
- "Access denied" ๋๋ ๊ถํ ์ค๋ฅ ํ์
ํด๊ฒฐ ๋ฐฉ๋ฒ:
์ญํ ํ ๋น:
- ์ฌ์ฉ์๊ฐ IdP์์ ์ ์ ํ ์ญํ ์ ๊ฐ์ง๊ณ ์๋์ง ํ์ธ
- SAML ์๋ต์ ์ญํ ์์ฑ์ด ์ ์ก๋๋์ง ํ์ธ
- ์ญํ ์ด๋ฆ์ด FastComments ์๊ตฌ์ฌํญ๊ณผ ์ ํํ ์ผ์นํ๋์ง ํ์ธ
ํจํค์ง ์ ํ:
- ๊ณ์ ์ด Flex ๋๋ Pro plan์ธ์ง ํ์ธ
- ํจํค์ง์ SAML ๊ธฐ๋ฅ์ด ํ์ฑํ๋์ด ์๋์ง ํ์ธ
- ํจํค์ง์ SAML์ด ํฌํจ๋์ด ์์ผ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ ์ง์์ ๋ฌธ์
Identity Provider Specific Issues
Microsoft Azure AD
์ผ๋ฐ ๋ฌธ์ :
- ์ฑ ์ญํ ํ ๋น์ด ํ ํฐ์ ๋ฐ์๋์ง ์์
- ํด๋ ์์ด ์ ๋๋ก ์ ์ก๋์ง ์์
- ์ฌ์ฉ์ ํ ๋น ์๊ตฌ ์ฌํญ
ํด๊ฒฐ ๋ฐฉ๋ฒ:
- FastComments ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์ฌ์ฉ์ ํ ๋น ํ์ธ
- ์ฑ ์ญํ ์ด ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑ๋์๋์ง ํ์ธ
- ํ์ํ ์์ฑ์ด ํฌํจ๋๋๋ก ํด๋ ์ ๋งคํ ํ์ธ
Okta
์ผ๋ฐ ๋ฌธ์ :
- ๊ทธ๋ฃน ํํฐ๊ฐ ์ ๋๋ก ์๋ํ์ง ์์
- ์์ฑ ๋ฌธ(statement)์ด ์๋ชป ๊ตฌ์ฑ๋จ
- ์ ํ๋ฆฌ์ผ์ด์ ํ ๋น ๋ฌธ์
ํด๊ฒฐ ๋ฐฉ๋ฒ:
- ์์ฑ ๋ฌธ ๊ตฌ์ฑ ๊ฒํ
- ๊ทธ๋ฃน ํ ๋น ๋ฐ ํํฐ ๊ท์น ํ์ธ
- ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ ์ ํ ์ฌ์ฉ์/๊ทธ๋ฃน์ ํ ๋น๋์ด ์๋์ง ํ์ธ
Google Workspace
์ผ๋ฐ ๋ฌธ์ :
- ์ฌ์ฉ์ ์ ์ ์์ฑ์ด ์ฌ๋ฐ๋ฅด๊ฒ ๋งคํ๋์ง ์์
- ๊ทธ๋ฃน ๊ตฌ์ฑ์์ด ์ ์ก๋์ง ์์
- SAML ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ฑ ์ค๋ฅ
ํด๊ฒฐ ๋ฐฉ๋ฒ:
- ์ญํ ์์ฑ์ฉ ์ฌ์ฉ์ ์ ์ ์คํค๋ง ๊ตฌ์ฑ
- ๊ทธ๋ฃน ๊ตฌ์ฑ์ ์ ํ ํ์ธ
- SAML ์ ํ๋ฆฌ์ผ์ด์ ์์ฑ ๋งคํ ๊ฒ์ฆ
Network and Connectivity Issues
Timeout Errors
์ฆ์:
- ์ธ์ฆ ํ๋ก์ธ์ค๊ฐ ์๊ฐ ์ด๊ณผ
- "Request timeout" ๋๋ ์ ์ฌํ ์ค๋ฅ
- ์ธ์ฆ ํ๋ฆ์ด ๋๋ฆผ
ํด๊ฒฐ ๋ฐฉ๋ฒ:
๋คํธ์ํฌ ์ฐ๊ฒฐ์ฑ:
- ๋ฐฉํ๋ฒฝ ๊ท์น์ด FastComments ํต์ ์ ํ์ฉํ๋์ง ํ์ธ
- fastcomments.com์ DNS ํด์ ํ์ธ
- IdP์์ FastComments๋ก์ ๋คํธ์ํฌ ์ฐ๊ฒฐ์ฑ ํ ์คํธ
์ฑ๋ฅ ๋ฌธ์ :
- IdP ์๋ต ์๊ฐ์ ํ์ธ
- ์ธ์ฆ์ ์ฒด์ธ ๊ฒ์ฆ์ด ๋๋ฆฌ์ง ์์์ง ํ์ธ
- IdP์ ์ฌ์ฉ์ ๊ฐ์ ๋คํธ์ํฌ ์ง์ฐ ๊ณ ๋ ค
SSL/TLS Issues
์ฆ์:
- ์ธ์ฆ ์ค ์ธ์ฆ์ ๊ฒฝ๊ณ ํ์
- SSL ํธ๋์ ฐ์ดํฌ ์คํจ
- "Secure connection failed" ์ค๋ฅ
ํด๊ฒฐ ๋ฐฉ๋ฒ:
- ๋ชจ๋ SAML ์๋ํฌ์ธํธ๊ฐ HTTPS๋ฅผ ์ฌ์ฉํ๋๋ก ํ์ธ
- ๊ด๋ จ๋ ๋ชจ๋ ๋๋ฉ์ธ์ ์ธ์ฆ์ ์ ํจ์ฑ ํ์ธ
- TLS ๋ฒ์ ํธํ์ฑ ํ์ธ
Debugging and Logging
Enabling Debug Information
๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์ ๋๊ตฌ:
- SAML ํ๋ฆ ์ค Network ํญ ๋ชจ๋ํฐ๋ง
- JavaScript ์ค๋ฅ๋ Console์์ ํ์ธ
- SAML POST ์์ฒญ ๊ฒ์ฌ (๋ณด์ด๋ ๊ฒฝ์ฐ)
IdP ๋ก๊น :
- IdP์์ SAML ๋๋ฒ๊น ํ์ฑํ
- SAML ์์ฒญ/์๋ต ์ธ๋ถ ์ ๋ณด๋ฅผ ์ํด IdP ๋ก๊ทธ ๊ฒํ
- ์์ฑ ๋งคํ ๋ฌธ์ ํ์ธ
Common Log Messages
FastComments Logs:
- "SAML config not found" - SAML์ด ํ์ฑํ๋์ง ์์๊ฑฐ๋ ์๋ชป ๊ตฌ์ฑ๋จ
- "Invalid certificate" - ์ธ์ฆ์ ๊ฒ์ฆ ์คํจ
- "Missing email attribute" - SAML ์๋ต์ ํ์ ์ด๋ฉ์ผ์ด ์ ๊ณต๋์ง ์์
IdP Logs:
- "Unknown service provider" - Entity ID ๋ถ์ผ์น
- "Invalid ACS URL" - Assertion Consumer Service URL์ด ์ฌ๋ฐ๋ฅด์ง ์์
- "User not assigned" - ์ฌ์ฉ์๊ฐ SAML ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์ ๊ทผ ๊ถํ์ด ์์
Getting Help
Information to Gather
์ง์์ ๋ฌธ์ํ ๋ ์ ๊ณตํ ํญ๋ชฉ:
- ์ ํํ ์ค๋ฅ ๋ฉ์์ง์ ํ์์คํฌํ
- SAML ๊ตฌ์ฑ ์ธ๋ถ ์ ๋ณด (๋ฏผ๊ฐํ ๋ฐ์ดํฐ ์ ์ธ)
- IdP ์ ํ ๋ฐ ๋ฒ์
- ๋ฌธ์ ๋ฅผ ์ฌํํ๋ ๋จ๊ณ
- ๋ธ๋ผ์ฐ์ ๋ฐ ๋คํธ์ํฌ ์ ๋ณด
FastComments Support
SAML ๊ด๋ จ ๋ฌธ์ ์ ๊ฒฝ์ฐ:
- support portal ์ฌ์ฉ
- tenant ID ๋ฐ ์ํฅ์ ๋ฐ๋ ์ฌ์ฉ์ ์ด๋ฉ์ผ ํฌํจ
- ์ค๋ฅ ๋ฉ์์ง ๋ฐ ๊ตฌ์ฑ ์ธ๋ถ ์ ๋ณด ์ ๊ณต
- IdP ์ ํ ๋ฐ ๊ตฌ์ฑ ๋ฐฉ์์ ๋ช ์
IdP Support
IdP ํน์ ๋ฌธ์ ์ ๊ฒฝ์ฐ:
- SAML ๋ฌธ์ ํด๊ฒฐ์ ์ํด IdP ๋ฌธ์ ์ฐธ์กฐ
- ๊ตฌ์ฑ ๋ฌธ์ ๋ IdP ์ง์ ์ฑ๋ ์ฌ์ฉ
- ์ผ๋ฐ์ ์ธ ๋ฌธ์ ๋ IdP ์ปค๋ฎค๋ํฐ ํฌ๋ผ ํ์ฉ
Prevention Tips
Best Practices
์ฒ ์ ํ ํ ์คํธ:
- ๋นํ๋ก๋์ ํ๊ฒฝ์์ ๊ตฌ์ฑ ๋ณ๊ฒฝ์ ํ ์คํธ
- ์ฌ๋ฌ ํ ์คํธ ์ฌ์ฉ์๋ก ํ์ธ
- ์๋ํ๋ ๊ตฌ์ฑ ๋ฌธ์ํ
์ ๊ธฐ ๋ชจ๋ํฐ๋ง:
- SAML ์ธ์ฆ ์คํจ์ ๋ํ ๋ชจ๋ํฐ๋ง ์ค์
- ์ธ์ฆ์ ๋ง๋ฃ์ผ ๊ฒํ
- IdP ๊ตฌ์ฑ ๋ณ๊ฒฝ ๋ชจ๋ํฐ๋ง
๋ฌธ์ํ:
- SAML ๊ตฌ์ฑ ๋ฌธ์ ์ ์ง
- ์ฌ์ฉ์ ์ ์ ๊ตฌ์ฑ ๋๋ ์ฐํ ๋ฐฉ๋ฒ ๋ฌธ์ํ
- IdP ๊ด๋ฆฌ์ ์ฐ๋ฝ์ฒ ์ ๋ณด ์ ์ง
Proactive Maintenance
์ธ์ฆ์ ๊ด๋ฆฌ:
- ์ธ์ฆ์ ๋ง๋ฃ์ผ ๋ชจ๋ํฐ๋ง
- ์ธ์ฆ์ ๊ต์ฒด(๋กํ ์ด์ ) ์ ์ฐจ ๊ณํ
- ๋ง๋ฃ ์ ์ ์ธ์ฆ์ ์ ๋ฐ์ดํธ ํ ์คํธ
๊ตฌ์ฑ ๊ฒํ :
- ์ ๊ธฐ์ ์ผ๋ก SAML ๊ตฌ์ฑ ๊ฒํ
- IdP ๊ตฌ์ฑ์ด ์ต์ ์ํ์ธ์ง ํ์ธ
- ๋ณ๊ฒฝ์ด ์์ ๋ ๋ฌธ์ ์ ๋ฐ์ดํธ
๋ณด์ ๋ชจ๋ฒ ์ฌ๋ก 
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์๋ ์๊ฐ ๊ธฐ๋ฐ ์ ํจ์ฑ ์ฐฝ์ด ํฌํจ๋ฉ๋๋ค
NotBeforeandNotOnOrAfter์กฐ๊ฑด์ด ์ ์ฉ๋ฉ๋๋ค- ์ค๋๋ 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์ ์ฌํด ๋ณต๊ตฌ ๊ณํ๊ณผ ์กฐ์จํ์ธ์
๋ณด์ ๋ชจ๋ฒ ์ฌ๋ก ์์ฝ
๊ตฌํ ๋ณด์
- ๊ฐ๋ ฅํ ์ธ์ฆ์ ์ฌ์ฉ: RSA-2048 ์ด์ ๋ฐ ์ ์ ํ ๊ฒ์ฆ
- HTTPS ์ ์ฉ: ๋ชจ๋ ํต์ ์ ์์ ํ๊ณ ์ํธํ๋ ์ฑ๋์ ํตํด
- ๋ชจ๋ ์ ๋ ฅ ๊ฒ์ฆ: ๋ชจ๋ SAML ์์ฑ์ ์ ์ ํ๊ณ ๊ฒ์ฆ
- ์ง์์ ๋ชจ๋ํฐ๋ง: ํฌ๊ด์ ์ธ ๋ชจ๋ํฐ๋ง ๋ฐ ๊ฒฝ๊ณ ์์คํ ๊ตฌํ
- ์ ๊ธฐ ๊ฒํ : ์ฃผ๊ธฐ์ ์ธ ๋ณด์ ๊ฒํ ๋ฐ ์ ๋ฐ์ดํธ ์ํ
์ด์ ๋ณด์
- ์ต์ ๊ถํ ์์น: ์ต์ํ์ ํ์ํ ๊ถํ์ ํ ๋น
- ์ ๊ธฐ ๊ฐ์ฌ: ์ ๊ทผ, ์ญํ ๋ฐ ๊ตฌ์ฑ์ ์ ๊ธฐ์ ์ผ๋ก ๊ฒํ
- ๋ฌธ์ํ: ์ต์ ๋ณด์ ๋ฌธ์๋ฅผ ์ ์ง
- ๊ต์ก: ์ง์์ด SAML ๋ณด์ ์๊ตฌ์ฌํญ์ ์ดํดํ๋๋ก ๋ณด์ฅ
- ์ฌ๊ณ ๋๋น: ์ฌ๊ณ ๋์ ์ ์ฐจ๋ฅผ ์ค๋นํด ๋์ธ์
์กฐ์ง ๋ณด์
- ๋ณ๊ฒฝ ๊ด๋ฆฌ: ์ ์ด๋ ๋ณ๊ฒฝ ํ๋ก์ธ์ค๋ฅผ ๊ตฌํ
- ์ง๋ฌด ๋ถ๋ฆฌ: ๊ด๋ฆฌ ์ฑ ์์ ๋ถ๋ด
- ์ ๊ธฐ ์ ๋ฐ์ดํธ: ๋ชจ๋ ์์คํ ๊ณผ ์ธ์ฆ์๋ฅผ ์ต์ ์ํ๋ก ์ ์ง
- ๊ณต๊ธ์ ์ฒด ๊ด๋ฆฌ: IdP ๋ฐ ๊ด๋ จ ์๋น์ค์ ๋ณด์์ ๋ชจ๋ํฐ๋ง
- ๊ท์ ์ค์ ๋ชจ๋ํฐ๋ง: ๊ท์ ์ค์๋ฅผ ์ง์์ ์ผ๋ก ๋ณด์ฅ
SAML ์ธ์ฆ์ FastComments ์ฌ์ฉ์์๊ฒ ์ํฐํ๋ผ์ด์ฆ๊ธ ๋ณด์๊ณผ ์ํํ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํฉ๋๋ค. ์ ์ ํ ๊ตฌ์ฑ ๋ฐ ํ ์คํธ๋ฅผ ํตํด, SAML์ ๊ธฐ์กด์ ID ์ธํ๋ผ์ ํตํฉ๋๋ ์์ ํ ์ฑ๊ธ ์ฌ์ธ์จ์ ์ ๊ณตํ๋ ๋์์ ๊ฐ๋ ฅํ ๋ณด์ ํต์ ์ ํฌ๊ด์ ์ธ ๊ฐ์ฌ ๊ธฐ๋ฅ์ ์ ์งํฉ๋๋ค.