AIP-C01 / 심화 학습

AIP-C01 영역 3 — 안전·프라이버시·거버넌스

제품 설명 기준 2026.09.20–21 · 한영 용어 대조 2026.09.25 · 약 79분 읽기

공식 자료를 바탕으로 쓴 비공식 해설입니다. 제품별 지원 조건은 적용 전에 확인하고, 예시 수치는 해당 상황의 설명으로 읽어주세요.

이 문서의 목차 47개 절

안전한 생성형 AI(generative AI, GenAI) 시스템은 입력 검사만으로 완성되지 않는다. 출력 공개와 도구 실행 전의 검증, 데이터 보존과 삭제, 조직의 승인·감사, 집단별 피해 평가까지 이어져야 한다. 이 장은 공식 작업 3.1~3.4를 따라 각 통제의 실패 조건과 한계를 설명한다.

3.1.1 입력 안전 — 모델이 읽기 전에 검사할 것과 검사할 수 없는 것

유해성·업무 정책·구조·권한은 서로 다른 질문이다

입력 안전(input safety) 검사는 요청을 모델과 후속 도구에 전달해도 되는지 판단한다. 유해성(harmfulness) 검사는 내용의 위험을, 업무 정책(policy) 검사는 서비스가 그 주제를 다뤄도 되는지를 살핀다. 스키마 검증(schema validation)은 타입·길이·형식이 정한 규칙에 맞는지 확인하고, 인가(authorization)는 요청자에게 해당 데이터나 행동을 허용할지 판단한다. 유효한 JSON 안에도 악성 지시가 들어갈 수 있고, 무해한 질문으로 권한 없는 고객 정보를 요구할 수도 있다. 한 점수나 단어 목록으로 네 질문을 모두 판정하지 않는다.

Amazon Bedrock Guardrails의 콘텐츠 필터, 거부된 주제, 단어 필터, 민감정보 필터는 보완 관계다. 단어 필터는 명시한 표현을 통제하기 쉽지만 문맥의 의도 전체를 이해하지 않는다. 주제 정책은 조직의 금지 영역을 표현하지만 정상적인 설명·인용까지 막는지 평가해야 한다. 사용자 지정 중재는 업무 특수 규칙을 추가하는 앱 로직이며 AWS 관리형 필터가 그 규칙을 이미 대신 구현했다고 가정하지 않는다. 필터를 통과했다는 사실은 자격 증명 및 액세스 관리(AWS Identity and Access Management, IAM) 또는 고객별 열람 권한의 부여가 아니다.

자체 예시: 장비 고객지원에서 “이 경고가 무서워요, 해제해도 되나요?”는 부정적 감정을 포함하지만 합법적인 안전 상담이다. 반대로 공손한 어조의 타 고객 정비기록 요청은 개인정보·권한 위반일 수 있다. Amazon Comprehend의 감정 분석을 독성·악의 탐지의 동의어로 사용하면 전자는 차단하고 후자는 놓칠 수 있다. 예제 구현의 부정감정 임계값 0.4/0.7은 그 예제 조건일 뿐 독성의 정의·공식 권장선·보정된 악성 확률이 아니다.

근거: 공식 출처 AIP D3, Guardrails의 역할과 경계, IAM 인증과 인가, Comprehend 분석과 사용자 지정.

입력 처리의 산출물은 수정 문자열뿐 아니라 판정 근거다

다음은 자체 앱 계약이며 강좌 8 단계 또는 AWS API 스키마를 옮긴 것이 아니다.

처리입력출력·검사 조건
요청 계약 확인인증(authentication)된 주체, 본문, 언어·모달리티, 길이유효 요청 또는 형식 오류. 클라이언트의 tenant 값만으로 권한을 확정하지 않음
검사 대상 분리사용자 질문, 첨부 문서, 검색·도구에서 온 데이터출처와 신뢰 수준이 붙은 블록. 첨부 텍스트를 시스템 지침으로 승격하지 않음
제한된 정규화원본 텍스트, 인코딩, 탐지용 표현원문과 정규화본의 대응. 숫자·부정·인용의 의미가 보존되는지 확인
콘텐츠·정책·개인 식별 정보(personally identifiable information, PII) 검사검사할 블록, 규칙·필터 버전정책별 결과, 문제 구간, 불확실·오류. 지원하지 않는 언어를 정상 통과로 처리하지 않음
최소 변환과 재검사마스킹 대상, 원문 위치, 업무 목적필요한 정보만 남긴 모델 입력과 변환 내역. 변환 후 의미·금지정보 재검사
전달 판정필수 검사 결과, 대상 권한, 위험 등급allow /block /review /error. 미검사·판정실패를 allow로 바꾸지 않음

선택적 입력 평가를 사용한다면 무엇을 검사에서 제외했는지 추적해야 한다. 신뢰된 템플릿과 외부 문서가 같은 문자열에 섞여 있으면 제외 범위가 외부 지시까지 덮을 수 있다. 원문 보존은 무제한 원문 로깅을 뜻하지 않는다. 필요한 기간과 접근권한을 정한 보호 저장 또는 요청 내 일시 처리로 제한한다.

예제 구현의 영어 고정 처리는 한국어 입력에서 탐지 기능이 같다고 보장하지 않는다. 언어 탐지 자체도 혼합언어·짧은 문자열에서 불확실할 수 있다. 지원 언어·기능 조합이 확인되지 않으면 별도 검토·제한 안내 경로를 정한다. 공식 문서가 한국어로 제공된다는 사실은 설명 언어가 한국어라는 뜻이지 모든 API가 한국어를 지원한다는 증거가 아니다.

근거: 공식 출처 AIP D3, Guardrails의 역할과 경계, Converse 요청과 스트림, Comprehend 분석과 사용자 지정.

마스킹·정규식의 작은 오류가 정책 전체를 바꿀 수 있다

개인 식별 정보(personally identifiable information, PII)를 원문의 위치 정보에 따라 마스킹(masking)할 때 앞쪽부터 길이가 다른 문자열로 바꾸면 뒤쪽 위치가 이동한다. 뒤 위치부터 내림차순으로 바꾸는 것은 아직 처리하지 않은 앞쪽 위치를 보존하기 위한 방법이다. 그러나 내림차순만으로 충분하지 않다. 시작·끝의 포함 규칙, 바이트·문자·코드포인트 단위, 중첩 구간, 같은 위치의 여러 탐지, 정규화 전후 좌표를 먼저 확인해야 한다. 겹치는 구간은 검증한 규칙으로 병합하거나 우선순위를 정하고, 범위 밖 인덱스나 역전 구간은 실패 처리한다. 한국어·이모지 사례로 원문과 치환본을 비교하는 테스트가 필요하다. 실제 Comprehend API의 오프셋 단위를 여기서 추정 확정하지 않는다.

자체 예시: “담당자 A는 승인하지 않았다”에서 사람 이름뿐 아니라 “않았다”까지 지우면 비식별화가 사실 왜곡으로 바뀐다. 마스킹 토큰으로 동일 인물의 관계를 유지하더라도 그 매핑표는 민감정보이고, 마스킹은 자동 익명화가 아니다. 문서 출처·효력일·조건도 검증에 필요한 신뢰 정보이므로 무조건 삭제하지 않는다.

빈 정규식은 많은 정규식 처리에서 모든 문자열의 빈 위치에 일치할 수 있다. 비어 있는 조직 규칙을 그대로 탐지기에 넣으면 전량 차단 또는 잘못된 대체가 발생할 수 있다. 규칙 등록 시 빈 패턴·컴파일 오류·처리 시간 폭증 가능성을 검사하고 정상·경계·오탐 샘플을 통과해야 배포한다. 변환기·탐지기 버전과 시간 예산도 관리한다.

근거: 공식 출처 AIP D3, Guardrails의 역할과 경계, Bedrock 데이터 보호, 모델 호출 로깅.

오탐과 미탐은 분모를 함께 읽는다

자체 평가 예: 사람이 구분한 위험 입력 100건 중 90건 차단, 정상 입력 900건 중 45건 차단이라고 하자. 위험을 양성으로 두면 참양성(true positive, TP)=90, 거짓음성(false negative, FN)=10, 거짓양성(false positive, FP)=45, 참음성(true negative, TN)=855 다. 탐지 재현율(Recall)은 90/100=90%, 정상 오차단율은 45/900=5%, 차단 정밀도(Precision)는 90/135≈66.7%다. 전체 판정 정확도는 945/1,000=94.5%지만 위험 10건이 통과했다는 사실을 가린다. 이 숫자는 설명용이며 강좌·AWS·실서비스 측정 결과가 아니다.

차단 비율만 높이는 것은 목표가 아니다. 언어, 정상 인용, 업무 범주, 입력 길이별로 오탐·미탐을 나누고 고위험 누출의 피해와 정상 업무 차단 비용을 따로 평가한다. 여러 필터 호출은 비용·지연을 늘리므로 명확한 형식 오류를 먼저 거르는 등 비용을 줄일 수 있지만, 비용 절감을 이유로 필수 검사를 샘플링해서 빠뜨리지는 않는다. 임계값은 대표 평가 세트와 피해 기준으로 정하고 변경 후 회귀검사를 한다.

근거: 공식 출처 AIP D3, 모델 평가와 RAG 평가, 평가자 지표의 의미.

3.1.2 출력 안전 — 검사 전에는 사용자나 실행기로 내보내지 않기

입력 통과 후에도 출력은 새롭게 발생한 위험이다

모델 출력은 입력에 없던 유해 표현·PII·잘못된 업무 지시를 포함할 수 있다. 따라서 입력 검사를 통과한 요청에도 출력 검사가 필요하다. 출력 대상은 자연어 답뿐 아니라 링크, 생성 코드/SQL, 구조화 JSON, 도구 호출 인수다. 사용자에게 보여줄 설명이 안전하더라도 실행기 인수가 위험할 수 있으므로 두 경로를 따로 검사한다.

자체 처리 계약은 생성 결과 수집 → 완결성·형식 확인 → 유해성·민감정보·업무 정책 검사 → 정확성 및 권한 검사 → 필요한 최소 수정 → 수정 후 재검사 → 공개 또는 실행 승인이다. 재작성 모델을 호출하면 새로운 출력이 생기므로 최초 결과의 통과 상태를 재사용하지 않는다. 실패 사유는 사용자에게 필요한 수준으로 알리되 원래의 민감 문자열이나 우회 가능한 세부 규칙을 오류 메시지에 그대로 넣지 않는다.

Bedrock Guardrails는 콘텐츠 정책의 한 수단이고, 자체 검증기는 조직 업무 규칙·필수 고지·금액 한도 등을 검사한다. 필터 통과를 사실 검증 완료로 보거나, JSON 필드가 맞다는 이유로 민감한 답을 공개하지 않는다. ApplyGuardrail의 독립 적용과 추론(inference) API에 가드레일을 연결하는 방식은 호출 경로가 다르므로 실제 적용 여부를 따로 확인해야 한다.

근거: 공식 출처 AIP D3, Guardrails의 역할과 경계, Converse 요청과 스트림, 도구 실행 책임.

스트리밍의 첫 토큰과 안전하게 공개된 첫 토큰은 다르다

스트리밍(streaming) 응답을 받는 즉시 화면에 표시하고 마지막에 차단하면 앞서 노출된 개인정보는 회수할 수 없다. 전체 버퍼 검사는 완성 문맥을 평가하기 쉽지만 사용자의 첫 공개 응답을 늦춘다. 청크·문장 단위 검사는 공개를 앞당길 수 있으나 여러 청크에 걸친 개인정보·부정문·위험 지시를 놓칠 수 있고, 검사 횟수와 누적 문맥 비용이 늘 수 있다. 어떤 경계를 쓸지 위험 수준과 실제 서비스 지원에 맞춰 정한다. 완결되지 않은 코드나 toolUse JSON은 실행하지 않는다.

스트림 종료·중단·시간 초과를 구분하고, 일부만 받은 답을 완료 결과로 기록하지 않는다. 부분 결과를 허용하는 업무라도 공개한 범위와 미완료 상태를 표시해야 한다. 검사 대기 중 사용자에게 안전한 진행 안내를 보여주는 것과 원문 답을 미리 공개하는 것은 다르다. 스트림 이벤트의 조합은 contentBlockIndex와 종료 이유 등 실제 API 계약에 따라야 하며, 가드레일이 어떤 버퍼·동기·비동기 방식으로 적용되는지는 제품별 상세 잔여다.

자체 지연 예: 모델이 0.3초에 첫 토큰(token)을 내더라도 전체 생성 2.0초 뒤 검사가 0.2초 걸리고 완성본만 공개한다면 안전한 첫 공개는 약 2.2초다. 이는 단순 직렬 예산이며 AWS 실측·고정값이 아니다. 모델 첫 토큰까지 걸린 시간(time to first token, TTFT), 안전한 첫 공개 시간, 전체 완료 p95, 검사 시간 초과율을 분리해야 스트리밍의 체감 성능과 안전성을 함께 판단할 수 있다. 지연의 p95 들을 단순 더한 값이 전체 p95 라고 보장되지는 않는다.

근거: 공식 출처 AIP D3, Converse 요청과 스트림, Guardrails의 역할과 경계.

SQL 생성은 결정적 계산기도 안전한 실행 허가도 아니다

텍스트의 요청을 SQL로 바꾸는 Text-to-SQL은 모델이 질의(query)를 제안하는 단계다. DB 엔진이 정해진 SQL을 실행하는 것과 모델이 의도에 맞는 SQL을 고르는 것은 다르다. 문법적으로 유효해도 다른 테넌트의 행을 읽거나, 날짜 범위·조인·집계 단위를 틀릴 수 있다. SELECT만 허용해도 민감 데이터 열람과 대량 스캔 위험은 남는다.

자체 설계상 허용 스키마·테이블·열, 서버가 정한 행 범위, 읽기 전용 실행 주체, 문장 구조 검증, 바인딩할 값, 결과 행·처리 시간·비용 상한을 함께 둔다. 파라미터 바인딩은 값의 안전한 전달에 도움을 주지만 임의 테이블 이름·질의 구조·권한을 자동 검증하지 않는다. 특정 엔진의 함수·부작용·취소·읽기 전용 보장까지는 제품별 공식 확인이 필요하다. 사람이 승인해야 하는 조회나 실제 변경은 모델 자신감으로 우회하지 않는다.

자체 예시: “내 지점 이번 달 반품 합계”에서 지점 권한은 신뢰된 사용자 정보로 서버가 정해야 한다. 모델이 만든 WHERE 조건을 곧바로 권한 정책으로 삼지 않는다. 결과도 월 경계·통화·중복 조인을 검증한 후 내보낸다. SQL 문자열을 안전하게 실행했어도 합계의 업무 의미가 틀리면 정확성 실패다. 결과 마스킹만으로 이미 과다 조회된 데이터의 처리 위험이 사라지는 것도 아니다.

근거: 공식 출처 AIP D3, 심화 심층 방어와 권한의 분리 의 SQL 경계, IAM 인증과 인가, 도구 실행 책임, AgentCore 정책.

3.1.3 정확성 검증 — 형식·근거·현실의 정답을 분리하기

검증 대상이 다르면 합격 조건도 다르다

검증 축질문통과해도 남는 위험
형식·스키마JSON 파싱, 필수 필드, 타입·범위가 맞는가?값 자체가 거짓일 수 있음
관련성(Relevance)사용자가 물은 문제에 답하는가?관련 있는 오답 가능
완전성(Completeness)질문의 조건·하위 질문을 빠짐없이 다뤘는가?틀린 주장을 빠짐없이 담을 수도 있음
충실도(Faithfulness)제공된 근거가 답의 주장을 실제로 뒷받침하는가?근거 자체가 오래됐거나 틀릴 수 있음
정확성(Correctness)기준 시점·범위에서 정답·업무 사실에 맞는가?맞는 사실이어도 권한 없는 공개 또는 유해 지시 가능
안전·권한그 답을 이 사용자에게 공개·실행해도 되는가?안전한 답이어도 질문에 답하지 못할 수 있음

부정확성은 하나의 필터 점수로 끝나지 않는다. 컨텍스트 근거 검사는 제공된 소스와 응답의 관계를 다루며 세상 모든 사실의 참·거짓 검증기가 아니다. 자동 추론 검사(Automated Reasoning checks)는 모델 실행(inference)과 달리 정의된 논리 규칙에 응답이 맞는지를 검사하는 기능이며 규칙 밖 사실·불완전한 규칙·잘못된 전제까지 자동 해결하지 않는다.

근거: 공식 출처 AIP D3, Guardrails의 역할과 경계, 평가자 지표의 의미, 모델 평가와 RAG 평가.

검색 결과는 증거 후보이지 사실 판정서가 아니다

자체 검증 흐름은 질문의 대상·기준일·권한 확정 → 허용 문서 검색 → 출처·버전·효력일 확인 → 주장 단위로 답 분해 → 근거의 실제 함의 확인 → 수치·부정·조건·상충 검증 → 지지됨·반박됨·미확인 판정 → 표시 가능한 답 구성이다. KB 검색 결과에는 문서 위치·버전·내용 형태를 명확히 연결한다. 아무 문서나 인용 목록에 붙인 것은 검증이 아니다.

임베딩(embedding) 유사도는 표현 공간에서 가까운지를 측정한다. 같은 주제의 “허용된다”와 “허용되지 않는다”는 유사도가 높을 수 있다.

예제 구현의 cosine > 0.8을 verified로 일반화하지 않는다. 0.8은 예제 조건이며 사실일 확률 80%가 아니다. 모델·전처리·벡터(vector) 정규화·점수 정의가 바뀌면 같은 숫자의 의미도 달라진다. 검색엔진이 반환한 점수가 항상 순수 코사인 유사도라는 가정도 금지한다. 리랭킹은 후보 순서를 바꾸며 검색하지 못한 최신 규정을 만들어내지 못한다.

자체 예시: 2025년 매뉴얼에는 보증 12개월, 2026년 변경 공지에는 특정 신모델만 18개월이라고 하자. 구문이 닮은 2025년 문서를 가장 위에 찾았다고 답을 “모두 12개월”로 확정하면 안 된다. 모델 종류·계약일·변경 공지의 적용 조건을 대조한다. 문서가 상충하고 권위·효력 우선순위를 정할 수 없으면 상충을 밝히고 검토로 넘긴다. 이 기간·연도는 자체 예시이지 강좌의 사실이나 실상품 규정이 아니다.

근거: 공식 출처 AIP D3, 검색 필터·리랭킹·질의 분해, 모델 평가와 RAG 평가, 평가자 지표의 의미.

숫자 검증과 LLM 심사자의 계약

숫자는 값뿐 아니라 단위·통화·모집단·기간·세전·세후·분모·반올림을 대조한다. 자체 예: 불량률 2%에서 3%로 변하면 1 퍼센트포인트 증가이면서 상대 증가율은 50%다. “1% 증가”로만 쓰면 의미가 달라진다. 모델이 계산식을 생성해도 입력값이 잘못됐으면 계산기는 잘못된 전제의 정확한 결과를 낼 뿐이다. 검증 가능한 산술은 정해진 계산 로직으로 확인하고 원본 셀·행·단위를 남긴다. 위 계산은 원리를 설명하는 자체 산술 예시다.

LLM 평가자(LLM-as-a-judge)는 정해진 기준으로 후보 답을 평가하는 모델이지 독립적인 사실 원천이나 최종 권한자가 아니다. 평가자에도 근거·질문·판정 기준을 제공하고, 출력의 필수 키·타입·허용 값·이유·증거 참조를 확인한다. 생성기와 같은 오해를 공유할 수 있으며 평가할 답에 포함된 지시가 심사 기준을 바꾸게 해서는 안 된다. 사람의 표본 판정과 비교하고 버전별 일치도·중요 오류 누락을 점검한다.

예제 구현의 is_harmful이 JSON에 없을 때 기본 false로 두는 패턴은 판정 실패를 안전 승인으로 바꿀 수 있다. 필수 판정의 누락·파싱 오류·시간 초과는 유효하지 않은 판정 또는 결과 불명 상태로 처리한다. is_grounded=True를 고정한 값도 검증 결과가 아니라 상수다. 앱은 실제 검사가 수행되었는지, 어떤 근거와 정책 버전으로 판정했는지 검증해야 한다. 응답의 “검증 완료” 문구만 믿지 않는다.

근거: 공식 출처 AIP D3, LLM 평가자, 모델 평가와 RAG 평가, 평가자 지표의 의미.

검증률과 정답률을 혼동하지 않는 운영 지표

자체 지표로 주장 지지율 = 근거로 지지된 검증 대상 주장 수 / 검증 대상 주장 수를 둘 수 있다. 미확인 주장을 분모에서 빼면 점수가 부풀려지므로 반박·미확인·검사실패를 따로 보고한다. 예를 들어 20개 주장 중 지지 15, 반박 2, 미확인 3이면 지지율은 75%이지 확인 가능한 17개만 분모로 쓴 88.2%가 아니다. 이는 자체 정의이며 Bedrock 기본 지표의 공식 산식이라고 주장하지 않는다. 핵심 안전 주장 1개의 실패를 주변 설명 19개의 성공으로 덮지 않는다.

검증 범위율, 질문 단위 정답률, 근거 문서 최신성, 중요한 수치 오류율, 사람 검토율을 함께 본다. 정확도 개선을 위해 모든 요청에 다수 모델 심사를 붙이면 지연·토큰·개인정보 전달 범위가 늘어난다. 정해진 형식·산술·권한은 결정적 검사로 처리하고 의미 판정이 필요한 곳에 모델·사람 검토를 배치한다. 그럼에도 필수 의미 검증을 비용 때문에 생략해 안전 승인을 내리지 않는다.

근거: 공식 출처 AIP D3, 모델 평가와 RAG 평가, LLM 평가자, 평가자 지표의 의미.

3.1.4 다층 방어 — 여러 필터보다 서로 다른 실패를 막는 경계

서비스의 역할을 겹쳐 쓰되 대체 관계로 오해하지 않기

층·선택지실제 담당하는 판단대체하지 못하는 것
지원 진입점의 WAF·API 계층HTTP 요청 패턴·요청 크기·호출량 등 입구 통제, 인증 연결모든 모델·도구 직접 호출의 콘텐츠·문서 인가(authorization) 자동 통제
IAM·앱 인가호출 주체의 클라우드 행동, 최종 사용자의 업무 리소스 접근답의 독성·정확성 검증
PrivateLink·전송 보호허용 네트워크 경로와 통신 보호고객 가상 프라이빗 클라우드(Amazon Virtual Private Cloud, VPC) 내부에서만 추론한다는 보장, 테넌트 인가
전처리·Guardrails·자체 중재입력·출력 콘텐츠·주제·민감정보·업무 규칙모든 사실의 정답·도구 실행 권한
KB·근거 검증허용된 증거 후보 검색과 주장 대조자동 권한 전파, 최신성·정답의 무조건 보증
도구 실행기·AgentCore Policy실행 전 도구·인수·사용자 조건 통제해당 Gateway 밖의 별도 호출까지 자동 통제
CloudWatch Logs·S3 호출 로그추적·조사·회귀 분석에 필요한 증거검사 이전 노출 방지, 자체적인 실행 거절

WAF의 지원 리소스·연결 조건·검사 한도는 제품별 상세 문서에서 확인해야 한다. API 경로를 우회해 SDK로 직접 모델·도구를 호출할 수 있다면 그 경로에도 같은 필수 인가와 검사 조건이 집행되어야 한다.

근거: 공식 출처 AIP D3, IAM 인증과 인가, PrivateLink와 네트워크 경계, Guardrails의 역할과 경계, AgentCore 정책, 모델 호출 로깅.

판정과 집행을 분리하면 빠지는 경로가 보인다

정책 평가기(policy evaluator)는 요청의 허용·거부를 판단하고, 실행기(executor)는 그 결과에 따라 실제 호출을 허용하거나 막는다. 판정 결과를 로그에만 남기고 실행기가 모든 요청을 실행한다면 접근 통제가 작동하지 않는다. 도구 호출 요청에는 검증된 주체, 허용 작업과 리소스, 인수(arguments), 승인 범위, 정책 버전을 연결한다. 모델이 출력한 “관리자 승인됨”이라는 문장은 신뢰된 승인 기록이 아니다. 요청 내용이 바뀌면 이전 승인을 그대로 재사용해서는 안 된다.

AgentCore Policy는 해당 Gateway를 지나는 도구 요청을 실행 전에 평가하는 역할로 이해한다. 자연어에서 만들어진 Cedar 후보 정책도 테스트해야 하고, 도구 인수가 검증한 신원·자원과 연결되는지 확인한다. Gateway 밖 호출이 허용된다면 별도의 집행이 필요하다. IAM 실행 역할은 가능한 도구 권한의 상한을 좁히고, 앱 인가는 그 안에서 이번 사용자·대상·작업을 더 좁힌다.

다층 방어의 실패 확률을 단순 곱하지 않는다. 두 필터가 같은 모델·같은 잘못된 규칙·같은 누락 입력을 사용하면 오류가 상관된다. 자체 예: 두 필터가 각각 위험을 10% 놓친다는 통계만으로 최종 미탐을 1%라 할 수 없다. 서로 다른 층이 서로 다른 원인, 예컨대 콘텐츠 우회와 실제 쓰기권한을 막도록 설계하고, 최종 경계에서 남은 위험을 실측해야 한다.

근거: 공식 출처 AIP D3, 도구 실행 책임, AgentCore 정책, IAM 인증과 인가.

Fail-closed는 무조건 서비스 전체를 꺼야 한다는 뜻이 아니다

필수 안전 검사가 실패했을 때 위험한 정보 공개나 작업 실행을 허용하지 않는 방식을 실패 시 차단(fail-closed)이라고 한다. 검사 장애를 사용자 악의로 판정하는 것은 아니다. 차단·검사 오류·검토 대기를 분리하고, 안전한 정적 안내·민감정보 없는 제한 기능·사람 검토로 이어질 수 있다. 사람 검토도 검토자의 권한·처리 시간·만료·최종 승인 대상을 정해야 하며 대기열에 넣었다고 승인이 완료된 것은 아니다.

자체 상태 예는 received → validated → generated → checked → released이며 정책 거부는 blocked, 미확정은 needs_review, 기술 실패는 error로 분기한다. 이것은 예시 상태 계약이지 AWS가 제공하는 공통 상태명 목록이 아니다. 타임아웃 뒤 외부 도구가 이미 실행했는지는 결과 불명 상태일 수 있으므로 상태를 조회하기 전 재실행하지 않는다. 안전 검사 장애 시 검사 없는 폴백 모델로 우회하는 경로도 금지한다.

운영 지표에는 안전 통과 응답 비율뿐 아니라 검사 가능률, 검사 시간 초과, 정상 오차단, 검토 대기시간, 중복 실행·미확정 작업 수를 포함한다. 명확히 비허용인 요청을 먼저 걸러 비싼 생성·심사 호출을 줄일 수 있다. 병렬 검사는 지연을 줄일 여지가 있지만 다른 검사에서 이미 거부한 요청에도 비용이 발생할 수 있고, 모든 필수 결과를 모으기 전 공개하면 안 된다.

근거: 공식 출처 AIP D3, Guardrails의 역할과 경계, 도구 실행 책임, 모델 평가와 RAG 평가.

감사 자료 자체를 새 유출 경로로 만들지 않기

요청 ID, 검증된 호출 주체, 정책·모델·프롬프트 버전, 검사 결과 코드, 도구 실행·승인 상태, 지연과 사용량을 연결하면 원인을 좁힐 수 있다. 사용자가 보낸 requestMetadata는 서버가 확인한 신원과 같은 신뢰 수준이 아니다. 프롬프트·출력 전체를 무조건 로그로 복제하면 필터가 막은 개인정보까지 별도 저장소에 남는다. 차단 사유 코드와 최소 정보만으로 목적을 충족할 수 있는지 먼저 검토한다.

기존 모델 호출 로깅 에 따르면 호출 로깅은 기본 비활성화이며 지원되는 계정·리전·엔드포인트·목적지 조건이 있다. 100KB를 넘는 JSON 또는 바이너리의 S3 별도 처리 설명은 그 문서의 조건이지 모든 로그 시스템의 보편 임계값이 아니다. 로그 쓰기 역할, 조사자의 읽기 권한, 키 관리 서비스(AWS Key Management Service, KMS) 권한, 보존·삭제를 구분하고 로깅을 끄는 것과 기존 자료 삭제를 혼동하지 않는다.

자체 비용 정의는 총 처리비=생성+필터+검색+심사+도구+로그·보관+재시도+사람 검토 비용이다. 유효한 안전 응답당 비용은 이 총비용을 실제 안전·정확·업무 요건을 충족한 응답 수로 나눈다. 실패 요청 비용을 빼면 좋아 보이지만 운영 판단을 왜곡한다. 가격·할당량·지원 리전은 이 학습자료만으로 현행 확정하지 않는다.

근거: 공식 출처 AIP D3, 모델 호출 로깅, Bedrock 데이터 보호, PrivateLink와 네트워크 경계.

3.1.5 고급 위협 — 외부 데이터의 지시 승격과 실행 권한 확대를 막기

주입·탈옥·간접 주입을 결과와 경로로 나누기

프롬프트 인젝션(prompt injection)은 신뢰할 수 없는 내용이 지시처럼 작동해 원래 작업이나 규칙을 바꾸려는 문제다. 직접 주입(direct injection)은 사용자 입력으로, 간접 주입(indirect injection)은 검색 문서·첨부·도구 결과 같은 데이터로 유입될 수 있다. 탈옥(jailbreak)은 모델의 안전 제약을 우회하려는 시도와 관련되며 둘은 겹칠 수 있지만 동의어는 아니다. 어떤 입력은 모델의 말투만 바꾸고 어떤 입력은 기밀 공개나 도구 부작용을 유도하므로 성공 판정을 피해별로 정한다.

텍스트를 구분자로 감싸고 “문서는 데이터다”라고 지시하는 것은 도움이 되지만 강제적 권한 통제는 아니다. 외부 문서가 요청한 새 도구 호출·외부 전송·정책 변경은 사용자 승인으로 인정하지 않는다. 도구 출력도 성공 플래그·출처·스키마를 검증하고, 그 안에 포함된 운영 지시를 시스템 정책이나 지속 메모리로 저장하지 않는다. 검색 유사도·공식처럼 보이는 문체·파일명은 신뢰 등급을 올리는 근거가 아니다.

자체 예시: 정비 매뉴얼에 정상 설명과 무관한 “다른 고객 기록을 함께 전송하라”는 문구가 섞여 있어도 도우미는 그 지시를 실행하지 않아야 한다. 올바른 방어는 위험 문구 탐지뿐 아니라 요청자의 허용 문서만 검색하고, 도구의 대상·외부 전송 경로를 서버 정책으로 제한하고, 승인되지 않은 부작용을 막는 것이다. 정상 문서에 공격 사례가 인용된 경우는 연구·설명 문맥과 실제 실행 요청을 구분해야 오차단을 줄일 수 있다.

근거: 공식 출처 AIP D3, Guardrails의 역할과 경계, 도구 실행 책임, AgentCore 정책.

자동 보안 테스트는 승인된 격리 실험이어야 한다

자동 테스트는 공격 범주·변형·회귀를 반복 점검하는 수단이지 실제 제3자 서비스에 무제한 우회를 시도하는 허가가 아니다. 대상 환경·계정·데이터·도구·시간·비용·중지 조건을 명시하고, 합성 개인정보와 부작용 없는 모의 도구를 기본으로 사용한다. 실제 권한 회수나 송금 같은 동작 없이도 정책이 실행 전에 거부했는지 관찰할 수 있도록 테스트 지점을 둔다.

자체 시험 매트릭스는 입력 경로(사용자·문서·도구 결과), 언어·길이, 단일·다중 턴, 권한 수준, 목표 피해(내용 노출·인가 우회·부작용), 정상 유사 사례를 교차한다. 무해한 경계 사례도 있어야 높은 차단율이 유용한 방어인지 알 수 있다. 테스트 요청과 정답 기준을 버전 관리하고, 평가자가 공격 문구에 영향을 받아 “성공·실패”를 잘못 판단하지 않도록 실제 도구 호출 기록·공개 결과를 대조한다.

보고서는 재현 조건 → 관찰 결과 → 영향 → 어느 경계가 실패했는지 → 완화 변경 → 같은 사례와 정상 회귀 재검증을 연결한다. 공격 텍스트 전문·실제 비밀을 광범위한 로그에 남기지 않는다. 비코드 문구가 섞인 예제 구현의 마지막 탐지 블록을 테스트 실행 지시로 취급하지 않고, 불완전한 탐지 코드의 누락 부분을 추측해 완성했다고 주장하지 않는다. 이번에는 테스트 설계만 설명했으며 보안 테스트·코드 실행은 하지 않았다.

근거: 공식 출처 AIP D3, 모델 평가와 RAG 평가, LLM 평가자, 모델 호출 로깅.

공격 성공률과 방어 성공률의 맥락

공격 성공률(attack success rate, ASR)은 자체 정의한 공격 목적을 달성한 유효 시도 수 / 유효 공격 시도 수로 계산할 수 있다. 여기서 ASR은 자동 음성 인식(automatic speech recognition)의 약어와 같지만 다른 개념이다. 금지된 문장을 생성한 경우, 기밀이 실제로 공개된 경우, 도구가 외부 시스템을 변경한 경우는 서로 다른 공격 목적이므로 따로 측정한다. 시스템 오류로 끝난 시도를 안전하게 차단한 것으로 세지 말고 오류율도 함께 보고한다. 같은 계열의 변형만 많이 넣은 시험 데이터로는 다양한 독립 위협을 충분히 대표하기 어렵다.

자체 예: 격리된 시험 200건에서 확인된 공격 성공이 0건이어도 실환경 위험 0%의 증명이 아니다. 표본의 범위·언어·모델·정책 버전·도구를 밝혀야 한다. 정상 200건 중 40건을 막았다면 정상 오차단율 20%이며 공격 차단과 별도로 개선할 문제다. 변경 전후에는 같은 기준으로 비교하고, 정책을 강화하면서 생긴 업무 중단과 사람 검토 부하도 측정한다. 숫자는 전부 자체 설명용이며 강좌 실측·AWS 보증이 아니다.

탐지기를 추가하면 공격 비용을 높일 수 있지만 공격자가 탐지되지 않았다는 이유만으로 권한을 얻어서는 안 된다. 위협 탐지·최소 권한·공개 전 검증·실행 전 인가·감사의 서로 다른 방어를 유지한다. 탐지 모델·정책·검색 문서 변경 뒤에는 공격 회귀와 정상 회귀를 함께 수행한다. 구체 공격별 탐지 성능과 제품별 red-team 도구 구현은 기존 심화에서도 잔여이며 이번에 검증 완료로 승격하지 않는다.

근거: 공식 출처 AIP D3, 기술별 심화의 3.1.5 잔여, Guardrails의 역할과 경계, 평가자 지표의 의미.

예제 구현의 주의점을 구현 승인과 분리한 점검표

실제 API의 필드·클라이언트·버전·언어·권한을 확인하기 전 배포 템플릿으로 사용하지 않는다.

예제 구현의 위험왜 중요한가후속 검증 조건·이 노트 연결
ApplyGuardrail 요청·응답·버전·INPUT/OUTPUT 가정다른 적용 대상이나 결과 필드를 읽으면 검사 자체가 빠질 수 있음현행 API·SDK·요청 콘텐츠 형식·결과·오류 계약 확인. 독립 호출과 추론 통합 각각 테스트; 출력 안전
감정 0.4/0.7·영어 고정감정≠독성, 언어 불일치가 미탐·오탐을 유발기능별 지원 언어·입력 계약·대표셋 보정; 입력 안전
빈 regex모두 일치·잘못된 치환·전량 차단 가능빈 규칙·겹침·실행시간·정상 사례 검증; 입력 안전
JSON 누락 시 is_harmful=false심사 실패가 승인으로 바뀜필수 키·타입 검사, 결과 불명·오류 분기; 정확 검증
KB retrieve의 클라이언트·필드·content 형태 가정실제 검색 결과를 읽지 못해도 근거가 있다고 오판할 수 있음관리·런타임 클라이언트 역할과 API 응답·빈 결과·출처 매핑 대조; 정확 검증
is_grounded=True 고정실제 검증 단계가 없음주장-근거 대조와 검증 수행 증거 필요; 정확 검증
cosine > 0.8로 verified 처리관련성과 함의·정확성 혼동점수 정의·부정·숫자·상충 테스트, 보편 합격선 금지; 정확 검증
PII 내림차순 치환위치 이동은 줄이지만 겹침·단위 오류가 남음구간 병합·단위·정규화 매핑·의미 보존 확인; 입력 안전
신뢰 정보 삭제출처·효력일·조건이 사라져 사실 검증 악화최소 변환·삭제 전후 의미 확인; 정확 검증
안전 검사 실패 처리fail-open 우회 또는 불필요한 전면 중단공개·실행 차단과 안전 안내·검토·가용성 분리; 다층 방어
마지막 detector 중간 종료·비코드 혼입코드가 제공된 범위 자체에서 불완전실행·임의 보완하지 않음, 완전한 허용 자료 확인은 후속; 고급 위협

3.2 데이터 보안과 프라이버시 — 경로·권한·데이터 수명을 함께 설계

근거는 공식 출처 AIP D3이다. 이 절은 주제별 독립 설명이며 의료 가상 사례의 대본이나 단계별 대체본이 아니다. 아래 자체 예시는 법률 자문·HIPAA 준수 인증·AWS 실측이 아니다. 관련 공식 기술 번호는 3.2.1~3.2.3이며 제품 세부 검증과 구별한다.

3.2.1 보호 환경: 사설망이 답하는 질문과 권한이 답하는 질문

네트워크 통제는 요청이 어느 경로로 서비스에 도달하는지 제한한다. IAM은 어떤 주체가 어떤 API·리소스를 사용할 수 있는지 결정한다. 앱의 테넌트 인가는 그 요청이 어떤 고객의 문서를 대상으로 해도 되는지 결정한다. 저장 암호화는 저장 매체·키 접근의 위험을 줄이고 전송 암호화는 통신 중 노출을 줄인다. 네 축은 서로 대체되지 않는다. 사설 엔드포인트로 접근해도 과도한 IAM 권한이나 잘못된 고객 문서 필터가 있으면 정보 유출은 가능하다.

Bedrock 인터페이스 엔드포인트는 지원 API에 대한 사설 접근 경로다.

모델의 모든 처리가 고객 VPC 안에서만 실행된다는 뜻은 아니다. DNS·라우팅·엔드포인트 정책·호출 역할을 함께 점검한다. S3 게이트웨이 엔드포인트와 인터페이스 엔드포인트는 연결·정책 방식이 같지 않으며 모든 서비스가 모든 유형을 지원한다고 가정하지 않는다. 보안 그룹과 네트워크 접근 제어 목록(access control list, ACL)의 적용 위치·응답 트래픽 조건도 따로 확인한다. 프라이빗 서브넷 앱이 Bedrock에 접근 가능하더라도 Comprehend·KMS·S3의 경로가 자동 완성되지 않는다.

Lake Formation은 데이터 레이크의 세분화된 권한을 관리하고 IAM을 보강한다. 행·열·셀 수준 제어는 지원되는 엔진·조회 경로·통합 조건 안에서 적용된다. 보호된 테이블을 읽어 별도 검색 인덱스나 캐시에 복제했다면 복제본에도 권한과 삭제 전파가 필요하다. Glue Data Catalog는 메타데이터 카탈로그이지 모든 원본 데이터의 자동 복사 저장소가 아니다. 자체 예시로 진료 부서별 검색 앱에서는 원문 조회뿐 아니라 청크·임베딩·검색 결과·대화 캐시까지 환자 접근 범위를 유지해야 한다.

근거: PrivateLink와 네트워크 경계, Bedrock 데이터 보호, Lake Formation 개요. 정책 예시 일부·엔진 지원표·계정별 구성은 미검증이며 이번에 권한을 변경하지 않았다.

3.2.2 탐지·보존·삭제: ‘모델 학습에 안 쓴다’와 ‘저장하지 않는다’의 차이

Comprehend의 일반 텍스트 PII 분석, Comprehend Medical의 의료정보 분석, Amazon Macie의 S3 민감정보 발견은 분석 대상과 지원 기능이 다르다. Macie의 자동 검색은 대표 객체 샘플링을 포함하므로 발견 결과가 없다는 사실로 버킷 모든 객체의 개인정보 부재를 증명하지 않는다. 탐지 결과는 후속 검토·마스킹·접근 제한을 위한 신호이지 자동 법률 판단 또는 삭제 완료 증거가 아니다. 한국어 문서가 제공된다는 사실과 API가 한국어 PII/보호 대상 건강 정보(protected health information, PHI)를 지원한다는 사실도 다르다.

데이터 재사용 정책은 수명 주기별로 읽는다. 공급자의 모델 학습에 사용하지 않는다는 조건은 서비스 내부 보존·침해 탐지·고객이 설정한 호출 로그·S3·앱 대화 기록까지 모두 저장하지 않는다는 뜻이 아니다. 기존 Bedrock 데이터 보호가 읽은 것은 상위 설명이며 이번에 Bedrock 데이터 보존 — 모델·범위·모드의 구분을 실제 추가 확인했다(2026-09-21). 프로젝트 → 계정 → 모델 기본값의 첫 non-inherit 모드와 모델 allowed_modes를 함께 보아야 한다. none 요구와 보존 필요 모델이 충돌하면 차단하며 모델 사용을 위해 제한을 자동 완화하지 않는다. store=false만으로 안전 검토용 보존까지 없다고 보장되지 않는다. aws_review는 필요한 모델에 한해 AWS 내부 보존·사람 검토를 허용하며, 일부 모델의 최대 30일 조건과 교차리전 처리 위치를 모든 모델에 일반화하지 않는다. 모델별 침해 탐지·약관 상세는 여전히 잔여다. 앱 로그·캐시 삭제는 별도다.

자체 데이터 수명 표의 필수 열은 데이터 종류, 목적, 소유자, 저장 위치, 암호화 키, 읽기 주체, 보존 기한, 삭제 트리거, 복제본, 검증 증거다. 원문 문서뿐 아니라 파싱 텍스트·벡터·프롬프트·생성 응답·실패 로그·캐시·토큰 매핑표·백업을 포함한다. 마스킹 후 원문을 예외 로그에 넣으면 모델 입력 보호와 별개로 유출 경로가 생긴다. 삭제 요청을 수신한 상태와 모든 대상에서 삭제를 검증한 상태를 구분한다.

S3 Lifecycle의 전환과 만료는 다르다. 저장 클래스를 저렴한 아카이브로 바꿔도 삭제된 것은 아니다. 버전 사용 시 현재 버전·비현재 버전·삭제 마커·복제본의 동작을 따로 검증해야 한다. 법적 보존·백업 정책과 충돌하면 삭제 완료를 성급히 약속하지 않는다. S3 문서의 128KB·최소 저장기간 등은 특정 전환 조건이며 모든 데이터 보존 정책에 적용되는 보편 숫자가 아니다. 비용에는 작은 객체의 요청비·검색·복원비·조기 삭제비·감사 비용도 포함된다.

근거: Macie 범위, S3 전환 조건, Bedrock 데이터 보호, 모델 호출 로깅. S3 버전별 만료 API, 보존 하위 정책, PII 언어/API는 제품 심화 잔여다.

개인정보 탐지: 언어·위치·마스킹의 차이

확인된 조건은 일반 Comprehend PII 감지·레이블은 영어·스페인어, Comprehend Medical은 영어(US-EN) 입력이라는 것이다. 한국어 설명 페이지나 번역 예문이 한국어 PII/PHI 지원의 증거는 아니다. 영어로 지정한 한국어 입력에서 빈 결과가 나와도 개인정보 없음으로 승인하지 않는다. 번역을 넣으면 개인정보 전달 경로와 원문 좌표가 바뀌므로 자동 우회책으로 사용하지 않는다.

DetectPiiEntities는 유형·점수·위치를, ContainsPiiEntities는 유형 존재 레이블을 반환하므로 후자의 결과만으로 정확한 구간 치환은 불가능하다. 관리형 비동기 수정은 S3의 수정 복사본을 생성하며 원본·과거 버전·백업을 자동 삭제하지 않는다. DetectPHI는 의료 민감정보 후보를, DetectEntitiesV2는 더 넓은 의료 엔터티·관계를 다루므로 최소 수집 목적을 구별한다. PII 실시간 100KB는 UTF-8 입력의 해당 기능 조건이지 10 만글자 또는 모든 Medical API 한도가 아니다.

탐지 Score는 해당 후보의 추정 신뢰 수준이지 전체 문서의 익명화율이 아니다. 누출 방지를 위한 후보 포착과 의료 사실을 채택하는 정확성 목표는 손실이 달라 임계값을 공통 고정하면 안 된다. 일반 PII의 문자 오프셋과 UTF-8 바이트 인덱스를 혼합하지 않고 겹침·정규화·번역·문자열 단위를 검증한다. PHI 엔터티와 HIPAA18 식별자는 1:1이 아니므로 탐지 성공을 법적 비식별화 완료로 간주하지 않는다.

3.2.3 개인정보 보호 기법의 효용과 재식별 위험

마스킹(masking)은 일부 값을 가리는 표현 변환이다. 개인정보 보호를 위한 토큰화(tokenization)는 원래 값을 대체 토큰에 연결하는 방법으로, 언어 모델이 문장을 토큰으로 나누는 과정과 다르다. 가명화(pseudonymization)는 추가 정보와 결합하면 원래 개인과 다시 연결될 가능성이 남는 처리다. 이들은 자동 익명화가 아니다. 식별자만 삭제해도 희귀 질환·지역·날짜 조합이 개인을 식별할 수 있으므로 준식별자와 외부 결합 위험을 평가한다. 매핑표는 원문과 분리하고 더 좁은 권한·보존 정책으로 보호한다. KMS가 임의의 형식 보존 암호화를 자동 제공한다고 해석하지 않는다.

일반화(generalization)는 정확한 나이·위치를 범주로 묶어 상세도를 낮춘다. 억제(suppression)는 위험이 큰 값을 제거하고, 섭동(perturbation)은 값에 변화를 준다. 합성 데이터(synthetic data)는 원본의 분포를 모사해 만든 데이터다. 합성이라는 이름만으로 원본 개인의 정보가 절대 복원되지 않는다고 보장할 수 없다. k-익명성(k-anonymity)은 선택한 준식별자 조합이 최소 k 명에서 구분되지 않도록 하는 개념이지만 같은 그룹의 민감 속성이 같거나 외부 지식이 있으면 속성이 추론될 수 있다.

차등 프라이버시(differential privacy)는 개인 한 명의 포함 여부에 따라 결과 분포가 크게 달라지지 않도록 제한하는 수학적 접근이다. 프라이버시 예산·질의 민감도·노이즈 설계와 반복 질의의 누적을 함께 고려한다. 작은 예산은 일반적으로 더 강한 보호와 더 큰 효용 손실을 교환한다. 임의의 노이즈를 조금 추가했다고 차등 프라이버시가 성립하지 않으며, 이번 자료는 특정 제품 구현이나 예산값을 검증하지 않았다.

자체 사례: 희귀 질환별 지역 통계는 정확한 소규모 셀을 공개하면 재식별 위험이 커진다. 지역을 넓히거나 작은 셀을 억제하면 보호는 좋아질 수 있지만 지역 서비스 계획의 정밀도가 떨어진다. 목적별 허용 오차와 재식별 위험, 하위집단 품질을 함께 평가한다. 전처리 비용·모델 입력 길이·검색 정확성·의미 보존·사람 검토 지연도 비교한다. ‘PII 탐지 0 건’은 탐지기의 재현율과 지원 언어를 모르면 익명성 지표가 될 수 없다.

근거: 공식 출처 AIP D3, Bedrock 데이터 보호. 위 수학적 원리·선택 비교는 독립 이해 보충이며 강좌의 모든 문장을 재구성한 것이 아니다. 기법별 전용 공식 구현 문서는 아직 잔여다.

예제 지침의 읽기와 실행 가능성은 별도 판정

저장된 구현 검토 관찰구현에서 확인할 조건
PII 탐지 예외를 빈 목록으로 반환탐지 실패와 정상 무검출을 error/clear로 분리; 오류 시 위험 데이터 전달 금지
영어 고정·오프셋 치환지원 언어, 좌표 단위, 중첩 구간, 정규화 대응; 앞·중간·끝 치환 후 의미 검증
guardrailApplied=True 메타데이터정책 식별자·버전·실제 호출·개입 응답을 확인; 불리언 자체는 적용 증거 아님
동일 basename의 출력 경로원문 ID·버전·테넌트로 충돌 방지; 덮어쓰기·재처리·멱등성 계약
같은 버킷 processed 출력출력 이벤트 재트리거 제외 조건과 최대 반복 방지; 무한 실행 비용 방지
PDF를 텍스트처럼 여는 가정형식 검증·파서/광학 문자 인식(optical character recognition, OCR)·출처 위치·실패 경로 구분
임의 AccessDenied/PII 임계값실제 계측·단위·기간·차원·데이터 없음 처리 확인; 지표 생성 없으면 경보 작동 안 함
private subnet의 여러 API 호출서비스별 DNS/엔드포인트·권한·암호화 키 경로 검증

아래 지침은 구현 검토용 설명이며 실제 배포나 API 실행 검증을 대신하지 않는다.

3.3 거버넌스 — 문서의 선언을 실제 통제와 증거로 연결

근거: 공식 출처 AIP D3. 4 기술의 이해 보충이며 과정 순차 대체본이 아니다. 금융 자문은 교육용 가상 사례이고 규제기관 이름 언급이 규정 준수 증명이나 투자 권고가 되지 않는다. 아래 사례는 자체 설계 설명이다.

3.3.1 모델 카드·계보·배포 승인은 각각 다른 증거

모델 카드(model card)는 의도한 용도, 금지한 용도, 훈련·평가의 범위, 한계, 위험과 책임자를 연결하는 문서다. Model Registry는 모델 버전과 관련 메타데이터·승인 상태를 관리한다. 계보는 어떤 데이터·작업·아티팩트가 어떤 결과로 이어졌는지 연결한다. 셋을 연결하면 특정 배포가 어떤 평가를 통과했는지 추적할 수 있지만, 카드에 ‘승인됨’이라고 기록한 것만으로 사람의 검토나 실제 안전성이 생기지 않는다.

자동 모델 카드 생성은 지속적 통합·전달(continuous integration /continuous delivery, CI/CD)에서 평가 결과·데이터 버전·코드 버전을 모아 누락을 줄이는 데 유용하다. 자동 수집한 지표가 정확한지, 평가 세트와 운영 데이터가 어떤 범위에서 다른지, 법무·보안·모델 소유자의 승인 조건은 무엇인지도 검토해야 한다. 모델 내부 훈련 데이터가 공개되지 않았다면 확인하지 못한 특성을 추정해 카드에 쓰지 않는다. 강좌 샘플의 정확도(Accuracy) 92.5·Toxicity 0.02는 교육값이며 AWS 나 실서비스의 측정 결과가 아니다.

데이터 계보(data lineage)를 방향성 비순환 그래프(directed acyclic graph, DAG)로 표현하면 원본 → 정제 → 학습 → 평가 → 모델의 의존 관계를 찾을 수 있다. 아티팩트는 데이터·모델 결과물, 작업은 변환·실행, 컨텍스트는 관련 실행을 묶는 정보로 구분한다. 원본·변환 코드·파라미터·결과의 버전이 없으면 그래프 모양만 있어도 동일 결과를 재현하기 어렵다. Glue 크롤러가 스키마를 발견했다는 사실은 사용자 지정 변환·외부 처리·모든 출처 관계가 자동 포착됐다는 뜻이 아니다. 필요한 출처 메타데이터를 변환 과정에서 유지하고 누락을 검사해야 한다.

근거: 모델 카드와 설명 가능성, Model Registry, 강좌 관련 항목. 계보 API·교차 계정 AddAssociation의 현행 지원과 정확한 스키마는 선택 심화 잔여다.

3.3.2 원문 출처·권리·버전과 생성 주장의 연결

출처 추적은 URL을 붙이는 작업보다 넓다. 원문 ID/버전, 제공자·라이선스·사용 가능 범위, 수집·효력 시점, 변환 이력, 검색 청크, 사용 모델·프롬프트 버전, 생성 응답과 감사 ID를 연결해야 한다. 인용이 붙었어도 그 문장이 실제 근거를 지지하는지는 별도 검증이다. 라이선스가 만료된 자료는 이미 만들어진 임베딩·캐시·파생 문서의 처리 정책에도 영향을 줄 수 있다.

자체 사례: 어제 수정된 금융 규정과 작년 설명 자료가 함께 검색되면 ‘더 유사한 문서’를 곧바로 우선하지 않는다. 관할구역·효력일·대상 고객·권리 조건을 대조하고 상충을 남긴다. 문서 태그는 이를 기록하는 수단이며 태그 값이 있다는 사실로 최신성이나 라이선스의 법적 유효성을 증명하지 않는다. 태그에 고객 이름·비밀을 넣으면 별도 로그로 노출될 수 있으므로 비민감 참조 ID를 사용한다.

CloudTrail은 지원 API 활동과 구성된 이벤트를 감사하고, CloudWatch Logs의 앱 로그는 요청·결정·오류의 업무 문맥을 담는다. 모델 입출력 로깅은 별도 설정·지원 범위를 갖는다. ‘CloudTrail 활성화’ 하나로 모든 모델 요청 본문이나 원인 설명이 저장됐다고 보지 않는다. 이벤트 선택기·리전·대상·기간·무결성·읽기 권한을 확인한다. 감사자가 필요한 원문에 접근할 권한이 없다면 감사용 메타데이터와 제한된 검토 경로를 구분한다.

S3 버전 관리와 Feature Store의 시점 기반 조회는 과거 상태를 다루는 선택지지만 삭제·보존·스키마·시간 조건이 다르다. 이전 버전이 존재하는지, 변환 코드와 전처리가 함께 남아 있는지 확인해야 재현성을 주장할 수 있다. 관찰성 — 지표·감사·호출 로그의 차이, 모델 호출 로깅, S3 수명주기 전환 조건를 재사용한다.

3.3.3 조직 감독은 책임 분리와 변경 통제

서비스 제어 정책(service control policy, SCP)는 조직 수준에서 허용 권한의 상한을 제한하는 수단이지 권한을 직접 부여하는 정책이 아니다. IAM과 리소스 정책, 앱 인가, 모델·데이터 정책의 집행 지점을 분리한다. 개발·평가·승인·배포 역할을 나누고, 스스로 만든 변경을 같은 주체가 무조건 승인하는 흐름을 피한다. 긴급 예외에도 승인자·범위·만료·사후 검토를 남긴다.

AWS Step Functions는 상태 전환과 조건 분기를 조정하고 DynamoDB 같은 저장소는 승인 기록을 보관할 수 있다. 기록이 존재하는지뿐 아니라 승인 대상의 모델·프롬프트·데이터·정책 버전이 이번 배포와 일치하는지 확인한다. 승인 뒤 내용이 바뀌면 이전 승인을 재사용하지 않는다. 모델 카드의 Approved 상태 업데이트가 이런 조직 절차를 대신하지 않는다.

정책 소유자는 적용 관할·업무·데이터를 정하고 검토 주기를 갖는다. 대시보드에는 평가 통과율만 아니라 승인 누락·기한 초과·예외·미해결 사고도 표시한다. 규정 준수가 확인되지 않은 상태를 ‘준수 완료’로 바꾸지 않으며, 제품의 인증 범위와 고객 애플리케이션의 법률 준수를 구별한다. 강좌 코드의 GDPR/CCPA Compliant 문자열은 선언일 뿐 증거가 아니다. 정책 통제 비용·감사 저장 비용과 승인 지연을 고려하되 필수 검토를 지연 최적화로 제거하지 않는다.

근거: 강좌 관련 항목, IAM 인증과 인가, 모델 카드와 설명 가능성. 조직별 규제 해석·SCP 예외·실제 승인 API는 별도 검토 대상이다.

3.3.4 지속 모니터링은 기준·계측·대응·검증의 순환

데이터 드리프트(data drift)는 입력 데이터의 분포가 바뀌는 현상이다. 품질 저하(quality degradation)는 평가 성능이 나빠지는 것이고, 편향 드리프트(bias drift)는 집단 간 결과 차이가 바뀌는 것이다. 특성 기여도 드리프트(feature attribution drift)는 모델 설명에 사용하는 특성별 기여도가 바뀌는 현상이다. 서로 연관될 수 있지만 동의어가 아니다. 입력 변화만으로 차별 발생을 확정하지 않고, 전체 정확도 유지로 하위 그룹 피해가 없다고도 결론 내리지 않는다. 표본 수·분모·시간 창·기준 데이터·정답 지연을 함께 기록한다.

강좌가 언급한 DPPL/DI/DCR은 지표 이름·기준 그룹·분모·방향을 공식 정의와 대조해야 한다. 특히 DPPL을 ‘레이블 내 긍정 비율 차이’라고 쓰는 강좌 표현과 훈련 전·후 지표 구분을 혼동하지 않는다. 젠슨-섀넌 발산처럼 분포 차이를 나타내는 값도 그 자체로 공정성의 법적 합격선은 아니다. 이번에는 개별 지표 하위문서의 수학·지원까지 검증하지 않았고 훈련 전 편향의 범위 및 신규 이용 제한 고지를 보존한다.

자동 경보에는 실제 지표 생성, 올바른 차원, 평가 기간, 임계값, 결측 처리, 수신·대응 경로가 필요하다. 경보 후 EventBridge → Lambda/Step Functions로 제한·롤백을 수행할 수 있지만 자동 조치는 사전 승인된 범위로 제한한다. 이전 버전도 현재 정책을 충족하는지, 중복 이벤트가 같은 조치를 반복하지 않는지, 되돌림이 가능한지 확인한다. 탐지 → 알림 → 조치 요청 → 조치 확인 → 회복 검증을 구별하고 print 나 성공 응답만으로 복구 완료라 하지 않는다.

안전 필터·민감정보 편집·응답 로그는 서로 다른 통제다. 토큰 편집은 모델 토큰 경계·문자 위치·한국어 의미를 고려하고 원문을 모두 기록하는 감사 설계와 충돌하지 않게 한다. 감사 가능성을 위해 모든 개인정보를 무제한 저장하지 않는다. 운영 지표로 탐지 지연·실제 조치 성공률·오차단·미해결 위반·감사 연결 누락률을 함께 본다. 명확한 분모 없는 ‘안전 99%’는 판단 근거가 약하다.

예제 구현의 주의점 — 예제의 선언과 실제 동작 차이

예제의 마지막 Lambda 문자열·딕셔너리가 닫히지 않아 그대로 실행할 수 없다. Lake Formation 등록 대상에 Glue 데이터베이스 ARN을 넣은 부분과 데이터 필터의 인수 구조, Guardrails 생성·버전 필드는 현행 API 대조 없이는 배포 템플릿으로 쓰지 않는다.

크롤러는 시작과 완료가 다르고, 테이블 이름·역할·SNS 주제·Lambda 함수·호출 권한은 선행 조건이다. 코드가 대시보드를 생성해도 Custom/FMGovernance 지표를 실제 발행하지 않으면 경보에 데이터가 없다. 예제 임계값 5/0.2는 일반 권장값이 아니다. EventBridge 대상 ARN 등록은 대상 함수 생성이 아니며, 접근 제한을 print 한 것은 실제 제한이 아니다. 모델 카드 샘플을 곧바로 Approved로 바꾸는 코드는 조직 승인 절차를 입증하지 않는다.

학습 설명은 네 기술의 핵심 조건을 다루지만 개별 API·계보 통합·지표 수학·규제별 세부는 잔여다.

3.4 책임 있는 AI — 설명의 충실도·집단별 피해·정책 집행

직접 읽은 공식 출처 AIP D3와 연결된 공식 서비스 문서를 대조했다. 강좌의 설명은 의료 챗봇의 공정성 평가 가상 사례, 예제 구현은 재무 자문 앱 예제로 주제가 다르다. 아래는 독립 주제 해설이며 의료·금융 판단이나 단계별 강좌 대체본이 아니다.

3.4.1 투명성: 설명·실행 추적·사실 근거를 분리

사용자에게 필요한 설명은 답의 근거, 적용 조건, 불확실성, 한계와 검토 방법이다. 모델이 생성한 단계별 설명은 실제 내부 계산을 충실히 드러낸다는 보장이 없다. Agent trace는 관찰 가능한 검색·도구 호출·오케스트레이션 단계의 조사에 유용하지만 모델의 모든 내부 인과 과정을 증명하지 않는다. 서비스가 공개하지 않는 비공개 추론을 추출하거나 그대로 사용자에게 노출하려 하지 않는다. 검증된 행동 요약과 인용·판정 근거를 제공한다.

강좌의 CoT 표시·스트리밍 중간 추론 설명을 ‘생각을 많이 보여줄수록 정확하다’로 해석하지 않는다. 고객 데이터·시스템 지침·도구 인수가 trace에 포함될 수 있으므로 권한별로 공개 범위를 나눈다. 사용자에게 공개하기 전 개인정보와 안전 검사를 하고, 운영자는 필요한 최소 추적 정보에만 접근한다. 추적 단계 수나 인용 빈도는 관측 지표이지 설명의 진실성·답의 정확성 그 자체가 아니다.

모델이 제공하는 토큰 확률은 다음 토큰의 분포이고 답 전체의 사실일 확률이 아니다. API가 확률을 제공하지 않으면 없는 값을 만들어서는 안 된다. 모델이 말로 ‘90% 확신’이라고 답하는 것도 교정된 신뢰도로 취급하지 않는다. CloudWatch는 전달받은 값을 저장·시각화하는 도구이며 신뢰도를 자동 계산해 주지 않는다. 대표 평가 세트에서 예측 신뢰도 구간과 실제 정답률의 차이를 보정하고 새로운 도메인에서 재평가한다. 앙상블 불일치는 불확실성 신호가 될 수 있지만 모델들의 공통 오류는 감추어질 수 있다.

근거: 설명 가능성과 SHAP, 평가자 지표의 의미, 관찰성 — 지표·감사·호출 로그의 차이. SHAP/PDP와 자연어 설명은 서로 다른 도구이며 현재 Clarify 신규 이용 제한과 수학적 상세와 현재 이용 조건은 별도로 확인한다.

3.4.2 공정성: 무엇을 같게 할지 먼저 정의

공정성은 모든 집단에 똑같은 문장을 주는 것이 아니다. 필요한 정보·정당한 조건을 반영하면서 부당한 차별·품질 격차·유해성을 줄이는 평가 문제다. 인구통계학적 동등성(demographic parity)은 집단별 긍정 결과 비율을 비교한다. 기회 균등(equal opportunity)은 실제 양성인 사례의 참양성률(true positive rate)을, 균등화된 확률(equalized odds)은 참양성률과 거짓양성률(false positive rate)의 집단 간 차이를 함께 살핀다. 기준율이 다르면 여러 정의가 동시에 만족되지 않을 수 있다. 어떤 지표가 업무 피해에 맞는지 이해관계자와 정한다. 이는 개념 설명이며 특정 법률의 합격 기준을 제시하는 것이 아니다.

자체 이진판정 예시: A 집단 100명 중 긍정 결과 40명, B 집단 100명 중 20명이면 비율은 0.4/0.2이고 차이는 0.2, B/A 비율은 0.5 다. 그룹·분모·뺄셈 방향이 바뀌면 값의 해석도 바뀐다. 이것만으로 차별 원인이나 적법성을 확정하지 않는다. 예제 구현의 LLM 공정성 점수 0~10은 이런 비율 차이와 전혀 다른 척도다. 이를 DemographicParityDifference 라는 이름으로 저장하면 지표 의미가 깨진다.

의료 설명 평가라면 연령·언어·문화·문해력뿐 아니라 교차 집단과 드문 상황을 포함한다. 정확성·완전성·유해성·부당한 거부를 따로 측정한다. 모든 집단의 요청을 거절하면 위험 문장 생성은 줄어도 서비스 접근성은 나빠질 수 있다. 소규모 집단 평균은 불안정하므로 표본 수·신뢰 구간·결측·평가자 일치도를 함께 기록한다. 반사실 비교는 다른 조건을 고정한 속성 변경의 영향 탐색에 유용하지만 단순 이름 교체만으로 실제 인과 차별을 완벽히 증명하지 않는다.

LLM 평가자(LLM-as-a-judge)는 동일 기준·모델·프롬프트 버전·출력 스키마로 운영하고 사람의 표본 평가와 교정한다. 심사자에도 편향과 입력 주입 위험이 있다. 여러 심사자를 쓰면 비용·지연이 늘며 독립 오류를 보장하지 않는다. A/B 테스트는 무작위 배정과 층화, 충분한 표본, 혼란 변수 통제와 종료 기준이 필요하다. Prompt management/Flows는 실험 구성을 재현하는 수단이지 통계적 검정력을 자동 보장하지 않는다. LLM 평가자, 훈련 전 편향, Flows 버전과 별칭를 재사용했다.

3.4.3 정책: 요구사항을 검사 가능한 조건으로 바꾸기

‘책임 있는 답변’ 같은 선언은 테스트하기 어렵다. 정책마다 대상 업무, 입력·출력 조건, 금지 행동, 예외·사람 승인, 실패 처리, 증거와 소유자를 정한다. Guardrails의 콘텐츠·주제·민감정보 필터는 일부 조건을 집행하고, Lambda 기반 규칙 검사는 조직 고유 규칙을 보완할 수 있다. 결정 가능한 금액·형식·권한은 정해진 규칙으로 확인하고 의미 판단은 모델·사람 검토를 조합한다. 모델 카드에는 검사 범위와 확인하지 못한 한계를 남긴다.

콘텐츠 근거 검사가 통과했다는 사실은 모든 사실의 정답, 의학적 안전 또는 법률 준수의 보장이 아니다. 문서 자체가 잘못됐거나 오래됐을 수 있다. 출력 차단만으로 훈련 데이터 편향이 제거되지는 않으며, 모든 민감 집단 언급을 차단하는 방식은 정상 상담을 막을 수 있다. 정상·위험·경계 사례를 함께 회귀 검사한다. 정책 변경은 버전·검토·승인·배포·롤백의 증거로 연결하고 과거 점수를 새 정책과 섞지 않는다.

감사 로그에 민감 데이터를 과다 저장하지 않으며 누가 어떤 정책 버전으로 어떤 판정을 했는지 최소한으로 추적한다. 감지 지연, 오차단, 미탐, 사람 검토 부하와 안전한 응답당 총비용을 함께 본다. 보안 검사 지연을 줄이기 위해 검사 전 스트림을 공개하는 것은 개인정보 유출을 되돌릴 수 없게 만들 수 있다. Guardrails의 역할과 경계, 모델 카드와 설명 가능성, 모델 호출 로깅를 연결한다.

예제 구현의 주의점과 제품별 잔여

예제의 마지막 정책 가드레일 함수는 인수 중간에서 끝나므로 완성된 실행 코드가 아니다. KB 생성·검색·에이전트 관리 클라이언트, S3를 벡터 저장소로 지정한 구조, 인용 응답의 배열·객체 가정, tracingConfig는 현행 API 검증 없이 실행 예제로 쓰지 않는다. 데이터 소스 생성과 인제스트 완료, 에이전트 생성과 준비·별칭 배포도 별도 상태다.

강좌의 ‘Flows는 아직 Python SDK 미지원’은 과거 예제 문구다. 현재 Flows 버전과 별칭은 생성·테스트·버전·별칭 배포를 설명하므로 해당 문구를 현행 기능 제한으로 반복하지 않는다. 정확한 SDK 버전/API는 잔여다. confidence_score 인수는 계산 근거를 전달하지 않으며, 공정성 점수는 이름에 맞는 산식을 구현해야 한다. 발행된 CloudWatch 지표의 ModelId 등 차원 집합과 대시보드 조회가 일치해야 한다. JSON 파싱 성공 외에 필수 키·타입·범위·오류 처리도 필요하다.

실제 제품의 trace/확률 지원, 개별 공정성 수학, Audit Manager 프레임워크 현행 상세는 선택 심화 잔여이며 참고 링크만으로 구현이 검증됐다고 보지 않는다.

구현 범위와 구체적인 추가 검증

기술독립 설명여전히 남은 검증
3.1.1 입력 안전정책·유해성·권한 구분, 처리 입출력, PII 치환, 언어, 오탐·미탐·비용Guardrails 티어·언어·권한 하위문서, Comprehend 기능별 지원·오프셋/API, 실제 임계값 보정
3.1.2 출력 안전공개 전 검사, 스트리밍 노출 경계, 도구/SQL 실행 전 통제ApplyGuardrail 정확 스키마·모드, 스트리밍 검사 세부, DB 엔진별 읽기 전용·SQL 검증
3.1.3 정확 검증스키마·관련성·완전성·충실도·정확성, 수치·상충, 판정 실패KB retrieve 실제 SDK/응답, 자동 추론 검사 정책/API, 평가자·지표별 지원·점수 계약
3.1.4 다층 방어인가·네트워크·콘텐츠·도구·로그 분리, fail-closed와 가용성, 비용WAF 연결·한도, IAM 상세 평가·리소스 정책, VPC 정책 일부, AgentCore Policy 설정·배포
3.1.5 고급 위협직접·간접 주입·탈옥, 외부 데이터 지시 승격 방지, 격리 시험·지표·회귀공격 유형별 실측 탐지 성능, 제품별 자동 보안 테스트 구현, 불완전 detector 보완 근거

가명화와 익명화를 구분하는 판단

이름을 임의 식별자로 바꾸고 대응표를 따로 보관하면 직접 노출을 줄일 수 있지만 다시 연결할 수 있으므로 보통 가명화(pseudonymization)로 다룬다. 대응표의 접근·보존·삭제도 보호 대상이다. 이름만 지운 표에 드문 직업·정확한 위치·날짜가 남으면 다른 자료와 결합해 사람을 알아낼 수 있다.

익명화(anonymization)는 식별 가능성을 제거하려는 목적을 가진다. 어떤 기법을 썼다는 이름만으로 성공을 확정하지 않고 이용 환경·결합 가능한 정보·재식별 위험을 평가해야 한다. 마스킹은 표시되는 구간을 가리는 처리이며 그 자체가 익명화의 증거는 아니다. 암호화 역시 정당한 키로 복호화할 수 있는 정보 보호 수단이지 공개 허가를 주는 변환이 아니다.

자체 사례: 상담 품질 분석에는 개인 이름이 필요 없지만 같은 사건의 여러 발화를 연결해야 할 수 있다. 보호된 사건 ID를 사용하되 업무에 불필요한 정확한 주소는 제거하거나 범주화한다. 범주화가 너무 거칠면 특정 집단의 오류를 분석하지 못하므로 필요한 효용과 개인정보 위험을 함께 검토한다. 법적 익명정보 인정 여부는 해당 관할 기준으로 별도 판단한다.

근거: AIP 공식 영역 3의 데이터 보안·개인정보 통제, Bedrock 데이터 보호. 구체 법률 인증이 아닌 설계상 구분이다.

상황형 자기점검

다음 문항은 이 교재에서 직접 만든 학습 문제다. AWS 공식 문제·실제 기출·시험 복원 문제가 아니며 합격을 보장하지 않는다. 각 문항은 제시된 조건에서 가장 적절한 답 하나를 고른다. 정답을 보기 전에 다른 선택지가 요구 조건을 충족하지 못하는 이유도 설명해 보자.

1. 유효한 JSON의 잘못된 금액

모델이 스키마에 맞는 환불 JSON을 만들었지만 원문 금액과 다르다. 이 사용자에게는 해당 주문 열람 권한도 없다. 올바른 판정은?

  • A. 정확한 금액으로만 고치면 권한 확인은 생략한다
  • B. 형식 통과와 별개로 사실·업무 규칙·사용자 권한 실패를 처리한다
  • C. JSON이므로 사실과 권한도 통과로 본다
  • D. 거부된 주제 필터만 통과하면 지급한다
정답과 선택지별 해설 보기

정답: B

  • A — 정답인 개인정보도 권한 없는 사용자에게 공개하면 안 된다.
  • B — 스키마(schema)는 형식을 검사한다. 금액이 원문과 맞는지 확인하는 사실 검증(factual verification)과 사용자 인가(authorization)는 별도로 수행해야 한다.
  • C — 스키마 검증(schema validation), 사실 검증(factual verification), 인가(authorization)는 각각 다른 조건을 확인하므로 하나의 통과로 나머지를 대신할 수 없다.
  • D — 콘텐츠 주제 검사는 금액·주문 소유권 검사가 아니다.

개념 근거: AWS 공개 시험 가이드 · 공식 과업 3.1. 문항의 상황·보기·수치는 자체 작성했다.

2. 이름을 바꾼 기록

분석팀이 고객 이름을 임의 ID로 바꿨지만 ID와 원래 이름의 매핑표를 보관한다. 외부 공개가 가능한 완전 익명 자료인가?

  • A. 저장 암호화를 켜면 공개 권한이 자동 생긴다
  • B. 매핑표를 같은 공개 파일에 넣으면 더 안전하다
  • C. 아니다. 다시 연결할 수 있는 가명 자료로 보고 매핑·접근·재식별 위험을 관리한다
  • D. 이름이 없으므로 어떤 조건에서도 익명이다
정답과 선택지별 해설 보기

정답: C

  • A — 암호화와 목적·공개 허가는 다른 통제다.
  • B — 재식별을 쉽게 만들어 보호 목적을 훼손한다.
  • C — 가명화(pseudonymization)한 자료는 매핑표로 원래 개인과 다시 연결될 수 있다. 드문 속성의 조합도 재식별(re-identification)에 쓰일 수 있으므로 접근 권한과 결합 위험을 관리해야 한다.
  • D — 직접 식별자 제거만으로 재식별 위험이 사라지지 않는다.

개념 근거: AWS 공개 시험 가이드 · 공식 과업 3.2. 문항의 상황·보기·수치는 자체 작성했다.

3. 인용 링크만 있는 감사 기록

감사자가 어떤 문서·모델·프롬프트·승인으로 특정 답과 업무 변경이 만들어졌는지 재구성하려 한다. 현재 로그에는 문서의 현재 URL만 있다. 무엇을 보강할까?

  • A. 문서 URL만 있으면 과거 내용과 승인이 모두 증명된다
  • B. 모든 사용자 비밀과 전체 원문을 무기한 공개 로그로 남긴다
  • C. 모델 응답에 “감사 완료”라는 문구를 붙인다
  • D. 요청 ID에 문서 버전·모델·프롬프트·정책·승인·실행 결과의 식별 정보를 연결한다
정답과 선택지별 해설 보기

정답: D

  • A — 변경 가능한 링크는 버전·승인 증거를 대신하지 않는다.
  • B — 감사 목적이 무제한 개인정보 수집과 공개를 정당화하지 않는다.
  • C — 검증 가능한 계보와 집행 증거를 만들지 않는다.
  • D — 현재 URL만으로 과거 내용을 재현하기는 어렵다. 데이터 계보(data lineage)와 감사 기록(audit log)에 문서·모델·프롬프트·정책 버전 및 승인·실행 결과를 연결하되, 필요한 정보에만 접근 권한과 보존 기간을 정해 수집한다.

개념 근거: AWS 공개 시험 가이드 · 공식 과업 3.3. 문항의 상황·보기·수치는 자체 작성했다.

4. 그럴듯한 이유와 실제 공정성

거절된 신청마다 모델이 매끄러운 이유를 생성한다. 한 언어 사용자군에서는 거짓 거절이 더 많다. 책임 있는 운영에 필요한 조치는?

  • A. 집단별 오류와 표본·원인을 평가하고 검증 가능한 설명·이의 제기·수정 경로를 제공한다
  • B. 이유가 자연스러우므로 불공정 문제를 닫는다
  • C. 해당 언어 사용자를 평가 세트에서 뺀다
  • D. 모델이 생성한 이유를 인과 분석 결과로 확정한다
정답과 선택지별 해설 보기

정답: A

  • A — 설명의 유창성(fluency)과 공정성(fairness)은 따로 검증해야 한다. 언어별 오류율과 표본을 비교하고, 사용자가 판단 근거를 확인하거나 이의를 제기해 수정받을 수 있게 해야 한다.
  • B — 설득력은 집단별 피해를 해소하지 않는다.
  • C — 피해를 숨기며 대표성을 떨어뜨린다.
  • D — 생성된 사후 이유가 실제 내부 결정 원인을 증명하지는 않는다.

개념 근거: AWS 공개 시험 가이드 · 공식 과업 3.4. 문항의 상황·보기·수치는 자체 작성했다.

전체 학습 목표와 영역별 자기점검

학습 기록은 이 브라우저에만 저장되며 동기화되지 않습니다.