역량 1. 개발자와 데이터 과학자에게 제너레이티브 AI FM (모델 추론) 에 대한 보안 액세스 제공 - AWS 규범적 지침

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

역량 1. 개발자와 데이터 과학자에게 제너레이티브 AI FM (모델 추론) 에 대한 보안 액세스 제공

다음 아키텍처 다이어그램은 이 기능에 대해 Generative AI 계정에 권장되는 AWS 서비스를 보여줍니다. 이 기능의 범위는 사용자에게 채팅 및 이미지 생성을 위한 기초 모델 (FM) 에 대한 액세스 권한을 부여하는 것입니다.

모델 추론을 위한 제너레이티브 AI 계정에 권장되는 AWS 서비스

제너레이티브 AI 계정은 Amazon Bedrock을 사용하여 제너레이티브 AI 기능을 보호하는 데 전념합니다. 이 안내서 전반에 걸쳐 기능을 갖춘 이 계정 (및 아키텍처 다이어그램) 을 구축할 것입니다. 계정에는 사용자의 대화를 저장하고 즉시 저장하기 위한 서비스가 포함되어 있습니다. 이 계정에는 보안 가드레일과 중앙 집중식 보안 거버넌스를 구현하기 위한 보안 서비스도 포함되어 있습니다. 사용자는 ID 공급자 (IdP) 를 사용하여 Generative AI 계정의 가상 사설 클라우드 (VPC) 에 안전하게 액세스함으로써 페더레이션 액세스를 얻을 수 있습니다. PrivateLink AWS는 VPC에서 Amazon Bedrock 엔드포인트 서비스로의 프라이빗 연결을 지원합니다. VPC 환경이 액세스하도록 구성된 Amazon S3에 모델 호출 로그와 프롬프트 저장 버킷을 위한 Amazon S3 게이트웨이 엔드포인트를 생성해야 합니다. 또한 VPC 환경이 액세스하도록 구성된 CloudWatch 로그에 대해 Amazon CloudWatch Logs 게이트웨이 엔드포인트를 생성해야 합니다.

이론적 근거

사용자에게 제너레이티브 AI FM에 대한 액세스 권한을 부여하면 자연어 처리, 이미지 생성, 효율성 및 의사 결정 향상과 같은 작업에 고급 모델을 사용할 수 있습니다. 이러한 액세스는 직원들이 새로운 애플리케이션을 실험하고 최첨단 솔루션을 개발하여 궁극적으로 생산성을 향상시키고 경쟁 우위를 확보할 수 있기 때문에 조직 내 혁신을 촉진합니다. 이 사용 사례는 제너레이티브 AI 보안 범위 지정 매트릭스의 Scope 3에 해당합니다. 범위 3에서 조직은 Amazon Bedrock에서 제공하는 것과 같은 사전 학습된 FM을 사용하여 제너레이티브 AI 애플리케이션을 구축합니다. 이 범위에서는 애플리케이션과 애플리케이션이 사용하는 모든 고객 데이터를 제어하고 FM 공급자는 사전 학습된 모델 및 해당 교육 데이터를 제어합니다. 다양한 애플리케이션 범위와 관련된 데이터 흐름 및 사용자와 FM 공급자 간의 공동 책임에 대한 정보는 AWS 블로그 게시물 제너레이티브 AI 보안: 관련 보안 제어 적용을 참조하십시오. 

Amazon Bedrock의 제너레이티브 AI FM에 대한 액세스 권한을 사용자에게 부여할 때는 다음과 같은 주요 보안 고려 사항을 해결해야 합니다. 

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

  • 대화 암호화 및 프롬프트 저장

  • 즉각적인 삽입 또는 민감한 정보 공개와 같은 잠재적 보안 위험에 대한 모니터링    

다음 섹션에서는 이러한 보안 고려 사항과 제너레이티브 AI 기능에 대해 설명합니다. 

보안 고려 사항

제너레이티브 AI 워크로드는 모델 추론 중 즉각적인 인젝션 공격을 비롯한 고유한 위험에 직면해 있습니다. 위협 행위자는 지속적인 출력을 강요하여 과도한 리소스 소비를 유도하는 악성 쿼리를 만들거나 부적절한 모델 응답을 초래하는 프롬프트를 만들 수 있습니다. 또한 최종 사용자는 프롬프트에 민감한 정보를 입력하여 실수로 이러한 시스템을 오용할 수 있습니다. Amazon Bedrock은 데이터 보호, 액세스 제어, 네트워크 보안, 로깅 및 모니터링, 입력/출력 검증을 위한 강력한 보안 제어를 제공하여 이러한 위험을 완화하는 데 도움이 됩니다. 다음 단원에서 각각에 대해 살펴 봅니다. 생성적 AI 워크로드와 관련된 위험에 대한 자세한 내용은 OWASP (오픈 월드와이드 애플리케이션 보안 프로젝트) 웹 사이트의 대규모 언어 모델 애플리케이션을 위한 OWASP 상위 10위 및 MITRE 웹 사이트의 MITRE ATLAS를 참조하십시오. 

해결 방안

ID 및 액세스 관리

IAM 사용자는 사용자 이름 및 암호와 같은 장기 자격 증명을 가지고 있으므로 사용하지 마십시오. 대신 AWS에 액세스할 때 임시 자격 증명을 사용하십시오. 휴먼 사용자를 위한 ID 공급자 (IdP) 를 사용하여 임시 자격 증명을 제공하는 IAM 역할을 맡아 AWS 계정에 대한 페더레이션 액세스를 제공할 수 있습니다.

중앙 집중식 액세스 관리를 위해서는 AWS IAM ID 센터를 사용하십시오. IAM ID 센터 및 다양한 아키텍처 패턴에 대해 자세히 알아보려면 이 가이드의 IAM 심층 분석 섹션을 참조하십시오. 

Amazon Bedrock에 액세스하려면 최소 권한 집합이 있어야 합니다. Amazon Bedrock FMS에 대한 액세스 권한은 기본적으로 부여되지 않습니다. FM에 액세스하려면 충분한 권한을 가진 IAM ID가 Amazon Bedrock 콘솔을 통해 액세스를 요청해야 합니다. 모델 액세스 권한을 추가, 제거 및 제어하는 방법에 대한 자세한 내용은 Amazon Bedrock 설명서의 모델 액세스를 참조하십시오. 

Amazon Bedrock에 대한 액세스를 안전하게 제공하려면 요구 사항에 따라 Amazon Bedrock 정책 예제를 사용자 지정하여 필요한 권한만 허용되도록 하십시오. 

네트워크 보안

PrivateLinkAWS를 사용하면 VPC의 사설 IP 주소를 사용하여 일부 AWS 서비스, 다른 AWS 계정에서 호스팅하는 서비스 (엔드포인트 서비스라고 함) 및 지원되는 AWS Marketplace 파트너 서비스에 연결할 수 있습니다. 인터페이스 엔드포인트는 VPC 서브넷의 엘라스틱 네트워크 인터페이스와 IP 주소를 사용하여 VPC 내에서 직접 생성됩니다. 이 접근 방식은 Amazon VPC 보안 그룹을 사용하여 엔드포인트에 대한 액세스를 관리합니다. PrivateLinkAWS를 사용하면 트래픽이 인터넷에 노출되지 않고 VPC에서 Amazon Bedrock 엔드포인트 서비스로의 프라이빗 연결을 설정할 수 있습니다. PrivateLink Amazon Bedrock 서비스 계정의 API 엔드포인트에 대한 프라이빗 연결을 제공하므로 VPC의 인스턴스가 Amazon Bedrock에 액세스하는 데 퍼블릭 IP 주소가 필요하지 않습니다. 

로깅 및 모니터링

모델 호출 로깅을 활성화합니다. 모델 호출 로깅을 사용하여 AWS 계정의 모든 Amazon Bedrock 모델 호출에 대한 호출 로그, 모델 입력 데이터 및 모델 출력 데이터를 수집합니다. 기본적으로 로깅은 비활성화되어 있습니다. 호출 로깅을 활성화하여 계정에서 수행된 모든 호출과 관련된 전체 요청 데이터, 응답 데이터, IAM 호출 역할 및 메타데이터를 수집할 수 있습니다.

중요

호출 로깅 데이터에 대한 완전한 소유권과 통제권을 유지하고 IAM 정책 및 암호화를 사용하여 승인된 직원만 데이터에 액세스할 수 있도록 할 수 있습니다. AWS와 모델 제공자 모두 사용자 데이터에 대한 가시성이나 액세스 권한이 없습니다.

로그 데이터가 게시될 대상 리소스를 제공하도록 로깅을 구성하십시오. Amazon Bedrock은 Amazon CloudWatch Logs 및 Amazon Simple Storage Service (Amazon S3) 와 같은 대상에 대한 기본 지원을 제공합니다. 모델 호출 로그를 저장하도록 두 소스를 모두 구성하는 것이 좋습니다. 

즉각적인 삽입 또는 민감한 정보 공개를 포함하여 잠재적인 오용을 방지하는 데 도움이 되는 자동 악용 탐지 메커니즘을 구현하십시오. 잠재적 오용이 감지되면 관리자에게 알리도록 알림을 구성하십시오. 이는 지표에 CloudWatch 기반한 사용자 지정 CloudWatch 지표와 경보를 통해 달성할 수 있습니다.

AWS를 사용하여 아마존 베드락 API 활동을 모니터링하십시오. CloudTrail 일반적으로 사용되는 프롬프트를 최종 사용자를 위해 프롬프트 스토어에 저장하고 관리하는 것을 고려해 보십시오. 프롬프트 스토어에는 Amazon S3를 사용하는 것이 좋습니다. 

설계 고려 사항

규정 준수 및 개인 정보 보호 요구 사항을 기준으로 이 접근 방식을 평가해야 합니다. 모델 호출 로그는 모델 입력 및 모델 출력의 일부로 민감한 데이터를 수집할 수 있으며, 이는 사용 사례에 적합하지 않을 수 있으며, 경우에 따라 설정된 위험 규정 준수 목표를 충족하지 못할 수도 있습니다.

입력 및 출력 검증

Amazon Bedrock 모델을 사용하는 사용자를 위해 Amazon Bedrock용 가드레일을 구현하려면 가드레일을 프로덕션 환경에 배포하고 애플리케이션에서 해당 버전의 가드레일을 호출해야 합니다. 이를 위해서는 Amazon Bedrock API와 인터페이스하는 워크로드를 생성하고 보안을 유지해야 합니다. 

권장 AWS 서비스

참고

이 섹션 및 기타 기능에 대해 설명하는 AWS 서비스는 이 섹션에서 설명하는 사용 사례에만 해당됩니다. 또한 일관된 가드레일을 지원하고 조직 전체에 중앙 집중식 모니터링, 관리 및 거버넌스를 제공하려면 모든 AWS 계정에 AWS Security Hub, Amazon GuardDuty, AWS Config, IAM 액세스 분석기 및 AWS CloudTrail 조직 추적과 같은 일련의 공통 보안 서비스가 있어야 합니다.  이러한 서비스의 기능 및 아키텍처 모범 사례를 이해하려면 이 안내서 앞부분의 모든 AWS 계정 내에 공통 보안 서비스 배포하기 섹션을 참조하십시오.

Amazon S3

Amazon S3는 업계 최고의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스입니다. 권장 보안 모범 사례는 Amazon S3 설명서, 온라인 테크 토크 및 블로그 게시물의 심층 분석을 참조하십시오.

모델 호출 로그와 일반적으로 사용되는 프롬프트를 S3 버킷의 프롬프트 스토어로 호스팅하십시오. 버킷은 생성, 소유 및 관리하는 고객 관리 키로 암호화해야 합니다. 추가 네트워크 보안 강화를 위해 VPC 환경이 액세스하도록 구성된 S3 버킷에 대한 게이트웨이 엔드포인트를 생성할 수 있습니다. 액세스를 기록하고 모니터링해야 합니다.

Amazon S3 Object Lock으로 백업에 버전 관리를 사용하고 객체 수준 불변성을 적용합니다. 객체 잠금이 활성화된 데이터가 개인 식별 정보 (PII) 로 간주되는 경우 개인 정보 보호 규정 준수 문제가 발생할 수 있습니다. 이러한 위험을 완화하고 안전망을 제공하려면 Object Lock의 규정 준수 모드 대신 거버넌스 모드를 사용하십시오. 리소스 기반 정책을 사용하여 Amazon S3 파일에 대한 액세스를 보다 엄격하게 제어할 수 있습니다. 

아마존 CloudWatch

Amazon은 애플리케이션을 CloudWatch 모니터링하고, 성능 변화에 대응하고, 리소스 사용을 최적화하고, 운영 상태에 대한 통찰력을 제공합니다. AWS 리소스 전반에서 데이터를 수집함으로써 시스템 전반의 성능을 파악하고, CloudWatch 경보를 설정하고, 변화에 자동으로 대응하고, 운영 상태를 통합적으로 파악할 수 있습니다. 

Amazon Bedrock 및 Amazon S3의 변경 사항을 설명하는 시스템 이벤트를 모니터링하고 경보를 생성하는 데 사용합니다 CloudWatch . 프롬프트에 즉각적인 삽입 또는 민감한 정보 공개가 표시될 경우 관리자에게 알리도록 알림을 구성하십시오. 이는 로그 패턴에 기반한 사용자 지정 CloudWatch 지표와 경보를 통해 달성할 수 있습니다. 생성, 소유 및 관리하는 고객 관리 키를 사용하여 Logs의 CloudWatch 로그 데이터를 암호화하세요. 추가적인 네트워크 보안 강화를 위해 VPC 환경이 액세스하도록 구성된 CloudWatch 로그에 대한 게이트웨이 엔드포인트를 생성할 수 있습니다. 보안 OU 보안 도구 계정에서 Amazon CloudWatch Observability Access Manager를 사용하여 모니터링을 중앙 집중화할 수 있습니다. 최소 권한 원칙을 사용하여 CloudWatch 로그 리소스에 대한 액세스 권한을 관리합니다. 

AWS CloudTrail

CloudTrailAWS는 AWS 계정의 활동에 대한 거버넌스, 규정 준수 및 감사를 지원합니다. 를 사용하면 AWS 인프라 전반의 작업과 관련된 계정 활동을 기록하고, 지속적으로 모니터링하고, 유지할 수 있습니다. CloudTrail  

Amazon Bedrock 및 Amazon CloudTrail S3에 대한 모든 생성, 읽기, 업데이트 및 삭제 (CRUD) 작업을 기록하고 모니터링하는 데 사용합니다. 자세한 내용은 Amazon Bedrock 설명서의 AWS CloudTrai l을 사용한 Amazon Bedrock API 호출 로깅 및 Amazon S3 설명서의 CloudTrailAWS를 사용한 Amazon S3 API 호출 로깅을 참조하십시오.

CloudTrail Amazon Bedrock의 로그에는 프롬프트 및 완료 정보가 포함되지 않습니다. 조직 내 모든 계정의 모든 이벤트를 기록하는 조직 내역을 사용하는 것이 좋습니다. 제너레이티브 AI 계정의 모든 CloudTrail 로그를 보안 OU 로그 아카이브 계정으로 전달합니다. 중앙 집중식 로그를 사용하면 Amazon S3 객체 액세스, ID별 무단 활동, IAM 정책 변경 및 민감한 리소스에서 수행되는 기타 중요한 활동을 모니터링하고 감사하고 알림을 생성할 수 있습니다. 자세한 내용은 AWS의 보안 모범 사례를 참조하십시오 CloudTrail.

Amazon Macie

Amazon Macie는 기계 학습과 패턴 매칭을 사용하여 AWS의 민감한 데이터를 검색하고 보호하는 데 도움이 되는 완전 관리형 데이터 보안 및 데이터 개인 정보 보호 서비스입니다. 적절한 제어가 시행되도록 하려면 워크로드에서 처리하는 데이터의 유형과 분류를 식별해야 합니다. Macie는 S3 버킷에 저장된 프롬프트 스토어 및 모델 호출 로그에서 민감한 데이터를 식별하는 데 도움을 줄 수 있습니다. Macie를 사용하여 Amazon S3에서 민감한 데이터의 검색, 로깅 및 보고를 자동화할 수 있습니다. 이 작업은 두 가지 방법으로 수행할 수 있습니다. 하나는 자동 민감한 데이터 검색을 수행하도록 Macie를 구성하는 것이고 다른 하나는 민감한 데이터 검색 작업을 생성하고 실행하는 것입니다. 자세한 내용은 Macie 설명서에서 Amazon Macie를 사용한 민감한 데이터 검색을 참조하십시오.