기능 2. 생성형 AI RAG 기술에 대한 보안 액세스, 사용 및 구현 제공 - AWS 규범적 지침

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

기능 2. 생성형 AI RAG 기술에 대한 보안 액세스, 사용 및 구현 제공

다음 다이어그램은 증강 세대(RAG) 기능을 검색하기 위해 생성형 AI 계정에 권장되는 AWS 서비스를 보여줍니다. 이 시나리오의 범위는 RAG 기능을 보호하는 것입니다.

AWS RAG 기능을 위해 Generative AI 계정에 권장되는 서비스

생성형 AI 계정에는 벡터 데이터베이스에 임베딩을 저장하고, 사용자를 위한 대화를 저장하고, 보안 가드레일 및 중앙 집중식 보안 거버넌스를 구현하는 데 필요한 보안 서비스 제품군과 함께 프롬프트 스토어를 유지하는 데 필요한 서비스가 포함됩니다. VPC 환경이 액세스하도록 구성된 Amazon S3의 모델 호출 로그, 프롬프트 스토어 및 지식 기반 데이터 소스 버킷에 대한 Amazon S3 게이트웨이 엔드포인트를 생성해야 합니다. 또한 VPC 환경이 액세스하도록 구성된 CloudWatch 로그에 대한 CloudWatch 로그 게이트웨이 엔드포인트도 생성해야 합니다.

이론적 근거

Retrieval Augmented Generation(RAG)은 응답을 생성하기 전에 외부의 신뢰할 수 있는 지식 기반에서 정보를 검색하여 시스템이 응답을 개선하는 데 사용되는 생성형 AI 기법입니다. 이 프로세스는 및 컨텍스트별 데이터에 대한 액세스를 FMs 제공하여 의 제한을 극복하는 데 up-to-date 도움이 되며, 이는 생성된 응답의 정확성과 관련성을 개선합니다. 이 사용 사례는 Generative AI Security Scoping Matrix의 범위 3을 참조합니다. 범위 3에서 조직은 Amazon Bedrock에서 제공되는 것과 같은 사전 훈련된 FM을 사용하여 생성형 AI 애플리케이션을 빌드합니다. 이 범위에서는 애플리케이션과 애플리케이션에서 사용하는 모든 고객 데이터를 제어하는 반면, FM 공급자는 사전 훈련된 모델과 해당 훈련 데이터를 제어합니다. 

사용자에게 Amazon Bedrock 지식 기반에 대한 액세스 권한을 부여할 때는 다음과 같은 주요 보안 고려 사항을 해결해야 합니다. 

  • 모델 호출, 지식 기반, 대화 기록 및 프롬프트 스토어에 대한 보안 액세스 

  • 대화, 프롬프트 스토어 및 지식 기반 암호화

  • 즉각적인 주입 또는 민감한 정보 공개와 같은 잠재적 보안 위험에 대한 알림

다음 섹션에서는 이러한 보안 고려 사항과 생성형 AI 기능에 대해 설명합니다. 

설계 고려 사항

민감한 데이터로 FM을 사용자 지정하지 않는 것이 좋습니다(이 가이드의 뒷부분에 있는 생성형 AI 모델 사용자 지정 단원 참조). 대신 RAG 기법을 사용하여 민감한 정보와 상호 작용합니다. 이 방법은 다음과 같은 몇 가지 이점을 제공합니다. 

  • 더 엄격한 제어 및 가시성. 민감한 데이터를 모델과 분리하여 민감한 정보에 대한 제어 및 가시성을 높일 수 있습니다. 필요에 따라 데이터를 쉽게 편집, 업데이트 또는 제거할 수 있으므로 데이터 거버넌스가 향상됩니다. 

  • 민감한 정보 공개를 완화합니다. RAG 를 사용하면 모델 호출 중에 민감한 데이터와의 상호 작용을 더 잘 제어할 수 있습니다. 이렇게 하면 민감한 정보가 의도하지 않게 공개될 위험을 줄일 수 있습니다. 민감한 정보는 데이터가 모델의 파라미터에 직접 통합될 때 발생할 수 있습니다. 

  • 유연성 및 적응성. 민감한 데이터를 모델에서 분리하면 유연성과 적응성이 향상됩니다. 데이터 요구 사항 또는 규정이 변경되면 전체 언어 모델을 재훈련하거나 재구축할 필요 없이 민감한 정보를 업데이트하거나 수정할 수 있습니다.

Amazon Bedrock 지식 기반

Amazon Bedrock 지식 기반을 사용하여 자체 데이터 소스FMs와 안전하고 효율적으로 연결하여 RAG 애플리케이션을 구축할 수 있습니다. 이 기능은 Amazon OpenSearch Serverless를 벡터 스토어로 사용하여 데이터에서 관련 정보를 효율적으로 검색합니다. 그런 다음 FM에서 데이터를 사용하여 응답을 생성합니다. 데이터는 Amazon S3에서 지식 기반으로 동기화되며 효율적인 검색을 위해 임베딩이 생성됩니다.

보안 고려 사항

생성형 AI RAG 워크로드는 RAG 데이터 소스의 데이터 유출, 위협 공격자의 즉각적인 주입 또는 맬웨어를 통한 RAG 데이터 소스 중독 등 고유한 위험에 직면합니다. Amazon Bedrock 지식 기반은 데이터 보호, 액세스 제어, 네트워크 보안, 로깅 및 모니터링, 입력/출력 검증을 위한 강력한 보안 제어를 제공하여 이러한 위험을 완화하는 데 도움이 됩니다. 

수정

데이터 보호

생성, 소유 및 관리하는 AWS Key Management Service(AWS KMS) 고객 관리형 키를 사용하여 저장 중인 지식 기반 데이터를 암호화합니다. 지식 기반에 대한 데이터 수집 작업을 구성할 때 고객 관리형 키를 사용하여 작업을 암호화합니다. Amazon Bedrock이 지식 기반에 맞게 Amazon OpenSearch Service에 벡터 스토어를 생성하도록 하면 Amazon Bedrock은 암호화를 위해 선택한 AWS KMS 키를 Amazon OpenSearch Service에 전달할 수 있습니다.

AWS KMS 키를 사용하여 지식 기반을 쿼리하여 응답을 생성하는 세션을 암호화할 수 있습니다. S3 버킷에 지식 기반에 대한 데이터 소스를 저장합니다. 고객 관리형 키를 사용하여 Amazon S3의 데이터 소스를 암호화하는 경우 지식 기반 서비스 역할 에 정책을 연결합니다. 지식 기반이 포함된 벡터 스토어가 AWS Secrets Manager 보안 암호로 구성된 경우 고객 관리형 키를 사용하여 보안 암호를 암호화합니다.

자세한 내용과 사용할 정책은 Amazon Bedrock 설명서의 지식 기반 리소스 암호화를 참조하세요.

ID 및 액세스 관리

최소 권한 원칙에 따라 Amazon Bedrock의 지식 기반에 대한 사용자 지정 서비스 역할을 생성합니다. Amazon Bedrock이 이 역할을 맡을 수 있도록 하는 신뢰 관계를 생성하고 지식 기반을 생성하고 관리합니다. 사용자 지정 지식 기반 서비스 역할에 다음 자격 증명 정책을 연결합니다. 

지식 기반은 보안 구성을 지원하여 지식 기반에 대한 데이터 액세스 정책 및 프라이빗 Amazon OpenSearch Serverless 지식 기반에 대한 네트워크 액세스 정책을 설정합니다. 자세한 내용은 Amazon Bedrock 설명서의 지식 기반 및 서비스 역할 생성을 참조하세요. https://docs.aws.amazon.com/bedrock/latest/userguide/security-iam-sr.html

입력 및 출력 검증

입력 검증은 Amazon Bedrock 지식 기반에 매우 중요합니다. Amazon S3의 맬웨어 방지를 사용하여 악성 콘텐츠가 있는지 파일을 스캔한 후 데이터 소스에 업로드합니다. 자세한 내용은 AWS 블로그 게시물 Integrating Malware Scanning to Your Data Ingestion Pipeline with Antivirus for Amazon S3를 참조하세요.

지식 기반 데이터 소스에 대한 사용자 업로드에서 잠재적 프롬프트 주입을 식별하고 필터링합니다. 또한 데이터 수집 파이프라인의 다른 입력 검증 제어로 개인 식별 정보(PII)를 감지하고 수정합니다. Amazon Comprehend는 지식 기반 데이터 소스에 대한 사용자 업로드에서 PII 데이터를 감지하고 수정하는 데 도움이 될 수 있습니다. 자세한 내용은 Amazon Comprehend 설명서의 PII 개체 감지를 참조하세요.

또한 Amazon Macie를 사용하여 지식 기반 데이터 소스에서 민감한 잠재적 데이터를 탐지하고 이에 대한 알림을 생성하여 전반적인 보안 및 규정 준수를 개선하는 것이 좋습니다. Amazon Bedrock용 Guardrails를 구현하여 콘텐츠 정책을 적용하고, 안전하지 않은 입력/출력을 차단하고, 요구 사항에 따라 모델 동작을 제어할 수 있습니다.

권장 AWS 서비스

Amazon OpenSearchServerless

Amazon OpenSearch Serverless는 Amazon OpenSearch Service에 대한 온디맨드 자동 크기 조정 구성입니다. OpenSearch 서버리스 컬렉션은 애플리케이션의 요구 사항에 따라 컴퓨팅 용량을 확장하는 OpenSearch 클러스터입니다. Amazon Bedrock 지식 기반은 Amazon OpenSearch Serverless를 임베딩에 사용하고 Amazon S3를 OpenSearch Serverless 벡터 인덱스동기화되는 데이터 소스에 사용합니다. 

OpenSearch Serverless 벡터 스토어에 대한 강력한 인증 및 권한 부여를 구현합니다. 사용자 및 역할에 필요한 권한만 부여하는 최소 권한 원칙을 구현합니다. 

OpenSearch Serverless의 데이터 액세스 제어를 사용하면 사용자가 액세스 메커니즘이나 네트워크 소스에 관계없이 컬렉션 및 인덱스에 액세스할 수 있습니다. 컬렉션 및 인덱스 리소스에 적용되는 데이터 액세스 정책을 통해 액세스 권한을 관리합니다. 이 패턴을 사용하면 애플리케이션이 사용자의 ID를 지식 기반에 전파하고 지식 기반이 역할 또는 속성 기반 액세스 제어를 적용하는지 확인합니다. 이는 최소 권한 원칙으로 지식 기반 서비스 역할을 구성하고 역할에 대한 액세스를 엄격하게 제어하여 이루어집니다. 

OpenSearch Serverless는 를 사용하여 서버 측 암호화를 지원AWSKMS하여 저장 데이터를 보호합니다. 고객 관리형 키를 사용하여 해당 데이터를 암호화합니다. 데이터 소스를 수집하는 과정에서 임시 데이터 스토리지를 위한 AWS KMS 키를 만들 수 있도록 하려면 Amazon Bedrock 서비스 역할의 지식 기반에 정책을 연결합니다. 

프라이빗 액세스는 서버 OpenSearch리스 관리형 VPC 엔드포인트와 Amazon Bedrock과 같은 지원되는 AWS 서비스 중 하나 또는 둘 모두에 적용될 수 있습니다. AWS PrivateLink 를 사용하여 VPC 와 OpenSearch Serverless 엔드포인트 서비스 간에 프라이빗 연결을 생성합니다. 네트워크 정책 규칙을 사용하여 Amazon Bedrock 액세스를 지정합니다.

원시 데이터를 수집하고 읽기 가능한 실시간에 가까운 지표로 처리하는 Amazon 를 사용하여 CloudWatch OpenSearch Serverless를 모니터링합니다. OpenSearch Serverless는 AWS CloudTrail와 통합되어 OpenSearch Serverless에 대한 호출을 이벤트로 캡처API합니다. OpenSearch 서비스는 Amazon EventBridge과 통합되어 도메인에 영향을 미치는 특정 이벤트를 알려줍니다. 타사 감사자는 여러 규정 준수 프로그램의 일부로 OpenSearch Serverless의 보안 및 AWS 규정 준수를 평가할 수 있습니다.

Amazon S3

지식 기반용 데이터 소스를 S3 버킷에 저장합니다. 사용자 지정 AWS KMS 키(권장)를 사용하여 Amazon S3에서 데이터 소스를 암호화한 경우 지식 기반 서비스 역할 정책을 연결합니다.   Amazon S3의 맬웨어 방지를 사용하여 악성 콘텐츠가 있는지 파일을 스캔한 후 데이터 소스에 업로드합니다. 또한 모델 호출 로그와 일반적으로 사용되는 프롬프트를 Amazon S3의 프롬프트 스토어로 호스팅하는 것이 좋습니다. 모든 버킷은 고객 관리형 키로 암호화해야 합니다. 추가 네트워크 보안 강화를 위해 VPC 환경이 액세스하도록 구성된 S3 버킷에 대한 게이트웨이 엔드포인트를 생성할 수 있습니다. 액세스를 로깅하고 모니터링해야 합니다. Amazon S3 객체의 기록을 보존해야 하는 비즈니스 요구가 있는 경우 Enableversion. Amazon S3 객체 잠금 을 사용하여 객체 수준 불변성을 적용합니다. 리소스 기반 정책을 사용하여 Amazon S3 파일에 대한 액세스를 더 엄격하게 제어할 수 있습니다. 

Amazon Comprehend

Amazon Comprehend는 자연어 처리(NLP)를 사용하여 문서 콘텐츠에서 인사이트를 추출합니다. Amazon Comprehend를 사용하여 영어 또는 스페인어 텍스트 문서의 PII엔터티를 감지하고 수정할 수 있습니다. Amazon Comprehend를 데이터 수집 파이프라인에 통합하여 RAG 지식 기반에서 인덱싱하기 전에 문서에서 PII엔터티를 자동으로 감지하고 수정하여 규정 준수를 보장하고 사용자 프라이버시를 보호할 수 있습니다. 문서 유형에 따라 Amazon Textract를 사용하여 텍스트를 추출하고 분석 및 수정을 위해 AWS Comprehend로 보낼 수 있습니다.

Amazon S3를 사용하면 텍스트 분석, 주제 모델링 또는 사용자 지정 Amazon Comprehend 작업을 생성할 때 입력 문서를 암호화할 수 있습니다. Amazon Comprehend는 AWS와 통합되어 KMS 시작* 및 생성* 작업의 스토리지 볼륨에 있는 데이터를 암호화하고 고객 관리형 키를 사용하여 시작* 작업의 출력 결과를 암호화합니다. 리소스 정책의 aws:SourceArn and aws:SourceAccount global 조건 컨텍스트 키를 사용하여 Amazon Comprehend가 리소스에 다른 서비스를 제공하는 권한을 제한하는 것이 좋습니다. AWS PrivateLink를 사용하여 VPC와 Amazon Comprehend 엔드포인트 서비스 간에 프라이빗 연결을 생성합니다. https://docs.aws.amazon.com/comprehend/latest/dg/cross-service-confused-deputy-prevention.html 최소 권한 원칙에 따라 Amazon Comprehend에 대한 자격 증명 기반 정책을 구현합니다. Amazon Comprehend는 Amazon Comprehend에 대한 API 호출을 이벤트로 캡처AWS CloudTrail하는 와 통합됩니다. 타사 감사자는 여러 규정 준수 프로그램의 일환으로 Amazon Comprehend의 보안 및 규정 준수를 평가할 수 있습니다. AWS

Amazon Macie

Macie는 S3 버킷의 데이터 소스, 모델 호출 로그 및 프롬프트 스토어로 저장된 지식 기반에서 민감한 데이터를 식별하는 데 도움이 될 수 있습니다. Macie 보안 모범 사례는 이 지침의 앞부분에 있는 Macie 섹션을 참조하세요. 

AWS KMS 

고객 관리형 키를 사용하여 지식 기반에 대한 데이터 수집 작업, Amazon OpenSearch Service 벡터 데이터베이스, 지식 기반 쿼리에서 응답을 생성하는 세션, Amazon S3의 모델 호출 로그, 데이터 소스를 호스팅하는 S3 버킷을 암호화합니다. 

이전 모델 추론 섹션에 설명된 CloudTrail 대로 Amazon CloudWatch 및 Amazon을 사용합니다.