AZ-204-KR 문제 81
사례 연구 6 - 콘토소 주식회사
배경
개요
당신은 Contoso, Ltd.의 개발자입니다. 이 회사는 단일 페이지 애플리케이션(SPA)으로 개발된 소셜 네트워킹 웹사이트를 운영하고 있습니다. 소셜 네트워킹 웹사이트의 메인 웹 애플리케이션은 블롭 스토리지에서 사용자가 업로드한 콘텐츠를 불러옵니다.
부적절한 콘텐츠가 있는지 업로드된 데이터를 모니터링하는 솔루션을 개발하고 있습니다. 사용자가 SPA를 사용하여 콘텐츠를 업로드할 때 다음과 같은 프로세스가 진행됩니다.
* 메시지는 ContentUploadService로 전송됩니다.
* 콘텐츠는 ContentAnalysisService를 통해 처리됩니다.
* 처리가 완료되면 콘텐츠가 소셜 네트워크에 게시되거나 거절 메시지가 전송됩니다.
그 자리에 게시되었습니다.
ContentAnalysisService는 contosoimages라는 이름의 비공개 Azure 컨테이너 레지스트리에서 Azure 컨테이너 인스턴스를 사용하여 배포됩니다.
이 솔루션은 8개의 CPU 코어를 사용합니다.
Azure Active Directory
Contoso, Ltd.는 내부 계정과 게스트 계정 모두에 Azure Active Directory(Azure AD)를 사용합니다.
요구 사항
콘텐츠 분석 서비스
이 회사의 데이터 과학 그룹은 사용자가 생성한 콘텐츠를 문자열로 입력받아 부적절한 콘텐츠에 대한 예상 값을 반환하는 ContentAnalysisService를 개발했습니다. 특정 임계값을 초과하는 값은 Contoso, Ltd. 직원이 검토해야 합니다.
콘텐츠 검사를 수행하려면 CheckUserContent라는 이름의 Azure Function을 생성해야 합니다.
소송 비용
모든 Azure 서비스의 비용을 최소화해야 합니다.
수동 검토
콘텐츠를 검토하려면 사용자는 Azure AD 자격 증명을 사용하여 ContentAnalysisService의 웹사이트 부분에 인증해야 합니다. 웹사이트는 React로 구축되었으며 모든 페이지와 API 엔드포인트에 인증이 필요합니다. 콘텐츠를 검토하려면 사용자는 ContentReviewer 역할에 속해야 합니다. 완료된 모든 검토에는 감사 목적으로 검토자의 이메일 주소가 포함되어야 합니다.
높은 가용성
모든 서비스는 여러 지역에서 실행되어야 합니다. 특정 지역의 서비스 장애가 전체 애플리케이션 가용성에 영향을 미쳐서는 안 됩니다.
모니터링
ContentUploadService가 사용 가능한 CPU 코어의 80% 이상을 사용하는 경우 경고를 발생시켜야 합니다.
보안
다음과 같은 보안 요구 사항이 있습니다.
인터넷을 통해 접근 가능한 모든 웹 서비스는 크로스 사이트 스크립팅 공격으로부터 보호되어야 합니다.
공격.
* 모든 웹사이트와 서비스는 유효한 루트 인증 기관에서 발급한 SSL 인증서를 사용해야 합니다.
* Azure Storage 액세스 키는 메모리에만 저장해야 하며, 지정된 담당자만 접근할 수 있어야 합니다.
서비스.
* 모든 내부 서비스는 내부 가상 네트워크(VNet)에서만 접근 가능해야 합니다.
* 시스템의 모든 부분은 수신 및 발신 트래픽 제한을 지원해야 합니다.
* 모든 서비스 호출은 Azure AD를 사용하여 인증되어야 합니다.
사용자 계약
사용자가 콘텐츠를 제출할 때 사용자 계약에 동의해야 합니다. 이 계약에 따라 Contoso, Ltd.의 직원은 콘텐츠를 검토하고, 사용자 기기에 쿠키를 저장하고, 사용자의 IP 주소를 추적할 수 있습니다.
계약 관련 정보는 콘토소 주식회사 내 여러 부서에서 활용됩니다.
사용자 응답은 손실되어서는 안 되며, 개별 서비스 가동 시간과 관계없이 모든 관계자가 이용할 수 있어야 합니다. 시간당 계약 건수는 수백만 건에 달할 것으로 예상됩니다.
유효성 검사
ContentAnalysisService의 새 버전이 출시되면 이전 버전과 크게 다르지 않은지 확인하기 위해 지난 7일간의 콘텐츠를 새 버전으로 처리해야 합니다.
문제점
ContentUploadService 사용자들은 특정 페이지에서 간혹 HTTP 502 응답이 발생하는 현상을 보고하고 있습니다.
암호
콘텐츠 업로드 서비스

애플리케이션 매니페스트

핫스팟 질문
ContentAnalysisService를 사용하여 사용자가 콘텐츠를 검토할 수 있도록 하려면 AM09번째 줄에 코드를 추가해야 합니다.
코드를 어떻게 완성해야 할까요? 정답을 선택하려면 답변란에서 적절한 옵션을 고르세요.
참고: 정답 하나당 1점입니다.

배경
개요
당신은 Contoso, Ltd.의 개발자입니다. 이 회사는 단일 페이지 애플리케이션(SPA)으로 개발된 소셜 네트워킹 웹사이트를 운영하고 있습니다. 소셜 네트워킹 웹사이트의 메인 웹 애플리케이션은 블롭 스토리지에서 사용자가 업로드한 콘텐츠를 불러옵니다.
부적절한 콘텐츠가 있는지 업로드된 데이터를 모니터링하는 솔루션을 개발하고 있습니다. 사용자가 SPA를 사용하여 콘텐츠를 업로드할 때 다음과 같은 프로세스가 진행됩니다.
* 메시지는 ContentUploadService로 전송됩니다.
* 콘텐츠는 ContentAnalysisService를 통해 처리됩니다.
* 처리가 완료되면 콘텐츠가 소셜 네트워크에 게시되거나 거절 메시지가 전송됩니다.
그 자리에 게시되었습니다.
ContentAnalysisService는 contosoimages라는 이름의 비공개 Azure 컨테이너 레지스트리에서 Azure 컨테이너 인스턴스를 사용하여 배포됩니다.
이 솔루션은 8개의 CPU 코어를 사용합니다.
Azure Active Directory
Contoso, Ltd.는 내부 계정과 게스트 계정 모두에 Azure Active Directory(Azure AD)를 사용합니다.
요구 사항
콘텐츠 분석 서비스
이 회사의 데이터 과학 그룹은 사용자가 생성한 콘텐츠를 문자열로 입력받아 부적절한 콘텐츠에 대한 예상 값을 반환하는 ContentAnalysisService를 개발했습니다. 특정 임계값을 초과하는 값은 Contoso, Ltd. 직원이 검토해야 합니다.
콘텐츠 검사를 수행하려면 CheckUserContent라는 이름의 Azure Function을 생성해야 합니다.
소송 비용
모든 Azure 서비스의 비용을 최소화해야 합니다.
수동 검토
콘텐츠를 검토하려면 사용자는 Azure AD 자격 증명을 사용하여 ContentAnalysisService의 웹사이트 부분에 인증해야 합니다. 웹사이트는 React로 구축되었으며 모든 페이지와 API 엔드포인트에 인증이 필요합니다. 콘텐츠를 검토하려면 사용자는 ContentReviewer 역할에 속해야 합니다. 완료된 모든 검토에는 감사 목적으로 검토자의 이메일 주소가 포함되어야 합니다.
높은 가용성
모든 서비스는 여러 지역에서 실행되어야 합니다. 특정 지역의 서비스 장애가 전체 애플리케이션 가용성에 영향을 미쳐서는 안 됩니다.
모니터링
ContentUploadService가 사용 가능한 CPU 코어의 80% 이상을 사용하는 경우 경고를 발생시켜야 합니다.
보안
다음과 같은 보안 요구 사항이 있습니다.
인터넷을 통해 접근 가능한 모든 웹 서비스는 크로스 사이트 스크립팅 공격으로부터 보호되어야 합니다.
공격.
* 모든 웹사이트와 서비스는 유효한 루트 인증 기관에서 발급한 SSL 인증서를 사용해야 합니다.
* Azure Storage 액세스 키는 메모리에만 저장해야 하며, 지정된 담당자만 접근할 수 있어야 합니다.
서비스.
* 모든 내부 서비스는 내부 가상 네트워크(VNet)에서만 접근 가능해야 합니다.
* 시스템의 모든 부분은 수신 및 발신 트래픽 제한을 지원해야 합니다.
* 모든 서비스 호출은 Azure AD를 사용하여 인증되어야 합니다.
사용자 계약
사용자가 콘텐츠를 제출할 때 사용자 계약에 동의해야 합니다. 이 계약에 따라 Contoso, Ltd.의 직원은 콘텐츠를 검토하고, 사용자 기기에 쿠키를 저장하고, 사용자의 IP 주소를 추적할 수 있습니다.
계약 관련 정보는 콘토소 주식회사 내 여러 부서에서 활용됩니다.
사용자 응답은 손실되어서는 안 되며, 개별 서비스 가동 시간과 관계없이 모든 관계자가 이용할 수 있어야 합니다. 시간당 계약 건수는 수백만 건에 달할 것으로 예상됩니다.
유효성 검사
ContentAnalysisService의 새 버전이 출시되면 이전 버전과 크게 다르지 않은지 확인하기 위해 지난 7일간의 콘텐츠를 새 버전으로 처리해야 합니다.
문제점
ContentUploadService 사용자들은 특정 페이지에서 간혹 HTTP 502 응답이 발생하는 현상을 보고하고 있습니다.
암호
콘텐츠 업로드 서비스

애플리케이션 매니페스트

핫스팟 질문
ContentAnalysisService를 사용하여 사용자가 콘텐츠를 검토할 수 있도록 하려면 AM09번째 줄에 코드를 추가해야 합니다.
코드를 어떻게 완성해야 할까요? 정답을 선택하려면 답변란에서 적절한 옵션을 고르세요.
참고: 정답 하나당 1점입니다.

AZ-204-KR 문제 82
Standard SKU의 kv1이라는 Azure Key Vault를 관리합니다.
kv1에 비대칭 키 쌍을 프로그래밍 방식으로 저장하고 이 키 쌍을 암호화 및 암호 해독에 사용할 계획입니다.
kv1의 키 쌍에 액세스하는 app1이라는 애플리케이션을 개발해야 합니다.
kv1에서 키 쌍을 검색하려면 객체를 구성해야 합니다.
어떤 물건을 사용해야 하나요?
kv1에 비대칭 키 쌍을 프로그래밍 방식으로 저장하고 이 키 쌍을 암호화 및 암호 해독에 사용할 계획입니다.
kv1의 키 쌍에 액세스하는 app1이라는 애플리케이션을 개발해야 합니다.
kv1에서 키 쌍을 검색하려면 객체를 구성해야 합니다.
어떤 물건을 사용해야 하나요?
AZ-204-KR 문제 83
Azure 메시징 서비스를 사용할 솔루션을 개발하고 있습니다.
솔루션이 게시-구독 모델을 사용하고 지속적인 폴링이 필요하지 않도록 해야 합니다.
목표를 달성할 수 있는 두 가지 방법은 무엇입니까? 각 정답은 완전한 솔루션을 제시합니다.
참고: 각 올바른 선택은 1점의 가치가 있습니다.
솔루션이 게시-구독 모델을 사용하고 지속적인 폴링이 필요하지 않도록 해야 합니다.
목표를 달성할 수 있는 두 가지 방법은 무엇입니까? 각 정답은 완전한 솔루션을 제시합니다.
참고: 각 올바른 선택은 1점의 가치가 있습니다.
AZ-204-KR 문제 84
사례 연구 1 - 리트웨어 주식회사
배경
당신은 직원 경비 관리 솔루션을 제공하는 SaaS 기업인 Litware Inc.의 개발자입니다. 해당 솔루션은 Azure 웹 앱으로 배포되는 ASP.NET Core 웹 API 프로젝트로 구성되어 있습니다.
전체적인 아키텍처
직원들은 영수증을 시스템에 업로드하여 처리합니다. 처리가 완료되면 직원은 처리 결과를 자세히 보여주는 요약 보고서 이메일을 받습니다. 그런 다음 직원들은 웹 애플리케이션을 사용하여 영수증을 관리하고 환급에 필요한 추가 작업을 수행합니다.
영수증 처리
직원들은 다음 두 가지 방법으로 영수증을 업로드할 수 있습니다.
* Azure Files 마운트된 폴더를 사용한 업로드
* 웹 애플리케이션을 이용한 업로드
데이터 저장소
영수증 및 직원 정보는 Azure SQL 데이터베이스에 저장됩니다.
선적 서류 비치
직원들은 솔루션을 처음 사용할 때 시작 안내서를 제공받습니다. 이 안내서에는 Azure 파일 업로드에서 지원되는 운영 체제에 대한 세부 정보와 마운트된 폴더를 구성하는 방법에 대한 지침이 포함되어 있습니다.
솔루션 세부 정보
사용자 테이블

웹 애플리케이션
웹 앱에 대해 MSI를 활성화하고 웹 앱이 보안 주체 이름인 WebAppIdentity를 사용하도록 구성합니다.
처리 중
처리는 Azure Function 런타임 버전 2를 사용하는 Azure Function에 의해 수행됩니다.
처리가 완료되면 결과는 Azure Blob에 저장됩니다.
스토리지와 Azure SQL 데이터베이스를 사용합니다. 그런 다음 처리 보고서 링크가 포함된 이메일 요약이 사용자에게 전송됩니다. 이메일을 다른 사용자에게 전달하는 경우 보고서 링크는 유효한 상태로 유지되어야 합니다.
벌채 반출
Azure Application Insights는 프로세서와 웹 애플리케이션 모두에서 원격 분석 및 로깅에 사용됩니다. 프로세서에는 TraceWriter 로깅도 활성화되어 있습니다.
Application Insights에는 항상 모든 로그 메시지가 포함되어 있어야 합니다.
요구 사항
영수증 처리
영수증의 동시 처리는 방지되어야 합니다.
재해 복구
지역 장애가 애플리케이션 가용성에 영향을 미쳐서는 안 됩니다. 모든 재해 복구(DR) 작업은 애플리케이션 실행에 의존해서는 안 되며, DR 지역의 데이터가 최신 상태인지 확인해야 합니다.
보안
* 사용자의 보안 PIN은 데이터베이스 접근 시 접근 제한으로 인해 접근할 수 없도록 저장되어야 합니다.
보안 핀 보기. 웹 애플리케이션만이 보안 핀에 접근할 수 있어야 합니다.
* 데이터를 보호하는 데 사용되는 모든 인증서와 비밀 키는 Azure Key Vault에 저장해야 합니다.
* 최소 권한 원칙을 준수하고 필수적인 권한만 부여해야 합니다.
의도된 기능을 수행합니다.
* Azure Storage 및 Azure SQL 데이터베이스에 대한 모든 액세스는 애플리케이션의 관리형 스토리지를 사용해야 합니다.
서비스 ID(MSI)
* 영수증 데이터는 저장 시 항상 암호화되어야 합니다.
* 모든 데이터는 전송 중에 보호되어야 합니다.
* 사용자의 경비 계좌 번호는 로그인한 사용자에게만 표시되어야 합니다. 다른 모든 사용자에게는 표시되지 않습니다.
경비 계좌 번호는 마지막 부분만 포함하고 나머지 부분은 가려야 합니다.
* 보안 침해 발생 시 모든 요약 보고서에 대한 접근 권한은 즉시 취소되어야 합니다.
시스템의 다른 부분에 영향을 미칩니다.
문제점
업로드 형식 문제
직원들이 웹 애플리케이션을 사용하여 영수증을 업로드할 때 간혹 문제가 발생한다고 보고합니다. Azure 파일 공유를 통해 영수증을 업로드하면 프로필에 영수증이 나타나지 않는다는 것입니다. 이러한 문제가 발생하면 파일 공유에서 해당 파일을 삭제하고 웹 애플리케이션을 사용하는데, 그러면 500 내부 서버 오류 페이지가 표시됩니다.
용량 문제
업무량이 많은 시간대에는 직원들이 영수증을 업로드한 시점과 웹 애플리케이션에 반영되는 시점 사이에 상당한 지연이 발생한다고 보고합니다.
로그 용량 문제
개발자들은 프로세서의 추적 출력에 나타나는 로그 메시지 수가 너무 많아 로그 메시지가 누락되는 현상이 발생한다고 보고했습니다.
애플리케이션 코드
처리.cs

데이터베이스.cs

ReceiptUploader.cs

ConfigureSSE.ps1

핫스팟 질문
보안 정책을 준수하려면 Processing.cs 파일의 PC26번째 줄에 코드를 추가해야 합니다.
PC26번 줄에 추가할 코드를 어떻게 완성해야 할까요? 정답을 선택하려면 답변란에서 적절한 옵션을 고르세요.
참고: 정답 하나당 1점입니다.

배경
당신은 직원 경비 관리 솔루션을 제공하는 SaaS 기업인 Litware Inc.의 개발자입니다. 해당 솔루션은 Azure 웹 앱으로 배포되는 ASP.NET Core 웹 API 프로젝트로 구성되어 있습니다.
전체적인 아키텍처
직원들은 영수증을 시스템에 업로드하여 처리합니다. 처리가 완료되면 직원은 처리 결과를 자세히 보여주는 요약 보고서 이메일을 받습니다. 그런 다음 직원들은 웹 애플리케이션을 사용하여 영수증을 관리하고 환급에 필요한 추가 작업을 수행합니다.
영수증 처리
직원들은 다음 두 가지 방법으로 영수증을 업로드할 수 있습니다.
* Azure Files 마운트된 폴더를 사용한 업로드
* 웹 애플리케이션을 이용한 업로드
데이터 저장소
영수증 및 직원 정보는 Azure SQL 데이터베이스에 저장됩니다.
선적 서류 비치
직원들은 솔루션을 처음 사용할 때 시작 안내서를 제공받습니다. 이 안내서에는 Azure 파일 업로드에서 지원되는 운영 체제에 대한 세부 정보와 마운트된 폴더를 구성하는 방법에 대한 지침이 포함되어 있습니다.
솔루션 세부 정보
사용자 테이블

웹 애플리케이션
웹 앱에 대해 MSI를 활성화하고 웹 앱이 보안 주체 이름인 WebAppIdentity를 사용하도록 구성합니다.
처리 중
처리는 Azure Function 런타임 버전 2를 사용하는 Azure Function에 의해 수행됩니다.
처리가 완료되면 결과는 Azure Blob에 저장됩니다.
스토리지와 Azure SQL 데이터베이스를 사용합니다. 그런 다음 처리 보고서 링크가 포함된 이메일 요약이 사용자에게 전송됩니다. 이메일을 다른 사용자에게 전달하는 경우 보고서 링크는 유효한 상태로 유지되어야 합니다.
벌채 반출
Azure Application Insights는 프로세서와 웹 애플리케이션 모두에서 원격 분석 및 로깅에 사용됩니다. 프로세서에는 TraceWriter 로깅도 활성화되어 있습니다.
Application Insights에는 항상 모든 로그 메시지가 포함되어 있어야 합니다.
요구 사항
영수증 처리
영수증의 동시 처리는 방지되어야 합니다.
재해 복구
지역 장애가 애플리케이션 가용성에 영향을 미쳐서는 안 됩니다. 모든 재해 복구(DR) 작업은 애플리케이션 실행에 의존해서는 안 되며, DR 지역의 데이터가 최신 상태인지 확인해야 합니다.
보안
* 사용자의 보안 PIN은 데이터베이스 접근 시 접근 제한으로 인해 접근할 수 없도록 저장되어야 합니다.
보안 핀 보기. 웹 애플리케이션만이 보안 핀에 접근할 수 있어야 합니다.
* 데이터를 보호하는 데 사용되는 모든 인증서와 비밀 키는 Azure Key Vault에 저장해야 합니다.
* 최소 권한 원칙을 준수하고 필수적인 권한만 부여해야 합니다.
의도된 기능을 수행합니다.
* Azure Storage 및 Azure SQL 데이터베이스에 대한 모든 액세스는 애플리케이션의 관리형 스토리지를 사용해야 합니다.
서비스 ID(MSI)
* 영수증 데이터는 저장 시 항상 암호화되어야 합니다.
* 모든 데이터는 전송 중에 보호되어야 합니다.
* 사용자의 경비 계좌 번호는 로그인한 사용자에게만 표시되어야 합니다. 다른 모든 사용자에게는 표시되지 않습니다.
경비 계좌 번호는 마지막 부분만 포함하고 나머지 부분은 가려야 합니다.
* 보안 침해 발생 시 모든 요약 보고서에 대한 접근 권한은 즉시 취소되어야 합니다.
시스템의 다른 부분에 영향을 미칩니다.
문제점
업로드 형식 문제
직원들이 웹 애플리케이션을 사용하여 영수증을 업로드할 때 간혹 문제가 발생한다고 보고합니다. Azure 파일 공유를 통해 영수증을 업로드하면 프로필에 영수증이 나타나지 않는다는 것입니다. 이러한 문제가 발생하면 파일 공유에서 해당 파일을 삭제하고 웹 애플리케이션을 사용하는데, 그러면 500 내부 서버 오류 페이지가 표시됩니다.
용량 문제
업무량이 많은 시간대에는 직원들이 영수증을 업로드한 시점과 웹 애플리케이션에 반영되는 시점 사이에 상당한 지연이 발생한다고 보고합니다.
로그 용량 문제
개발자들은 프로세서의 추적 출력에 나타나는 로그 메시지 수가 너무 많아 로그 메시지가 누락되는 현상이 발생한다고 보고했습니다.
애플리케이션 코드
처리.cs

데이터베이스.cs

ReceiptUploader.cs

ConfigureSSE.ps1

핫스팟 질문
보안 정책을 준수하려면 Processing.cs 파일의 PC26번째 줄에 코드를 추가해야 합니다.
PC26번 줄에 추가할 코드를 어떻게 완성해야 할까요? 정답을 선택하려면 답변란에서 적절한 옵션을 고르세요.
참고: 정답 하나당 1점입니다.

AZ-204-KR 문제 85
Azure 컨테이너 앱을 배포할 계획입니다.
컨테이너 앱이 세션 선호도를 지원하도록 구성해야 합니다.
컨테이너 앱에 어떤 인그레스 유형과 리비전 모드를 지정해야 할까요?
컨테이너 앱이 세션 선호도를 지원하도록 구성해야 합니다.
컨테이너 앱에 어떤 인그레스 유형과 리비전 모드를 지정해야 할까요?


