---
schema_version: "1"
id: 4d54c613f2c2a38b88a6f8474868f03d50c8fe919d8ba524687cef4a9f0a3624
title: 보안 개발 수명 주기 - 패턴
collection: architect
version: current
locale: ko-kr
portal_url: https://docs.salesforce.com/architect/current/ko-kr/well-architected/guides/trust-secure-development-patterns.md
canonical_url: https://architect.salesforce.com/docs/architect/ko-kr/well-architected/guide/trust-secure-development-patterns.html
source_site: architect.salesforce.com
content_type: documentation
content_hash: 119780541b777a2a9daebad559a87d7b5eb5ea56fcdff8e556c395538f477a53
products:
  - 잘 설계된 프레임워크
  - Architect Site Content Repo
---
# 보안 개발 수명 주기 - 패턴

Well-Architected [Trust](/docs/architect/ko-kr/well-architected/guide/trust.html)에 대해 자세히 알아보기 → [보안 개발 수명 주기](/docs/architect/ko-kr/well-architected/guide/trust.html#secure-development-lifecycle)

보안은 초기 설계에서 배포 및 운영에 이르기까지 개발 수명 주기 전체에 통합되어야 합니다. 해당 패턴은 교대 근무 왼쪽 보안 관행을 활성화하고, 일반적인 취약점을 해결하고, 배포 파이프라인을 보호합니다.

## 교대 근무 왼쪽 보안

**패턴**

| 찾을 위치 | 유사성 |
| --- | --- |
| 개발 \| 툴링                      | ✅ 개발자 워크플로에 통합된 IDE 보안 스캔 |
| 개발 \| 설계                       | ✅ STRIDE 메서드를 사용하여 설계 단계 동안 완료된 위협 모델링 |
| 개발 \| 요구 사항                 | ✅ 사용자 스토리 및 수락 기준에 포함된 보안 요구 사항 |
| 개발 \| 소스 제어               | ✅ 사전 커밋 후크에 보안 정책 적용(암호 스캔, 코드 분석) |
| 개발 \| 교육                     | ✅ 발전하는 위협을 반영하기 위해 개발자 보안 교육을 정기적으로 새로 고침 |
| 개발 \| CI/CD                        | ✅ CI/CD 파이프라인의 자동화된 보안 테스트 실패 중 중요한 결과에 대한 구축 |
| 개발 \| 코드 검토                  | ✅ 인증, 권한 부여, 데이터 액세스 코드에 필요한 보안 동료 검토 |
| 개발 \| 코드 분석                | ✅ 린터 및 정적 분석을 통해 적용되는 보안 코딩 표준 |
| 개발 \| 종속성                 | ✅ 모든 커밋에 종속성 취약성 스캔 실행 |
| 개발 \| 테스트                      | ✅ 진입 테스트 범위에 GA 릴리스 이전의 새로운 기능 포함 |

**안티 패턴**

| 찾을 위치 | 불만 사항 |
| --- | --- |
| 개발 \| 테스트                      | ⚡️ 릴리스 전 수동 검토로 보안 테스트 연기 |
| 개발 \| 교육                     | ⚡️ 온보딩 중에 한 번만 보안 교육 수행 |
| 개발 \| 코드 검토                  | ⚡️ 병합 후 보안 팀에서 코드 검토 |
| 개발 \| 설계                       | ⚡️ 아키텍처 변경 시 위협 모델이 업데이트되지 않음 |
| 개발 \| 소스 제어               | ⚡️ 위양성을 줄이기 위해 비활성화된 암호 스캔 |
| 개발 \| CI/CD                        | ⚡️ 릴리스 마감일 시 보안 결과 무시 |

## Salesforce용 OWASP 상위 10

**패턴**

| 찾을 위치 | 유사성 |
| --- | --- |
| 주입                                   | ✅ SOQL 쿼리는 바인딩 변수를 사용하여 주입을 방지합니다. |
| 주입                                   | ✅ SOQL, SOSL 또는 동적 쿼리에서 사용하기 전에 사용자 입력의 유효성을 검사하고 비활성화 |
| 주입                                   | ✅ 신뢰할 수 있는 입력으로만 동적 SOQL 제한 |
| 액세스 제어                              | ✅ Security.stripInaccessible()을 사용하여 적용되는 CRUD 및 FLS 권한 |
| XSS                                         | ✅ Lightning 구성 요소는 UI 렌더링에서 사용자 생성 콘텐츠를 이스케이프합니다. |
| 주입                                   | ✅ 외부 API 통합은 모든 입력을 확인하고 비활성화합니다. |
| 액세스 제어                              | ✅ 게스트 사용자 액세스 최소화 및 엄격한 제한 |
| 인증                              | ✅ 외부 인증에 사용되는 명명된 자격 증명(하드 코딩된 자격 증명 아님) |
| 인증                              | ✅ PKCE로 올바르게 구현된 OAuth 2.0 플로 |
| 세션 관리                          | ✅ 세션 보안 정책에 시간 초과 및 IP 제한 적용 |
| 구성                               | ✅ 보안 상태 확인 검토 분기별 및 고위험 결과 수정 |
| 액세스 제어                              | ✅ 권한 과잉 방지를 위해 사용자 정의 메타데이터 및 권한 감사 |

**안티 패턴**

| 찾을 위치 | 불만 사항 |
| --- | --- |
| 주입                                   | ⚡️ 사용자 입력과 문자열 연결을 사용하여 작성된 SOQL 쿼리 |
| 액세스 제어                              | ⚡️ 게스트 사용자 프로필에 만들기, 업데이트 또는 삭제 권한 부여 |
| XSS                                         | ⚡️ Lightning 구성 요소는 템플릿에서 이스케이프되지 않은 표현식을 사용합니다. |
| 인증                              | ⚡️ 외부 통합은 코드에 하드 코딩된 자격 증명을 사용합니다. |
| 로깅                                     | ⚡️ 디버그 로그에 암호 또는 PII와 같은 중요한 데이터가 포함됩니다. |
| 액세스 제어                              | ⚡️ FLS 및 CRUD 확인은 "모든 사용자를 제어함"으로 인해 생략됩니다. |
| 구성                               | ⚡️ 보안 상태 확인 결과 무시 또는 무기한 연기 |

## 보안 파이프라인 설계

**패턴**

| 찾을 위치 | 유사성 |
| --- | --- |
| 파이프라인 \| 소스 제어                  | ✅ 필수 검토 및 상태 확인을 적용하는 지점 보호 규칙 |
| 파이프라인 \| 액세스 제어                  | ✅ 배포 파이프라인은 최소한의 필수 권한이 있는 서비스 계정을 사용합니다. |
| 파이프라인 \| 암호                         | ✅ 보안 저장소에 저장된 암호(소스 제어 또는 환경 변수에는 없음) |
| 파이프라인 \| 배포                      | ✅ 프로덕션 배포에는 공식 직원으로부터 수동 승인문이 필요합니다. |
| 파이프라인 \| 감사                        | ✅ 배포 로그는 승인 내역을 통해 시점을 배포한 사람을 수집합니다. |
| 파이프라인 \| 유효성 검사                      | ✅ 배포 전 확인에는 보안 스캔 및 규정 준수 확인이 포함됩니다. |
| 파이프라인 \| 액세스 제어                  | ✅ 파이프라인 관리 액세스에 필요한 다단계 인증 |
| 파이프라인 \| 모니터링                      | ✅ 파이프라인 구성 변경으로 보안 팀 알림 트리거 |
| 파이프라인 \| 유효성 검사                      | ✅ 자동화된 배포 후 확인으로 예상되는 보안 제어가 활성화됨 |
| 파이프라인 \| 종속성                    | ✅ 배포 전에 보안 영향에 대해 평가된 종속성 업데이트 |

**안티 패턴**

| 찾을 위치 | 불만 사항 |
| --- | --- |
| 파이프라인 \| 암호                         | ⚡️ 버전 관리에 적용된 암호(나중에 제거된 경우에도) |
| 파이프라인 \| 소스 제어                  | ⚡️ 검토 없이 모든 사람이 기본/프로덕션 지점에 병합할 수 있습니다. |
| 파이프라인 \| 액세스 제어                  | ⚡️ 배포 파이프라인은 관리자 수준 권한으로 실행됩니다. |
| 파이프라인 \| 배포                      | ⚡️ 승인 게이트 없이 완전히 자동화된 프로덕션 배포 |
| 파이프라인 \| 감사                        | ⚡️ 배포 로그는 변경을 시작하거나 승인한 사람을 수집하지 않습니다. |
| 파이프라인 \| 유효성 검사                      | ⚡️ 마감일을 무시하거나 무시한 실패한 보안 스캔 |
| 파이프라인 \| 모니터링                      | ⚡️ 추적 또는 검토되지 않은 파이프라인 구성 변경 사항 |
| 파이프라인 \| 유효성 검사                      | ⚡️ 배포 후 확인은 기능 정확성만 확인합니다. |

## 보안 테스트 전략

**패턴**

| 찾을 위치 | 유사성 |
| --- | --- |
| 테스트 \| 정적 분석                  | ✅ Salesforce 코드 분석기는 개발자 IDE에서 즉시 사용자 의견을 제공하고 CI/CD 파이프라인에서 자동화된 게이트로 실행됩니다. |
| 테스트 \| 침투 테스트              | ✅ 신뢰할 수 없는 사용자(특히 Experience Cloud 사이트 및 공개 API)에게 노출되는 사용자 정의 응용 프로그램에 대해 실시된 침투 테스트 |
| 테스트 \| 단위 테스트                       | ✅ 보안에 초점을 맞춘 Apex 단위 테스트는 다른 권한 프로파일을 가진 사용자로 실행됩니다. |
| 테스트 \| 종속성                     | ✅ 종속성 스캔은 AgentExchange 패키지 및 JavaScript 라이브러리의 알려진 취약성 모니터링 |
| 테스트 \| 보안 검토                  | ✅ AppExchange 또는 AgentExchange 보안 검토 제출 시 정적 분석 보고서 준비 |
| 테스트 \| 보안 검토                  | ✅ 솔루션이 타사 웹 응용 프로그램 또는 서비스를 통합할 때 준비된 동적 스캔(투명 테스트) 보고서 |
| 테스트 \| 종속성                     | ✅ 구독 및 모니터링된 설치된 패키지에 대한 보안 고지 사항 |

**안티 패턴**

| 찾을 위치 | 불만 사항 |
| --- | --- |
| 테스트 \| 적용 범위                         | ⚡️ 보안 테스트는 정적 분석과 같은 단일 기법만 사용 |
| 테스트 \| 단위 테스트                       | Apex 테스트는 기능적 동작을 검증하지만, 권한이 낮은 사용자로 실행되지 않습니다. |
| 테스트 \| 보안 검토                  | ⚡️ AppExchange 또는 AgentExchange 제출이 필요한 정적 분석 또는 동적 스캔 보고서 없이 준비됨 |
| 테스트 \| 침투 테스트              | ⚡️ 공용 Experience Cloud 사이트 및 API에 대한 침투 테스트 건너뛰기 |

## 관련 패턴

참조:
- [규정 준수 및 규제 패턴](https://architect.salesforce.com/docs/architect/ko-kr/well-architected/guide/trust-compliance-patterns.md) — 플랫폼 거버넌스 및 감사 제어
- [ID 및 액세스 관리 패턴](https://architect.salesforce.com/docs/architect/ko-kr/well-architected/guide/trust-identity-access-patterns.md) — 인증 및 인증
- [사고 대응 패턴](https://architect.salesforce.com/docs/architect/ko-kr/well-architected/guide/trust-incident-response-patterns.md) — 보안 이벤트 감지 및 대응
- [에이전트 패턴](https://architect.salesforce.com/docs/architect/ko-kr/well-architected/guide/trust-agentic-patterns.md) — 에이전트별 보안 제어
