FastComments.com

SAML

FastComments는 Flex 및 Pro 요금제 고객을 위해 SAML 2.0 인증을 지원합니다. SAML은 조직의 아이덴티티 제공자(identity provider)를 통해 안전한 싱글 사인온(SSO) 인증을 가능하게 하여 사용자가 기존의 기업 자격 증명으로 FastComments에 접근할 수 있도록 합니다. 이 가이드는 SAML 인증의 설정, 구성 및 문제 해결을 다룹니다.

SAML이란? Internal Link

SAML (Security Assertion Markup Language)은 XML 기반의 개방형 표준으로, 당사자 간, 특히 아이덴티티 제공자(IdP)와 서비스 제공자(SP) 간에 인증 및 권한 부여 데이터를 교환합니다.

SAML 작동 방식

SAML은 사용자가 아이덴티티 제공자와 한 번 인증하면 여러 애플리케이션에 다시 자격 증명을 입력하지 않고도 접근할 수 있도록 싱글 사인온(SSO)을 가능하게 합니다. 사용자가 FastComments에 접근하려고 할 때:

  1. Authentication Request: FastComments는 사용자를 귀하의 아이덴티티 제공자로 리디렉션합니다.
  2. User Authentication: 사용자는 귀하나의 IdP(예: Active Directory, Okta, Azure AD)와 인증합니다.
  3. SAML Response: IdP는 서명된 SAML 어설션을 FastComments에 다시 보냅니다.
  4. User Access: FastComments는 어설션을 검증하고 인증된 사용자에게 접근을 허용합니다.

SAML의 장점

  • Enhanced Security: 중앙 집중식 인증은 비밀번호와 관련된 보안 위험을 감소시킵니다.
  • Improved User Experience: 사용자는 한 번 로그인하고 여러 애플리케이션에 원활하게 접근합니다.
  • Compliance: 접근 제어 및 감사 로그에 대한 규제 요구사항을 충족하는 데 도움이 됩니다.
  • Administrative Control: IT 관리자는 중앙 집중식 사용자 관리를 유지합니다.

SAML 2.0 지원

FastComments는 SAML 표준 중 가장 널리 채택된 버전인 SAML 2.0을 구현합니다. 우리의 구현은 다음을 지원합니다:

  • HTTP-POST and HTTP-Redirect bindings
  • 서명된 SAML 응답 및 어설션
  • 암호화된 어설션(옵션)
  • 다중 서명 및 다이제스트 알고리즘
  • 다양한 이름 식별자 형식

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 인프라와 통합되는 안전한 싱글 사인온을 제공하는 동시에 강력한 보안 통제와 포괄적인 감사 기능을 유지합니다.