From 3587deaee20e5bc6290770a39d7a54668f20dbdc Mon Sep 17 00:00:00 2001 From: olprod Date: Fri, 15 Dec 2023 17:28:20 -0800 Subject: [PATCH] Copy Files From Source Repo (2023-12-15 17:28) --- Allfiles/Labs/12/readme.MD | 1 + Allfiles/Labs/13/readme.MD | 1 + Allfiles/Labs/14/readme.MD | 10 + Instructions/Labs/LAB_01_RBAC.md | 18 +- ...nditionalAccessandAADIdentityProtection.md | 605 ++++++++++++++++++ ...onalAccessandMicrosoftEntraIDProtection.md | 2 +- ... tenant for Microsoft Entra Verified ID.md | 237 +++++++ Instructions/Labs/LAB_03_AzureLocks.md | 187 ++++++ Instructions/Labs/LAB_04_AzureLocks.md | 187 ++++++ ...nditionalAccessandAADIdentityProtection.md | 605 ++++++++++++++++++ ...nditionalAccessandAADIdentityProtection.md | 605 ++++++++++++++++++ Instructions/Labs/LAB_05_PIM.md | 380 +++++++++++ Instructions/Labs/LAB_06_AzureFirewall.md | 324 ++++++++++ ...AB_06_ImplementDirectorySynchronization.md | 412 ++++++++++++ .../LAB_07_ConfiguringandSecuringACRandAKS.MD | 375 +++++++++++ Instructions/Labs/LAB_07_NSGs.md | 339 ++++++++++ .../Labs/LAB_08_SecuringAzureSQLDatabase.MD | 191 ++++++ .../LAB_09_ConfiguringandSecuringACRandAKS.MD | 375 +++++++++++ Instructions/Labs/LAB_11_Azure Monitor.md | 8 +- Instructions/Labs/LAB_11_PIM.md | 380 +++++++++++ .../Labs/LAB_11_SecuringAzureSQLDatabase.MD | 191 ++++++ .../LAB_12_Microsoft Defender for Cloud.md | 113 ++++ .../Labs/LAB_12_SecuringAzureSQLDatabase.MD | 192 ++++++ .../Labs/LAB_12_SecuringAzureStorage.MD | 489 ++++++++++++++ Instructions/Labs/LAB_13_Azure Monitor.md | 214 +++++++ ...an Azure VM and Log Analytics workspace.md | 101 +++ .../Labs/LAB_13_Microsoft Sentinel.md | 284 ++++++++ .../Labs/LAB_13_SecuringAzureStorage.MD | 502 +++++++++++++++ Instructions/Labs/LAB_14_Azure Monitor.md | 213 ++++++ .../LAB_14_Microsoft Defender for Cloud.md | 113 ++++ .../LAB_15_Microsoft Defender for Cloud.md | 113 ++++ .../Labs/LAB_15_Microsoft Sentinel.md | 284 ++++++++ .../Labs/LAB_16_Microsoft Sentinel.md | 284 ++++++++ 33 files changed, 8324 insertions(+), 11 deletions(-) create mode 100644 Allfiles/Labs/12/readme.MD create mode 100644 Allfiles/Labs/13/readme.MD create mode 100644 Allfiles/Labs/14/readme.MD create mode 100644 Instructions/Labs/LAB_02_MFAConditionalAccessandAADIdentityProtection.md create mode 100644 Instructions/Labs/LAB_03_ Configure your tenant for Microsoft Entra Verified ID.md create mode 100644 Instructions/Labs/LAB_03_AzureLocks.md create mode 100644 Instructions/Labs/LAB_04_AzureLocks.md create mode 100644 Instructions/Labs/LAB_04_MFAConditionalAccessandAADIdentityProtection.md create mode 100644 Instructions/Labs/LAB_05_MFAConditionalAccessandAADIdentityProtection.md create mode 100644 Instructions/Labs/LAB_05_PIM.md create mode 100644 Instructions/Labs/LAB_06_AzureFirewall.md create mode 100644 Instructions/Labs/LAB_06_ImplementDirectorySynchronization.md create mode 100644 Instructions/Labs/LAB_07_ConfiguringandSecuringACRandAKS.MD create mode 100644 Instructions/Labs/LAB_07_NSGs.md create mode 100644 Instructions/Labs/LAB_08_SecuringAzureSQLDatabase.MD create mode 100644 Instructions/Labs/LAB_09_ConfiguringandSecuringACRandAKS.MD create mode 100644 Instructions/Labs/LAB_11_PIM.md create mode 100644 Instructions/Labs/LAB_11_SecuringAzureSQLDatabase.MD create mode 100644 Instructions/Labs/LAB_12_Microsoft Defender for Cloud.md create mode 100644 Instructions/Labs/LAB_12_SecuringAzureSQLDatabase.MD create mode 100644 Instructions/Labs/LAB_12_SecuringAzureStorage.MD create mode 100644 Instructions/Labs/LAB_13_Azure Monitor.md create mode 100644 Instructions/Labs/LAB_13_Deploy an Azure VM and Log Analytics workspace.md create mode 100644 Instructions/Labs/LAB_13_Microsoft Sentinel.md create mode 100644 Instructions/Labs/LAB_13_SecuringAzureStorage.MD create mode 100644 Instructions/Labs/LAB_14_Azure Monitor.md create mode 100644 Instructions/Labs/LAB_14_Microsoft Defender for Cloud.md create mode 100644 Instructions/Labs/LAB_15_Microsoft Defender for Cloud.md create mode 100644 Instructions/Labs/LAB_15_Microsoft Sentinel.md create mode 100644 Instructions/Labs/LAB_16_Microsoft Sentinel.md diff --git a/Allfiles/Labs/12/readme.MD b/Allfiles/Labs/12/readme.MD new file mode 100644 index 0000000..cd3ceb0 --- /dev/null +++ b/Allfiles/Labs/12/readme.MD @@ -0,0 +1 @@ +여기에는 랩에 구성된 리소스를 배포하는 bicep 파일이 포함됩니다. diff --git a/Allfiles/Labs/13/readme.MD b/Allfiles/Labs/13/readme.MD new file mode 100644 index 0000000..cd3ceb0 --- /dev/null +++ b/Allfiles/Labs/13/readme.MD @@ -0,0 +1 @@ +여기에는 랩에 구성된 리소스를 배포하는 bicep 파일이 포함됩니다. diff --git a/Allfiles/Labs/14/readme.MD b/Allfiles/Labs/14/readme.MD new file mode 100644 index 0000000..d3069ca --- /dev/null +++ b/Allfiles/Labs/14/readme.MD @@ -0,0 +1,10 @@ +여기에는 랩에 구성된 리소스를 배포하는 bicep 파일이 포함됩니다. + +이 템플릿을 배포하려면 다음을 수행합니다. + +``` +$date = Get-Date -Format "MM-dd-yyyy" +$rand = Get-Random -Maximum 1000 +$deploymentName = "AzInsiderDeployment-"+"$date"+"-"+"$rand" +New-AzResourceGroupDeployment -Name $deploymentName -ResourceGroupName AZ500LAB131415 -TemplateFile .\main.bicep -TemplateParameterFile .\azuredeploy.parameters.json -c +``` diff --git a/Instructions/Labs/LAB_01_RBAC.md b/Instructions/Labs/LAB_01_RBAC.md index 10777de..d23a999 100644 --- a/Instructions/Labs/LAB_01_RBAC.md +++ b/Instructions/Labs/LAB_01_RBAC.md @@ -29,7 +29,7 @@ Azure 사용자와 그룹이 어떻게 만들어지는지 보여주는 개념 ## 역할 기반 액세스 제어 아키텍처 다이어그램 -![이미지](https://user-images.githubusercontent.com/91347931/157751243-5aa6e521-9bc1-40af-839b-4fd9927479d7.png) +![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/506cde9c-5242-4438-a793-f88a5434a2b2) ## Instructions @@ -48,7 +48,7 @@ Azure 사용자와 그룹이 어떻게 만들어지는지 보여주는 개념 1. 브라우저 세션을 시작하고 Azure Portal **`https://portal.azure.com/`** 에 로그인합니다. - >**참고**: 이 랩에서 사용하는 Azure 구독의 Owner 또는 Contributor 역할과 해당 구독과 연결된 Azure AD 테넌트의 전역 관리자 역할을 가진 계정을 사용하여 Azure Portal에 로그인합니다. + >**참고**: 이 랩에 사용 중인 Azure 구독의 소유자 또는 기여자 역할이 있는 계정과 해당 구독과 연결된 Microsoft Entra 테넌트의 전역 관리이스트레이터 역할을 사용하여 Azure Portal에 로그인합니다. 2. **Azure Portal 페이지의 맨 위에 있는 리소스, 서비스 및 문서** 검색 텍스트 상자에 Microsoft Entra ID**를 입력**하고 Enter** 키를 누릅니**다. @@ -67,7 +67,7 @@ Azure 사용자와 그룹이 어떻게 만들어지는지 보여주는 개념 7. **만들기**를 클릭합니다. -8. **사용자 \| 모든 사용자** 블레이드를 새로 고침하여 새로운 사용자가 해당 Azure AD 테넌트에서 생성됐는지 확인합니다. +8. 사용자 \| 모두 블레이드**를 **새로 고쳐 새 사용자가 Microsoft Entra 테넌트에 만들어졌 있는지 확인합니다. #### 작업 2: Azure Portal을 사용하여 선임 관리자 그룹을 만들고 Joseph Price 사용자 계정을 그룹에 추가합니다. @@ -129,7 +129,7 @@ Azure 사용자와 그룹이 어떻게 만들어지는지 보여주는 개념 Connect-AzureAD ``` -6. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 Azure AD 테넌트의 이름을 식별합니다. +6. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 Microsoft Entra 테넌트 이름을 식별합니다. ```powershell $domainName = ((Get-AzureAdTenantDetail).VerifiedDomains)[0].Name @@ -141,7 +141,7 @@ Azure 사용자와 그룹이 어떻게 만들어지는지 보여주는 개념 New-AzureADUser -DisplayName 'Isabel Garcia' -PasswordProfile $passwordProfile -UserPrincipalName "Isabel@$domainName" -AccountEnabled $true -MailNickName 'Isabel' ``` -8. Cloud Shell 창의 PowerShell 세션에서 다음을 실행하여 Azure AD 사용자를 나열합니다(Joseph 및 Isabel의 계정은 나열됨에 표시되어야 합니다). +8. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 Microsoft Entra ID 사용자를 나열합니다(Joseph 및 Isabel의 계정이 목록에 표시되어야 합니다.) ```powershell Get-AzureADUser @@ -157,7 +157,7 @@ Azure 사용자와 그룹이 어떻게 만들어지는지 보여주는 개념 New-AzureADGroup -DisplayName 'Junior Admins' -MailEnabled $false -SecurityEnabled $true -MailNickName JuniorAdmins ``` -2. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 Azure AD 테넌트에 그룹을 나열합니다(목록에는 상위 관리자 및 하위 관리자 그룹이 포함되어야 함). +2. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 Microsoft Entra 테넌트에서 그룹을 나열합니다(목록에는 Senior 관리 및 Junior 관리s 그룹이 포함되어야 합니다.) ```powershell Get-AzureADGroup @@ -199,7 +199,7 @@ Azure 사용자와 그룹이 어떻게 만들어지는지 보여주는 개념 1. Cloud Shell 창의 왼쪽 위 모서리에 있는 드롭다운 메뉴에서 **Bash**를 선택하고 메시지가 표시되면 **확인**을 클릭합니다. -2. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 해당 Azure AD 테넌트의 이름을 식별합니다. +2. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 Microsoft Entra 테넌트 이름을 식별합니다. ```cli DOMAINNAME=$(az ad signed-in-user show --query 'userPrincipalName' | cut -d '@' -f 2 | sed 's/\"//') @@ -211,7 +211,7 @@ Azure 사용자와 그룹이 어떻게 만들어지는지 보여주는 개념 az ad user create --display-name "Dylan Williams" --password "Pa55w.rd1234" --user-principal-name Dylan@$DOMAINNAME ``` -4. Cloud Shell 내의 Bash 세션에서 다음을 실행하여 Azure AD 사용자 계정을 나열합니다(목록에 Joseph, Isabe 및 Dylan의 사용자 계정이 포함되어야 합니다) +4. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 Microsoft Entra ID 사용자 계정을 나열합니다(목록에 Joseph, Isabel 및 Dylan의 사용자 계정이 포함되어야 합니다.) ```cli az ad user list --output table @@ -227,7 +227,7 @@ Azure 사용자와 그룹이 어떻게 만들어지는지 보여주는 개념 az ad group create --display-name "Service Desk" --mail-nickname "ServiceDesk" ``` -2. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 Azure AD 그룹을 나열합니다(목록에는 서비스 데스크, 선임 관리자 및 후임 관리자 그룹이 포함되어야 합니다). +2. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 Microsoft Entra ID 그룹을 나열합니다(목록에 Service Desk, Senior 관리 및 Junior 관리s 그룹이 포함되어야 합니다.) ```cli az ad group list -o table diff --git a/Instructions/Labs/LAB_02_MFAConditionalAccessandAADIdentityProtection.md b/Instructions/Labs/LAB_02_MFAConditionalAccessandAADIdentityProtection.md new file mode 100644 index 0000000..5534566 --- /dev/null +++ b/Instructions/Labs/LAB_02_MFAConditionalAccessandAADIdentityProtection.md @@ -0,0 +1,605 @@ +--- +lab: + title: 02 - MFA 및 조건부 액세스 + module: Module 01 - Manage Identity and Access +--- + +# 랩 02: MFA 및 조건부 액세스 +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +Microsoft Entra ID 인증을 향상시키는 기능의 개념 증명을 만들라는 요청을 받았습니다. 특히 다음을 평가하려고 합니다. + +- Microsoft Entra ID 다단계 인증 +- Microsoft Entra ID 조건부 액세스 +- Microsoft Entra ID 조건부 액세스 위험 기반 정책 + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다: + +- 연습 1: Azure 리소스 관리자 템플릿을 사용하여 Azure VM을 배포합니다 +- 연습 2: Azure MFA 구현 +- 연습 3: Microsoft Entra ID 조건부 액세스 정책 구현 +- 연습 4: Microsoft Entra ID ID 보호 구현 + +## MFA - 조건부 액세스 - ID 보호 다이어그램 + +![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/246a3798-6f50-4a41-99c2-71e9ab6a4c8f) + +## Instructions + +## 랩 파일: + +- **\\Allfiles\\Labs\\04\\az-500-04_azuredeploy.json** +- **\\Allfiles\\Labs\\04\\az-500-04_azuredeploy.parameters.json** + +### 연습 1: Azure 리소스 관리자 템플릿을 사용하여 Azure VM을 배포합니다 + +### 예상 소요 시간: 10분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: Azure Resource Manager 템플릿을 사용하여 Azure VM 배포 + +#### 작업 1: Azure 리소스 관리자 템플릿을 사용하여 Azure VM을 배포합니다 + +이 작업에서는 ARM 템플릿을 사용하여 가상 머신을 만듭니다. 이 가상 머신은 이 랩의 마지막 연습에 사용됩니다. + +1. Azure Portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에 사용 중인 Azure 구독의 소유자 또는 기여자 역할이 있는 계정과 해당 구독과 연결된 Microsoft Entra ID 테넌트의 전역 관리이스트레이터 역할을 사용하여 Azure Portal에 로그인합니다. + +2. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **사용자 지정 템플릿 배포**를 입력합니다. + + >**참고**: **마켓플레이스** 목록에서 **템플릿 배포(사용자 지정 템플릿을 사용하여 배포)** 를 선택해도 됩니다. + +3. **사용자 지정 배포** 블레이드에서 **편집기에서 사용자 고유의 탬플릿 빌드** 옵션을 클릭합니다. + +4. **템플릿 편집** 블레이드에서 **파일 로드**를 클릭하고 **\\Allfiles\\Labs\\04\\az-500-04_azuredeploy.json** 파일을 찾아 **열기**를 클릭합니다. + + >**참고**: 템플릿의 내용을 검토하고 Windows Server 2019 Datacenter를 호스팅하는 Azure VM를 배포함을 참고합니다. + +5. **템플릿 편집** 블레이드에서 **저장**을 클릭합니다. + +6. **사용자 지정 배포** 블레이드로 돌아가서 **매개 변수 편집**을 클릭합니다. + +7. **매개 변수 편집** 블레이드에서 **파일 로드**를 클릭하고 **\\Allfiles\\Labs\\04\\az-500-04_azuredeploy.parameters.json** 파일을 찾아 **열기**를 클릭합니다. + + >**참고**: adminUsername 및 adminPassword 값을 지적하는 매개 변수 파일의 내용을 검토합니다. + +8. **매개 변수 편집** 블레이드에서 **저장**을 클릭합니다. + +9. **사용자 지정 배포** 블레이드에서 다음 설정이 구성되었는지 확인합니다 (다른 설정은 기본값으로 유지). + + >**참고**: 과정 나머지 부분에서 VM(가상 머신)을 만드는 데 사용할 고유한 암호를 만들어야 합니다. 암호는 12자 이상이어야 하며, 정의된 복잡성 요구 사항(암호에 소문자 1개, 대문자 1개, 숫자 1개, 특수 문자 1개 중 3가지가 있어야 합니다)을 충족해야 합니다. [VM 암호 요구 사항](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/faq#what-are-the-password-requirements-when-creating-a-vm-). 암호를 기록해 둡니다. + + |설정|값| + |---|---| + |구독|이 랩에서 사용할 Azure 구독의 이름| + |Resource group|**새로 만들기**를 클릭하고 **AZ500LAB04**를 이름으로 입력합니다.| + |위치|**미국 동부**| + |Vm 크기|**Standard_D2s_v3**| + |Vm 이름|**az500-04-vm1**| + |관리자 사용자 이름|**학생**| + |관리자 암호|**고유한 암호를 만들고 나중에 참조할 수 있도록 기록하세요. 필요한 랩 액세스를 위해 이 암호를 입력하라는 메시지가 표시됩니다.**| + |Virtual Network 이름|**az500-04-vnet1**| + + >**참고**: Azure VM을 프로비전할 수 있는 Azure 지역을 식별하려면 [ **https://azure.microsoft.com/en-us/regions/offers/** ](https://azure.microsoft.com/en-us/regions/offers/)를 참조하세요. + +10. **검토 + 만들기**를 클릭한 다음 **만들기**를 클릭합니다. + + >**참고**: 배포가 완료될 때까지 기다리지 말고 다음 연습을 진행하세요. 이 랩의 마지막 연습에서 이 배포에 포함된 가상 머신을 사용합니다. + +> 결과: 이 랩의 마지막 연습에서 사용할 Azure VM **az500-04-vm1**의 템플릿 배포를 시작했습니다. + + +### 연습 2: Azure MFA 구현 + +### 예상 소요 시간: 30분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: 새 Microsoft Entra ID 테넌트를 만듭니다. +- 작업 2: Microsoft Entra ID P2 평가판을 활성화합니다. +- 작업 3: Microsoft Entra ID 사용자 및 그룹을 만듭니다. +- 작업 4: Microsoft Entra ID 사용자에게 Microsoft Entra ID P2 라이선스를 할당합니다. +- 작업 5: Azure MFA 설정 구성 +- 작업 6: MFA 구성 유효성 검사 + +#### 작업 1: 새 Microsoft Entra ID 테넌트 만들기 + +이 작업에서는 새 Microsoft Entra ID 테넌트를 만듭니다. + +1. Azure Portal의 Azure Portal 페이지 위쪽에 있는 **리소스, 서비스 및 문서** 검색 텍스트 상자에 Microsoft Entra ID**를 입력**하고 Enter** 키를 누릅니**다. + +2. 현재 Microsoft Entra ID 테넌트 개요를 **표시하는 블레이드에서 테넌트** 관리를 클릭한 **다음 다음 화면에서 + 만들기**를 클릭합니다****. + +3. **테넌트** 만들기 블레이드의 **기본 사항** 탭에서 Microsoft Entra ID** 옵션이 **선택되어 있는지 확인하고 다음: 구성 >** 클릭합니다**. + +4. **테넌트 만들기** 창의 **구성** 탭에서 다음 설정을 지정합니다. + + |설정|값| + |---|---| + |조직 이름|**AdatumLab500-04**| + |초기 도메인 이름|문자와 숫자의 조합으로 구성된 고유한 이름| + |국가 또는 지역|**미국**| + + >**참고**: 초기 도메인 이름을 기록합니다. 이 랩의 후반부에서 필요합니다. + +5. **검토 + 만들기**를 클릭한 다음, **만들기**를 클릭합니다. +6. **로봇이 아님을 증명** 블레이드에서 Captcha 코드를 추가한 다음 **제출** 단추를 클릭합니다. + + >**참고**: 새 테넌트가 만들어질 때까지 기다립니다. **알림** 아이콘을 사용하여 배포 상태를 모니터링합니다. + + +#### 작업 2: Microsoft Entra ID P2 평가판 활성화 + +이 작업에서는 Microsoft Entra ID P2 평가판에 등록합니다. + +1. Azure Portal의 도구 모음에서 Cloud Shell 셸 아이콘 오른쪽에 있는 **디렉터리 + 구독** 아이콘을 클릭합니다. + +2. **디렉터리 + 구독** 블레이드에서 새로 만든 테넌트 **AdatumLab500-04**를 클릭하고 **전환** 단추를 클릭하여 현재 디렉터리로 설정합니다. + + >**참고**: **AdatumLab500-04** 항목이 **디렉터리 + 구독** 필터 목록에 나타나지 않으면 브라우저 창을 새로 고쳐야 할 수 있습니다. + +3. Azure Portal의 Azure Portal 페이지 위쪽에 있는 **리소스, 서비스 및 문서** 검색 텍스트 상자에 Microsoft Entra ID**를 입력**하고 Enter** 키를 누릅니**다. **AdatumLab500-04** 블레이드의 **관리** 섹션에서 **라이선스**를 클릭합니다. + +4. 라이선스 개요 블레이드의 **빠른 작업**에서 **평가판** 가져오기를 클릭합니다**.** \| + +5. MICROSFT ENTRA ID P2를 확장한 다음 활성화를 클릭합니다 **.** + + +#### 작업 3: Microsoft Entra ID 사용자 및 그룹을 만듭니다. + +이 작업에서는 다음 세 사용자를 만듭니다. aaduser1(전역 관리자), aaduser2(사용자), aaduser3(사용자). 이후 작업에는 각 사용자의 사용자 계정 이름과 암호가 필요합니다. + +1. AdatumLab500-04 Microsoft Entra ID 블레이드로 돌아가**서 **관리** 섹션에서 사용자를** 클릭합니다**.** + +2. 사용자 모두 블레이드에서 **+ 새 사용자를** 클릭한 다음 **새 사용자** 만들기를 클릭합니다**.** \| + +3. 새 사용자 블레이드에서 **사용자** 만들기 옵션이 선택되어 있는지 확인하고 **기본 탭에서 다음 설정을 지정하고(다른 모든 설정을 기본값으로 유지) 다음을 클릭합니다 **. 속성 >**.** + + |설정|값| + |---|---| + |사용자 계정 이름|**aaduser1**| + |이름|**aaduser1**| + |암호|암호** 자동 생성 옵션이 **선택되어 있는지 확인합니다.| + + >**참고**: 전체 사용자 계정 이름을 기록합니다. 할 일기본 이름을 표시하는 드롭다운 목록의 오른쪽에 있는 클립보드**로 복사 단추를 클릭하여 **값을 복사할 수 있습니다. 이 랩에서 나중에 필요합니다. + + >**참고**: 사용자의 암호를 기록합니다. 텍스트 상자의 오른쪽에 있는 클립보드**로 복사 단추를 클릭하여 **값을 복사할 수 있습니다. 이 랩에서 나중에 필요합니다. + +4. 속성** 탭에서 **아래쪽으로 스크롤하여 사용 위치를 **지정합니다. 미국**(다른 모든 항목은 기본값으로 유지)하고 다음: 할당 >** 클릭합니다**. + +5. 할당 탭에서 **+ 역할** 추가를 클릭하고 **전역 관리istrator**를 검색하여 선택합니다**.** [선택 **]을 클릭한 다음 **검토 + 만들기**를 클릭한 다음 **만들기를 클릭합니다****. + +6. 다시 **사용자 \| 모든 사용자** 블레이드에서 **+ 새 사용자**를 클릭합니다. + +7. 새 사용자 블레이드에서 **사용자** 만들기 옵션이 선택되어 있는지 확인하고 **다음 설정을 지정하고(다른 모든 설정을 기본값으로 유지) 다음을 클릭합니다 **. 속성 >**.** + + |설정|값| + |---|---| + |사용자 계정 이름|**aaduser2**| + |이름|**aaduser2**| + |암호|암호** 자동 생성 옵션이 **선택되어 있는지 확인합니다.| + + >**참고**: 전체 사용자 계정 이름 및 암호를 기록합니다. + +8. 속성 탭에서 **아래쪽으로 스크롤하여 사용 위치를 **지정합니다. 미국**(다른 모든 항목은 기본값으로 유지) 검토 + 만들기**를 클릭한 다음 **만들기**를 클릭합니다**.** + +9. 다시 **사용자 \| 모든 사용자** 블레이드에서 **+ 새 사용자**를 클릭합니다. + +10. 새 사용자 블레이드에서 **사용자** 만들기 옵션이 선택되어 있는지 확인하고 **다음 설정을 지정하고(다른 모든 설정을 기본값으로 유지) 다음을 클릭합니다 **. 속성 >**.** + + |설정|값| + |---|---| + |사용자 계정 이름|**aaduser3**| + |이름|**aaduser3**| + |암호|암호** 자동 생성 옵션이 **선택되어 있는지 확인합니다.| + + >**참고**: 전체 사용자 계정 이름 및 암호를 기록합니다. + +11. 속성 탭에서 **아래쪽으로 스크롤하여 사용 위치를 **지정합니다. 미국**(다른 모든 항목은 기본값으로 유지) 검토 + 만들기**를 클릭한 다음 **만들기**를 클릭합니다**.** + + >**참고**: 이 시점에서 **사용자** 페이지에 새 사용자가 세 명 있어야 합니다. + +#### 작업 4: Microsoft Entra ID 사용자에게 Microsoft Entra ID Premium P2 라이선스 할당 + +이 작업에서는 Microsoft Entra ID Premium P2 라이선스에 각 사용자를 할당합니다. + +1. **사용자 \| 모든 사용자** 블레이드에서 사용자 계정을 나타내는 항목을 클릭합니다. + +2. 사용자 계정의 속성을 표시하는 블레이드에서 **속성 편집**을 클릭합니다. 사용 위치가 미국** 설정되어 **있는지 확인합니다. 그렇지 않은 경우 사용 위치를 설정하고 저장**을 클릭합니다**. + +3. AdatumLab500-04 Microsoft Entra ID 블레이드로 돌아가**서 **관리** 섹션에서 라이선스**를 클릭합니다**.** + +4. 라이선스 개요 블레이드에서 **모든 제품을** 클릭하고 **Microsoft Entra ID Premium P2** 검사box를 선택한 **다음 + 할당**을 클릭합니다**.** \| + +5. **라이선스 할당** 블레이드에서 **+ 사용자 및 그룹 추가**를 클릭합니다. + +6. **사용자** 블레이드에서 **aaduser1**, **aaduser2**, **aaduser3** 및 사용자 계정을 선택하고 **선택**을 클릭합니다. + +7. 라이선스 할당 블레이드로 돌아가서 할당 옵션을 클릭하고 **모든 옵션이** 사용하도록 설정되어 있는지 확인하고 검토 + 할당**을 클릭한 **다음 할당**을 클릭합니다**.** ** + +8. Azure Portal에서 로그아웃하고 동일한 계정을 사용하여 다시 로그인합니다. (라이선스 할당이 적용되려면 이 단계가 필요합니다.) + + >**참고**: 이 시점에서 이 랩에서 사용할 모든 사용자 계정에 Microsoft Entra ID Premium P2 라이선스를 할당했습니다. 로그아웃한 다음 다시 로그인하십시오. + +#### 작업 5: Azure MFA 설정 구성 + +이 작업에서는 MFA를 구성하고 aaduser1에 대한 MFA를 활성화합니다. + +1. Azure Portal에서 AdatumLab500-04** Microsoft Entra ID 테넌트 블레이드로 다시 **이동합니다. + + >**참고**: AdatumLab500-04 Microsoft Entra ID 테넌트를 사용하고 있는지 확인합니다. + +2. **AdatumLab500-04** Microsoft Entra ID 테넌트 블레이드의 **관리** 섹션에서 보안을** 클릭합니다**. + +3. **보안 \| 시작** 블레이드의 **관리** 섹션에서 **다단계 인증**을 클릭합니다. + +4. **다단계 인증 \| 시작** 블레이드에서 **추가 클라우드 기반 다단계 인증 설정** 링크를 클릭합니다. + + >**참고**: 그러면 **다단계 인증** 페이지가 표시되는 새 브라우저 탭이 열립니다. + +5. **다단계 인증** 페이지에서 **서비스 설정** 탭을 클릭합니다. **확인 옵션**을 검토합니다. **휴대폰에 문자 메시지 전송**, **모바일 앱을 통한 알림**, **모바일 앱 또는 하드웨어 토큰의 확인 코드**가 활성화됩니다. **저장**을 클릭한 후 **닫기**를 클릭합니다. + +6. 사용자 탭으로 전환하고 **aaduser1** 항목을 클릭하고 **사용 링크를 클릭한 **** 다음 메시지가 표시되면 다단계 인증** 사용을 클릭한 **다음 닫기를** 클릭합니다**.** + +7. **aaduser1**에 대한 **Multi-Factor Auth 상태** 열이 이제 **활성화**되었습니다. + +8. **aaduser1**을 클릭하면 **적용** 옵션도 표시됩니다. + + >**참고**: 사용자 상태 사용에서 적용됨으로 변경하면 Azure MFA를 지원하지 않는 레거시 Microsoft Entra ID 통합 앱에만 영향을 미치며, 상태 적용됨으로 변경되면 앱 암호를 사용해야 합니다. + +9. **aaduser1** 항목을 선택한 경우 **사용자 설정 관리**를 클릭하고 사용 가능한 옵션을 검토합니다. + + - Require selected users to provide contact methods again(선택한 사용자가 연락처 방법을 다시 제공해야 함). + + - Delete all existing app passwords generated by the selected users(선택한 사용자가 생성한 모든 기존 앱 암호 삭제). + + - 기억된 모든 디바이스에서 다단계 인증을 복원합니다. + +10. 취소를 클릭하고 **Azure Portal에서 Multi-Factor Authentication \| 시작** 블레이드를 **표시하는 브라우저 탭으로 다시 전환**합니다. + +11. **설정** 섹션에서 **사기 행위 경고**를 클릭합니다. + +12. **MFA \| 사기 행위 경고** 블레이드에서 다음 설정을 구성합니다. + + |설정|값| + |---|---| + |사용자가 사기 행위 경고를 제출할 수 있도록 허용|**설정**| + |사기를 신고하는 사용자를 자동으로 차단|**설정**| + |첫 인사말 중 사기 행위를 보고할 코드|**0**| + +13. 페이지 맨 아래에 있는 **저장** + + >**참고**: 이 시점에서 aaduser1 및 사기 행위 경고 설정에 대한 MFA를 활성화했습니다. + +14. AdatumLab500-04** Microsoft Entra ID 테넌트 블레이드**로 돌아가**서 관리** 섹션에서 속성을** 클릭한 **다음 블레이드 아래쪽의 보안 기본값 관리 링크를 클릭하고 **보안 기본값**** 사용 블레이드에서 **사용 안** 함으로 클릭합니다**. **내 조직에서 조건부 액세스를 *** 사용하지 않도록 설정하는* 이유로 선택하고 저장**을 클릭하고 **경고를 읽은 다음 사용 안 함을** 클릭합니다**. + + >**참고**: AdatumLab500-04** Microsoft Entra ID 테넌트에 로그인**되어 있는지 확인합니다. 디렉터리 + 구독** 필터를 **사용하여 Microsoft Entra ID 테넌트 간에 전환할 수 있습니다. Microsoft Entra ID 테넌트에서 Global 관리istrator 역할을 사용하여 사용자로 로그인했는지 확인합니다. + +#### 작업 6: MFA 구성 유효성 검사 + +이 작업에서는 aaduser1 사용자 계정의 로그인을 테스트하여 MFA 구성의 유효성을 검사합니다. + +1. InPrivate 브라우저 창을 엽니다. + +2. Azure **`https://portal.azure.com/`** Portal로 이동하고 aaduser1** 사용자 계정을 사용하여 **로그인합니다. + + >**참고**: 로그인하려면 이 랩의 앞부분에서 기록한 Microsoft Entra ID 테넌트 DNS do기본 이름을 포함하여 aaduser1** 사용자 계정의 **정규화된 이름을 제공해야 합니다. 이 사용자 이름은 aaduser1@``.onmicrosoft.com 형식으로, 고유한 `` Microsoft Entra ID 테넌트 이름을 나타내는 자리 표시자입니다. + +3. 메시지가 표시되면 **자세한 정보 필요** 대화 상자에서 **다음**을 클릭합니다. + + >**참고**: 브라우저 세션은 **추가 보안 인증** 페이지로 리디렉션됩니다. + +4. **계정 보안 유지** 페이지에서 **다른 방법을 설정하고 싶습니다.** 링크를 선택하고 **어떤 방법을 사용하시겠습니까?** 드롭다운 목록에서 **전화**를 선택한 후에 **확인**을 선택합니다. + +5. **계정 보안 유지** 페이지에서 국가나 지역을 선택하고 **전화 번호 입력** 부분에 휴대폰 번호를 입력합니다. 그런 다음 **코드를 문자로 받기** 옵션이 선택되어 있는지 확인하고 **다음**을 클릭합니다. + +6. 계정 보안 유지 페이지에서 휴대폰에 문자 메시지로 수신된 코드를 입력하고 다음을 클릭합니다. + +7. 계정 보안 유지 페이지에서 확인이 정상적으로 완료되었는지 확인하고 다음을 클릭합니다. + +8. 추가 인증 방법을 **묻는 메시지가 표시되면 다른 방법을** 사용하려는 경우 드롭다운 목록에서 전자 메일**을 선택하고 **확인을** 클릭하고 **사용하려는 전자 메일 주소를 입력한 다음 다음**을 클릭합니다**. 해당 이메일을 받으면 이메일 본문에서 코드를 식별하고, 이를 제공한 후에 **완료**를 클릭합니다. + +9. 메시지가 표시되면 암호를 변경합니다. 새 암호를 기록해 두어야 합니다. + +10. Azure Portal에 성공적으로 로그인했는지 확인합니다. + +11. **aaduser1**로 로그아웃하고 InPrivate 브라우저 창을 닫습니다. + +> 결과: 새 AD 테넌트를 만들고, AD 사용자를 구성하고, MFA를 구성하고, 사용자용 MFA 환경을 테스트했습니다. + + +### 연습 3: Microsoft Entra ID 조건부 액세스 정책 구현 + +### 예상 소요 시간: 15분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: 조건부 액세스 정책 구성 +- 작업 2: 조건부 액세스 정책을 테스트합니다. + +#### 작업 1 - 조건부 액세스 정책을 구성합니다. + +이 작업에서는 조건부 액세스 정책 설정을 검토하고, Azure Portal에 로그인할 때 MFA를 요구하는 정책을 만듭니다. + +1. Azure Portal에서 AdatumLab500-04** Microsoft Entra ID 테넌트 블레이드로 다시 **이동합니다. + +2. **AdatumLab500-04** 블레이드의 **관리** 섹션에서 **보안**을 클릭합니다. + +3. **보안 \| 시작** 블레이드의 **보호** 섹션에서 **조건부 액세스**를 클릭합니다. 왼쪽 탐색 패널에서 정책을** 클릭합니다**. + +4. 조건부 액세스 \| 정책 블레이드에서 **+ 새 정책을** 클릭합니다****. + +5. **새로 만들기** 블레이드에서 다음 설정을 구성합니다. + + - **이름** 텍스트 상자에 **AZ500Policy1**을 입력합니다. + + - 사용자** 아래에서 **선택한 사용자 및 그룹 0을** 클릭합니다**. 포함**의 오른쪽에서 사용자 및 그룹 선택 >> 사용자 및 그룹**** 선택 **검사 상자의 사용자 및 그룹** 선택 블레이드에서 **aaduser2** 검사 상자를 선택하고 **선택을** 클릭합니다**. + + - 대상 리소스에서 선택한 대상 리소스 없음을 클릭하고 **앱** 선택을 클릭한 **다음 선택에서 [없음 **]을 클릭합니다**.****** 선택 블레이드에서 **Microsoft Azure 관리**용 **검사 상자를 선택하고 선택을** 클릭합니다**.** + + >**참고**: 이 정책이 Azure Portal에 대한 액세스에 영향을 미친다는 경고를 검토합니다. + + - 조건에서 선택한 0개의 조건을 클릭하고 **로그인 위험**에서 **구성**되지 않음을 클릭합니다**.****** **로그인 위험** 블레이드에서 위험 수준을 검토하지만 변경하지 않고 로그인 위험** 블레이드를 **닫습니다. + + - **디바이스 플랫폼에서** 구성**되지 않음을 클릭하고 **포함할 수 있지만 변경하지 않는 디바이스 플랫폼을 검토하고 완료**를 클릭합니다**. + + - 위치** 아래에서 **구성**되지 않음을 클릭하고 **변경하지 않고 위치 옵션을 검토합니다. + + - Access 컨트롤** 섹션의 **권한 부여** 아래에서 **선택한** 0개의 컨트롤을 클릭합니다**. 권한 부여 블레이드에서 **다단계 인증** 필요 검사 상자를 선택하고 **선택을 클릭합니다 **.**** + + - **정책 사용**을 **켜기**로 설정합니다. + +6. **새로 만들기** 블레이드에서 **만들기**를 클릭합니다. + + >**참고**: 이 시점에서 MFA가 Azure Portal에 로그인해야 하는 조건부 액세스 정책이 있습니다. + +#### 작업 2 - 조건부 액세스 정책을 테스트합니다. + +이 작업에서는 Azure Portal에서 **aaduser2**로 로그인하고 MFA가 필요한지 확인합니다. 또한 다음 연습을 계속하기 전에 정책을 삭제합니다. + +1. InPrivate Microsoft Edge 창을 엽니다. + +2. 새 브라우저 창에서 Azure Portal**`https://portal.azure.com/`** 로 이동하고 aaduser2** 사용자 계정으로 **로그인합니다. + +3. 메시지가 표시되면 **자세한 정보 필요** 대화 상자에서 **다음**을 클릭합니다. + + >**참고**: 브라우저 세션은 계정 보안** 유지 페이지로 **리디렉션됩니다. + +4. **계정 보안 유지** 페이지에서 **다른 방법을 설정하고 싶습니다.** 링크를 선택하고 **어떤 방법을 사용하시겠습니까?** 드롭다운 목록에서 **전화**를 선택한 후에 **확인**을 선택합니다. + +5. **계정 보안 유지** 페이지에서 국가나 지역을 선택하고 **전화 번호 입력** 부분에 휴대폰 번호를 입력합니다. 그런 다음 **코드를 문자로 받기** 옵션이 선택되어 있는지 확인하고 **다음**을 클릭합니다. + +6. 계정 보안 유지 페이지에서 휴대폰에 문자 메시지로 수신된 코드를 입력하고 다음을 클릭합니다. + +7. 계정 보안 유지 페이지에서 확인이 정상적으로 완료되었는지 확인하고 다음을 클릭합니다. + +8. 계정 보안 유지 페이지에서 완료를 클릭합니다. + +9. 메시지가 표시되면 암호를 변경합니다. 새 암호를 기록해 두어야 합니다. + +10. Azure Portal에 성공적으로 로그인했는지 확인합니다. + +11. **aaduser2**로 로그아웃하고 InPrivate 브라우저 창을 닫습니다. + + >**참고**: 이제 새로 만든 조건부 액세스 정책이 aaduser2가 Azure Portal에 로그인할 때 MFA를 적용한다는 것을 확인했습니다. + +12. Azure Portal을 표시하는 브라우저 창으로 돌아가서 AdatumLab500-04** Microsoft Entra ID 테넌트 블레이드로 돌아갑니다**. + +13. **AdatumLab500-04** 블레이드의 **관리** 섹션에서 **보안**을 클릭합니다. + +14. **보안 \| 시작** 블레이드의 **보호** 섹션에서 **조건부 액세스**를 클릭합니다. 왼쪽 탐색 패널에서 정책을** 클릭합니다**. + +15. **조건부 액세스 \| 정책** 블레이드에서 **AZ500Policy1** 옆의 줄임표를 클릭하고 **삭제**를 클릭한 후 확인하라는 메시지가 표시되면 **예**를 클릭합니다. + + >**참고**: 결과: 이 연습에서는 사용자가 Azure Portal에 서명할 때 MFA를 요구하는 조건부 액세스 정책을 구현합니다. + +>결과: Microsoft Entra ID 조건부 액세스를 구성하고 테스트했습니다. + +### 연습 4: 조건부 액세스에서 위험 기반 정책 배포 + +### 예상 소요 시간: 30분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: Azure Portal에서 Microsoft Entra ID ID 보호 옵션 보기 +- 작업 2: 사용자 위험 정책 구성 +- 작업 3: 로그인 위험 정책 구성 +- 작업 4: Microsoft Entra ID ID 보호 정책에 대한 위험 이벤트 시뮬레이션 +- 작업 5: Microsoft Entra ID ID 보호 보고서 검토 + +#### 작업 1: Microsoft Entra ID ID 보호 사용 + +이 작업에서는 Azure Portal에서 Microsoft Entra ID ID 보호 옵션을 볼 수 있습니다. + +1. 필요한 경우 Azure Portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: AdatumLab500-04** Microsoft Entra ID 테넌트에 로그인**되어 있는지 확인합니다. 디렉터리 + 구독** 필터를 **사용하여 Microsoft Entra ID 테넌트 간에 전환할 수 있습니다. Microsoft Entra ID 테넌트에서 Global 관리istrator 역할을 사용하여 사용자로 로그인했는지 확인합니다. + +#### 작업 2: 사용자 위험 정책 구성 + +이 작업에서는 사용자 위험 정책을 만듭니다. + +1. **AdatumLab500-04** Microsoft Entra ID 테넌트 > **보안**** > 조건부 액세스 > ****정책으로 찾습니다.** + +2. + 새 정책을** 클릭합니다**. + +3. **이름** 텍스트 상자에 다음 정책 이름을 입력하고 **AZ500Policy2**를 입력합니다. + +4. 할당** > **사용자** 아래에서 **선택한** 사용자 및 그룹 0을 클릭합니다.** + +5. 포함에서 사용자 및 그룹 선택을 클릭하고 **사용자 및 그룹을**** 클릭하고 **aaduser2** 및 **aaduser3**을 선택한 **다음 선택을** 클릭합니다**.**** + +6. 제외**에서 **사용자 및 그룹을** 클릭하고 **aaduser1**을 선택한 **다음 선택을** 클릭합니다**. + +7. 대상 리소스에서 **선택한** 대상 리소스 없음을 클릭하고**, 드롭다운에서 클라우드 앱**이 선택되어 있는지 **확인하고, [포함 **] 아래에서 **모든 클라우드 앱을** 선택합니다**.** + +8. 조건에서 선택한 0개의 조건을 클릭하고 **사용자 위험**에서 **구성**되지 않음을 클릭합니다**.****** 사용자 위험 블레이드에서 **구성**을 예**로 **설정합니다**.** + +9. **정책을 적용하는 데 필요한 사용자 위험 수준 구성**에서 **높음**을 선택합니다. + +10. **완료**를 클릭합니다. + +11. Access 컨트롤** 섹션의 **권한 부여** 아래에서 **선택한** 0개의 컨트롤을 클릭합니다**. 권한 부여 블레이드에서 **액세스 권한** 부여가 선택되어 있는지 **확인**합니다. + +12. **다단계 인증 필요** 및 **암호 변경 필요**를 선택합니다. + +13. **선택**을 클릭합니다. + +14. **세션에서** 선택한** 0개의 컨트롤을 클릭합니다**. 로그인 빈도**를 선택한 **다음 매번** 선택합니다**. + +15. **선택**을 클릭합니다. + +16. 사용 정책이** 보고서 전용**으로 **설정되어 있는지 확인**합니다. + +17. **만들기**를 클릭하여 정책을 사용하도록 설정합니다. + +#### 작업 3: 로그인 위험 정책 구성 + +1. **AdatumLab500-04** Microsoft Entra ID 테넌트 > **보안**** > 조건부 액세스> ****정책으로 찾습니다.** + +2. **+ 새 정책**을 선택합니다. + +3. **이름** 텍스트 상자에 다음 정책 이름을 입력하고 **AZ500Policy3**를 입력합니다. + +4. 할당** > **사용자** 아래에서 **선택한** 사용자 및 그룹 0을 클릭합니다.** + +5. 포함에서 사용자 및 그룹 선택을 클릭하고 **사용자 및 그룹을**** 클릭하고 **aaduser2** 및 **aaduser3**을 선택한 **다음 선택을** 클릭합니다**.**** + +6. 제외****에서 **사용자 및 그룹을** 클릭하고 aaduser1**을 선택하고 **선택을** 클릭합니다**. + +7. 대상 리소스에서 **선택한** 대상 리소스 없음을 클릭하고**, 드롭다운에서 클라우드 앱**이 선택되어 있는지 **확인하고, [포함 **] 아래에서 **모든 클라우드 앱을** 선택합니다**.** + +8. 조건에서 선택한 0개의 조건을 클릭하고 **로그인 위험**에서 **구성**되지 않음을 클릭합니다**.****** **로그인 위험** 블레이드에서 구성**을 예**로 **설정합니다**. + +9. **이 정책을 적용할 로그인 위험 수준 선택** 아래에서 **높음** 및 **중간**을 선택합니다. + +10. **완료**를 클릭합니다. + +11. Access 컨트롤** 섹션의 **권한 부여** 아래에서 **선택한** 0개의 컨트롤을 클릭합니다**. 권한 부여 블레이드에서 **액세스 권한** 부여가 선택되어 있는지 **확인**합니다. + +12. 다단계 인증** 필요를 선택합니다**. + +13. **선택**을 클릭합니다. + +14. **세션에서** 선택한** 0개의 컨트롤을 클릭합니다**. 로그인 빈도**를 선택한 **다음 매번** 선택합니다**. + +15. **선택**을 클릭합니다. + +16. 설정을 확인하고 **정책 사용**을 **켜기**로 설정합니다. + +17. **만들기**를 클릭하여 정책을 사용하도록 설정합니다. + +#### 작업 4: Microsoft Entra ID ID 보호 정책에 대한 위험 이벤트 시뮬레이션 + +> 이 작업을 시작하기 전에 연습 1에서 시작한 템플릿 배포가 완료되었는지 확인합니다. 배포에는 **az500-04-vm1**이라는 Azure VM이 포함됩니다. + +1. Azure Portal에서 디렉터리 + 구독 필터를 az500-04-vm1** Azure VM을 배포한 **Azure 구독과 연결된 Microsoft Entra ID 테넌트로 설정합니다 **.** + +2. Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **가상 머신**을 입력하고 **Enter** 키를 누릅니다. + +3. **가상 머신** 블레이드에서 **az500-04-vm1** 항목을 클릭합니다. + +4. **az500-04-vm1** 블레이드에서 커넥트** 클릭합니다**. RDP** 탭에 **있는지 확인합니다. + +5. **RDP 파일 다운로드**를 클릭한 후 원격 데스크톱을 통해 **az500-04-vm1** Azure VM에 연결합니다. 인증하라는 메시지가 표시되면 다음 자격 증명을 입력합니다. + + |설정|값| + |---|---| + |사용자 이름|**Student**| + |암호|**랩 04 > 연습 1 > 작업 1 > 9단계에서 만든 개인 암호를 사용하세요.**| + + >**참고**: 원격 데스크톱 세션과 **서버 관리자**가 로드될 때까지 기다립니다. + + >**참고**: 다음 단계는 원격 데스크톱 세션에서 **az500-04-vm1** Azure VM으로 수행됩니다. + +6. **서버 관리자**에서 **로컬 서버**를 클릭한 다음 **IE 보안 강화 구성**을 클릭합니다. + +7. **Internet Explorer 강화된 보안 구성** 대화 상자에서 두 옵션을 **해제**로 설정하고 **확인**을 클릭합니다. + +8. **Internet Explorer**를 시작하고 드롭다운 메뉴의 도구 모음에서 톱니 바퀴 아이콘을 클릭한 뒤 **안전**을 클릭한 다음 **InPrivate 브라우징**을 클릭합니다. + +9. InPrivate Internet Explorer 창에서 **https://www.torproject.org/projects/torbrowser.html.en** 의 Tor 브라우저 프로젝트로 이동합니다. + +10. 기본 설정으로 ToR 브라우저의 Windows 버전을 다운로드하고 설치합니다. + +11. 설치가 완료되면 ToR 브라우저를 시작하고, 초기 페이지에서 커넥트 옵션을 사용하고 **, 애플리케이션 액세스 패널 찾습니다****https://myapps.microsoft.com.** + +12. 메시지가 표시되면 **aaduser3** 계정으로 로그인을 시도합니다. + + >**참고**: **로그인이 차단되었음**이라는 메시지가 표시됩니다. 이 계정은 다단계 인증으로 구성되지 않았으므로 ToR 브라우저 사용과 관련된 로그인 위험이 증가하므로 필요합니다. + +13. ToR 브라우저에서 뒤로 화살표를 선택하여 이 랩의 앞부분에서 다단계 인증을 위해 만들고 구성한 aaduser1** 계정으로 **로그인합니다. + + >**참고**: 이번에는 **의심스러운 활동이 감지됨**이라는 메시지가 표시됩니다. 이 계정은 다단계 인증으로 구성되므로 다시 한 번 필요합니다. ToR 브라우저 사용과 관련한 로그인 위험이 증가하는 것을 고려하여 다단계 인증을 사용해야 합니다. + +14. **확인** 옵션을 사용하여 문자 또는 전화 통화로 ID를 확인할지 여부를 지정합니다. + +15. 확인을 완료하고 애플리케이션 액세스 패널에 성공적으로 로그인했는지 확인합니다. + +16. RDP 세션을 닫습니다. + + >**참고**: 이 시점에서 두 개의 다른 로그인을 시도했습니다. 다음으로, Azure ID 보호 보고서를 검토합니다. + +#### 작업 5: Microsoft Entra ID ID 보호 보고서 검토 + +이 작업에서는 ToR 브라우저 로그인에서 생성된 Microsoft Entra ID ID 보호 보고서를 검토합니다. + +1. Azure Portal로 돌아가서 디렉터리 + 구독** 필터를 사용하여 **AdatumLab500-04** Microsoft Entra ID 테넌트로 전환**합니다. + +2. **AdatumLab500-04** 블레이드의 **관리** 섹션에서 **보안**을 클릭합니다. + +3. **보안 \| 시작** 블레이드의 **보고** 섹션에서 **위험한 사용자**를 클릭합니다. + +4. 보고서를 검토하여 **aaduser3** 사용자 계정을 참조하는 항목이 있는지 확인합니다. + +5. **보안 \| 시작** 블레이드의 **보고** 섹션에서 **위험한 로그인**을 클릭합니다. + +6. 보고서를 검토하여 **aaduser3** 사용자 계정을 통한 로그인에 해당하는 항목이 있는지 확인합니다. + +7. **보고서**에서 **위험 검색**을 클릭합니다. + +8. 보고서를 검토하여 ToR 브라우저에서 생성된 익명 IP 주소의 로그인을 나타내는 항목이 있는지 확인합니다. + + >**참고**: 보고서에 위험이 표시되는 데 10~15분이 걸릴 수 있습니다. + +> **결과**: Microsoft Entra ID ID 보호를 사용하도록 설정하고, 사용자 위험 정책 및 로그인 위험 정책을 구성했으며, 위험 이벤트를 시뮬레이션하여 Microsoft Entra ID ID 보호 구성의 유효성을 검사했습니다. + +**리소스 정리** + +> 더 이상 사용하지 않는 ID 보호 리소스는 제거해야 합니다. + +다음 단계를 사용하여 AdatumLab500-04** Microsoft Entra ID 테넌트에서 **ID 보호 정책을 사용하지 않도록 설정합니다. + +1. Azure Portal에서 AdatumLab500-04** Microsoft Entra ID 테넌트 블레이드로 다시 **이동합니다. + +2. **AdatumLab500-04** 블레이드의 **관리** 섹션에서 **보안**을 클릭합니다. + +3. **보안 \| 시작** 블레이드의 **보호** 섹션에서 **ID 보호**를 클릭합니다. + +4. **ID 보호 \| 개요** 블레이드에서 **사용자 위험 정책**을 클릭합니다. + +5. ID 보호 \| 사용자 위험 정책** 블레이드에서 **정책 적용**을 **사용하지 않도록** 설정한 **다음 저장**을 클릭합니다**. + +6. **ID 보호 \| 사용자 위험 정책** 블레이드에서 로그인 위험 정책을 클릭합니다.**** + +7. ID 보호 \| 로그인 위험 정책** 블레이드에서 정책 적용**을 **사용하지 않도록** 설정한 **다음 저장**을 클릭합니다**.** + +다음 단계를 사용하여 랩의 앞 부분에서 프로비전한 Azure VM을 중지합니다. + +1. Azure Portal에서 디렉터리 + 구독 필터를 az500-04-vm1** Azure VM을 배포한 **Azure 구독과 연결된 Microsoft Entra ID 테넌트로 설정합니다 **.** + +2. Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **가상 머신**을 입력하고 **Enter** 키를 누릅니다. + +3. **가상 머신** 블레이드에서 **az500-04-vm1** 항목을 클릭합니다. + +4. **az500-04-vm1** 블레이드에서 **중지**를 클릭하고 확인하라는 메시지가 표시되면 **확인**을 클릭하세요. + +> PIM 랩에 종속성이 있기 때문에 이 랩에서 프로비전된 리소스는 제거하지 않습니다. diff --git a/Instructions/Labs/LAB_02_MFAConditionalAccessandMicrosoftEntraIDProtection.md b/Instructions/Labs/LAB_02_MFAConditionalAccessandMicrosoftEntraIDProtection.md index 5024322..0bfc780 100644 --- a/Instructions/Labs/LAB_02_MFAConditionalAccessandMicrosoftEntraIDProtection.md +++ b/Instructions/Labs/LAB_02_MFAConditionalAccessandMicrosoftEntraIDProtection.md @@ -343,7 +343,7 @@ Microsoft Entra ID 인증을 향상시키는 기능의 개념 증명을 만들 - 사용자** 아래에서 **선택한 사용자 및 그룹 0을** 클릭합니다**. 포함**의 오른쪽에서 사용자 및 그룹 선택 >> 사용자 및 그룹**** 선택 **검사 상자의 사용자 및 그룹** 선택 블레이드에서 **aaduser2** 검사 상자를 선택하고 **선택을** 클릭합니다**. - - 대상 리소스에서 선택한 대상 리소스 없음을 클릭하고 **앱** 선택을 클릭한 **다음 선택에서 [없음 **]을 클릭합니다**.****** 선택 블레이드에서 **Microsoft Azure 관리**용 **검사 상자를 선택하고 선택을** 클릭합니다**.** + - 대상 리소스에서 선택한 대상 리소스 없음을 클릭하고 **앱** 선택을 클릭한 **다음 선택에서 [없음 **]을 클릭합니다**.****** 선택** 블레이드에서 **Windows Azure 서비스 관리 API**에 대한 **검사 상자를 선택하고 선택을** 클릭합니다**. >**참고**: 이 정책이 Azure Portal에 대한 액세스에 영향을 미친다는 경고를 검토합니다. diff --git a/Instructions/Labs/LAB_03_ Configure your tenant for Microsoft Entra Verified ID.md b/Instructions/Labs/LAB_03_ Configure your tenant for Microsoft Entra Verified ID.md new file mode 100644 index 0000000..4c3bd3a --- /dev/null +++ b/Instructions/Labs/LAB_03_ Configure your tenant for Microsoft Entra Verified ID.md @@ -0,0 +1,237 @@ +--- +lab: + title: 03 - Microsoft Entra 확인된 ID 테넌트 구성 + module: Module 01 - Manage Identity and Access +--- +# 랩 03: Microsoft Entra 확인된 ID 테넌트 구성 +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +# Microsoft Entra Verified ID에 대한 테넌트 구성 + +>[!Note] +> Azure Active Directory 확인 가능한 자격 증명은 이제 Microsoft Entra 확인 ID이며 Microsoft Entra 제품군의 일부입니다. ID 솔루션의 [Microsoft Entra 제품군](https://aka.ms/EntraAnnouncement)에 대해 자세히 알아보고 [통합 Microsoft Entra 관리 센터](https://entra.microsoft.com)에서 시작합니다. + +Microsoft Entra Verified ID는 조직을 보호할 수 있도록 하는 탈중앙화 ID 솔루션입니다. 이 서비스를 사용하면 자격 증명을 발급하고 확인할 수 있습니다. 발급자는 Verified ID 서비스를 사용하여 자신의 사용자 지정 확인 가능한 자격 증명을 발급할 수 있습니다. 검증 도구는 서비스의 무료 REST API를 사용하여 앱 및 서비스에서 확인 가능한 자격 증명을 쉽게 요청하고 수락할 수 있습니다. 두 경우 모두 Azure AD 테넌트가 자체 확인 가능한 자격 증명을 발급하거나 타사에서 발급한 사용자의 확인 가능한 자격 증명을 표시하도록 구성해야 합니다. 발급자 및 검증 도구인 경우 단일 Azure AD 테넌트를 사용하여 자체 확인 가능한 자격 증명을 발급하고 다른 사용자의 자격 증명을 확인할 수 있습니다. + +이 자습서에서는 검증 가능한 자격 증명 서비스를 사용하도록 Azure AD 테넌트를 구성하는 방법을 알아봅니다. + +특히 다음 방법을 알아봅니다. + +> - Azure Key Vault 인스턴스를 만듭니다. +> - 확인된 ID 서비스를 설정합니다. +> - Azure AD에서 애플리케이션을 등록합니다. +> - DID(탈중앙화 ID)에 대한 도메인 소유권 확인 + +다음 다이어그램은 Verified ID 아키텍처와 구성하는 구성 요소를 보여 줍니다. + +![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/8d4d01c2-3110-421a-91a8-7b052bc8d793) + + +## 필수 조건 + +- 구성하려는 디렉터리에 대한 전역 관리자 또는 인증 정책 관리자 권한이 있어야 합니다. 전역 관리자가 아닌 경우 관리자 동의 부여를 포함하여 앱 등록을 완료하려면 애플리케이션 관리자 권한이 필요합니다. +- Azure 구독 또는 Azure Key Vault를 배포할 리소스 그룹에 대한 기여자 역할이 있는지 확인합니다. + +## 키 자격 증명 모음 만들기 + +Azure Key Vault는 비밀 및 키의 보안 스토리지 및 액세스를 가능하게 하는 클라우드 서비스입니다. Verified ID 서비스는 Azure Key Vault에 공용 및 프라이빗 키를 저장합니다. 이러한 키는 자격 증명에 서명하고 확인하는 데 사용됩니다. + +### Azure Portal을 사용하여 Azure Key Vault를 만듭니다. + +1. 브라우저 세션을 시작하고 Azure Portal 메뉴에 [로그인합니다.](https://portal.azure.com/) + +2. Azure Portal 검색 상자에 Key Vault를 입력 **합니다.** + +3. 결과 목록에서 **Key Vault**를 선택합니다. + +4. 키 자격 증명 모음 섹션에서 만들기를 선택합니다 **.** + +5. **키** 자격 증명 모음 만들기의 **기본 사항** 탭에서 다음 정보를 입력하거나 선택합니다. + + |설정|값| + |---|---| + |**프로젝트 세부 정보**| + |Subscription|구독을 선택합니다.| + |Resource group|azure-rg-1을 입력합니다 **.** **확인**을 선택합니다.| + |**인스턴스 세부 정보**| + |키 자격 증명 모음 이름|Contoso-vault2를 입력 **합니다.**| + |지역|**미국 동부**를 선택합니다.| + |가격 책정 계층|시스템 기본 **표준**| + |삭제된 자격 증명 모음 보존 일수|시스템 기본값 **90**| + +6. 검토 + 만들기 탭**을 **선택하거나 페이지 아래쪽에 있는 파란색 검토 + 만들기 단추를 선택합니다. + +7. **만들기**를 실행합니다. + +다음 두 가지 속성에 유의합니다. + +* **자격 증명 모음 이름**: 예제에서 Contoso-Vault2**입니다**. 다른 단계에서는 이 이름을 사용합니다. +* **자격 증명 모음 URI**: 예제에서 자격 증명 모음 URI는 `https://contoso-vault2.vault.azure.net/`. REST API를 통해 자격 증명 모음을 사용하는 애플리케이션은 이 URI를 사용해야 합니다. + +이때 사용자의 Azure 계정은 이 새 자격 증명 모음에서 작업을 수행할 권한이 있는 유일한 계정입니다. + +>[!NOTE] +>기본적으로 자격 증명 모음을 만드는 계정에만 액세스 권한이 있습니다. Verified ID 서비스는 키 자격 증명 모음에 대한 액세스 권한이 필요합니다. 구성 중에 사용된 계정이 키를 만들고 삭제할 수 있도록 하는 액세스 정책으로 키 자격 증명 모음을 구성해야 합니다. 구성 중에 사용되는 계정에는 Verified ID에 대한 도메인 바인딩을 만들 수 있도록 서명 권한도 필요합니다. 테스트하는 동안 동일한 계정을 사용하는 경우에는 자격 증명 모음 생성자에게 부여된 기본 권한 외에도 계정 서명 권한을 부여하도록 기본 정책을 수정합니다. + +### Key Vault에 대한 액세스 정책 설정 + +Key Vault는 지정된 보안 주체가 Key Vault 비밀 및 키에 대한 작업을 수행할 수 있는지 여부를 정의합니다. Verified ID 서비스 관리자 계정과 만든 Request Service API 보안 주체 모두에 대해 키 자격 증명 모음에서 액세스 정책을 설정합니다. +Key Vault를 만든 후 확인 가능한 자격 증명은 메시지 보안을 제공하는 데 사용되는 키 집합을 생성합니다. 이러한 키는 Key Vault에 저장됩니다. 확인 가능한 자격 증명을 서명, 업데이트 및 복구하는 데 키 집합을 사용합니다. + +### Verified ID Admin 사용자에 대한 액세스 정책 설정 + +1. [Azure Portal](https://portal.azure.com)에 로그인합니다. + +2. 이 자습서에 사용하는 키 자격 증명 모음으로 이동합니다. + +3. **설정**에서 **액세스 정책**을 선택합니다. + +4. **액세스 정책 추가**의 **사용자** 아래에서 이 자습서를 수행하는 데 사용할 계정을 선택합니다. + +5. **키 권한**에 대해 **가져오기**, **만들기**, **삭제**, **서명** 권한이 선택되어 있는지 확인합니다. 기본적으로 **만들기**와 **삭제**는 이미 사용하도록 설정되어 있습니다. **서명** 키 권한만 업데이트하면 됩니다. + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/7c8a92ea-24f1-41e6-9656-869e8486af72) + + +6. 변경 내용을 저장하려면 **저장**을 선택합니다. + +## Verified ID 설정 + +![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/b4b857a2-24b8-4c3f-9f5c-43d23b58427f) + + +Verified ID를 설정하려면 다음 단계를 따릅니다. + +1. [Azure Portal](https://portal.azure.com)에 로그인합니다. + +2. 확인된 ID*를 *검색합니다. 그런 다음 **Verified ID**를 선택합니다. + +3. 왼쪽 메뉴에서 **설치**를 선택합니다. + +4. 가운데 메뉴에서 조직 설정 정의를 선택합니다 **.** + +5. 다음 정보를 제공하여 조직을 설정합니다. + + 1. **조직 이름**: 확인된 ID 내에서 비즈니스를 참조할 이름을 입력합니다. 고객에게는 이 이름이 표시되지 않습니다. + + 1. **신뢰할 수 있는 도메인**: DID(탈중앙화 ID) 문서의 서비스 엔드포인트에 추가되는 도메인을 입력합니다. 도메인은 DID를 사용자가 해당 비즈니스에 대해 알 수 있는 유형의 무언가에 바인딩하는 것입니다. Microsoft Authenticator 및 기타 디지털 지갑에서 이 정보를 사용하여 DID가 도메인에 연결되어 있는지 확인합니다. 월렛이 DID를 확인할 수 있으면 확인된 기호가 표시됩니다. 월렛이 DID를 확인할 수 없는 경우 유효성을 검사할 수 없는 조직에서 자격 증명이 발급되었음을 사용자에게 알립니다. + + >[!IMPORTANT] + > 도메인은 리디렉션이 될 수 없습니다. 리디렉션이 가능한 경우에는 DID와 도메인을 연결할 수 없습니다. HTTPS를 도메인에 사용해야 합니다. 예: `https://did.woodgrove.com` + + 1. **Key Vault**: 이전에 만든 키 자격 증명 모음을 선택합니다. + + 1. **고급**에서 테넌트에 사용할 **트러스트 시스템**을 선택할 수 있습니다. **웹** 또는 **ION** 중에서 선택할 수 있습니다. 웹은 테넌트가 [did:web](https://w3c-ccg.github.io/did-method-web/)을 did 메서드로 사용한다는 것을 의미하고 ION이 [did:ion](https://identity.foundation/ion/)을 사용한다는 것을 의미합니다. + + >[!IMPORTANT] + > 트러스트 시스템을 변경하는 유일한 방법은 확인된 ID 서비스를 옵트아웃하고 온보딩을 다시 수행하는 것입니다. + +1. **저장**을 선택합니다. + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/b191676e-03e3-423f-aa28-1e3d2887ea07) + + +### 확인된 ID 서비스 주체에 대한 액세스 정책 설정 + +이전 단계에서 확인된 ID를 설정하면 Azure Key Vault의 액세스 정책이 자동으로 업데이트되어 확인된 ID에 대한 서비스 주체에게 필요한 권한을 부여합니다. +사용 권한을 수동으로 다시 설정해야 하는 경우 액세스 정책은 다음과 같습니다. + +| 서비스 주체 | AppId | 키 권한 | +| -------- | -------- | -------- | +| 확인 가능한 자격 증명 서비스 | bb2a64ee-5d29-4b07-a491-25806dc854d3 | 가져오기, 서명 | +| 확인 가능한 자격 증명 서비스 요청 | 3db474b9-6a0c-4840-96ac-1fceb342124f | Sign | + + + +![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/896b8ea0-b88b-43b8-a93b-4771defedfde) + + +## Azure AD에서 애플리케이션 등록 + +애플리케이션은 자격 증명을 발급하거나 확인할 수 있도록 Microsoft Entra Verified ID를 호출하려는 경우 액세스 토큰을 가져와야 합니다. 액세스 토큰을 받기 위해서는 웹 애플리케이션을 등록하고 Verified ID 요청 서비스에 대한 API 권한을 부여해야 합니다. 예를 들어 웹 애플리케이션에 대해 다음 단계를 사용합니다. + +1. 관리자 계정으로 [Azure Portal](https://portal.azure.com)에 로그인합니다. + +1. 여러 테넌트에 대한 액세스 권한이 있는 경우 **디렉터리 + 구독**을 선택합니다. 그런 다음, **Azure Active Directory**를 검색하여 선택합니다. + +1. **관리** 아래에서 **앱 등록** > **새 등록**을 선택합니다. + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/03ca3d13-5564-4ce2-b42c-f8333bc97fb5) + + +1. 애플리케이션의 표시 이름을 입력합니다. 예를 들어 *verifiable-credentials-app*과 같습니다. + +1. **지원되는 계정 유형**에 대해 **이 조직 디렉터리의 계정만(기본 디렉터리만 - 단일 테넌트)** 을 선택합니다. + +1. **등록**을 선택하여 애플리케이션을 만듭니다. + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/d0a15737-c8a9-4522-990d-1cf6bc12cc1e) + + +### 액세스 토큰을 얻을 수 있는 권한 부여 + +이 단계에서는 권한을 **확인 가능한 자격 증명 서비스 요청** 서비스 주체에 부여합니다. + +필요한 권한을 추가하려면 다음 단계를 수행합니다. + +1. **verifiable-credentials-app** 애플리케이션 세부 정보 페이지에 남아 있습니다. **API 권한** > **권한 추가**를 선택합니다. + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/adf97022-2081-4273-8d61-f2b53628e989) + +1. **조직에서 사용하는 API** 선택. + +1. **확인 가능한 자격 증명 서비스 요청** 서비스 주체를 검색하고 선택합니다. + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/01691eb2-ab7f-4778-9911-342eb9350f99) + +1. **애플리케이션 권한**을 선택하고, **VerifiableCredential.Create.All**을 펼칩니다. + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/3c5e008e-2ba5-417a-90ff-22e8f622ad34) + + +1. **권한 추가**를 선택합니다. + +1. 에 대한 관리자 동의 부여를 \**선택합니다**. + +범위를 다른 애플리케이션으로 분리하려는 경우 발급 및 프레젠테이션 권한을 별도로 부여하도록 선택할 수 있습니다. + +![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/640def45-e666-423e-bf69-598e8980b125) + +## 탈중앙화 ID 등록 및 도메인 소유권 확인 + +Azure Key Vault가 설정되고 서비스에 서명 키가 있으면 설정에서 2단계와 3단계를 완료해야 합니다. + +![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/40e10177-b025-4d10-b16a-d66c06762c3f) + +1. Azure Portal에서 확인된 ID 서비스로 이동합니다. +1. 왼쪽 메뉴에서 **설치**를 선택합니다. +1. 가운데 메뉴에서 소유권 확인을 선택합니다**기본**. + +# DID(탈중앙화 ID)에 대한 도메인 소유권 확인 + +## 도메인 소유권 확인 및 did-configuration.json 파일 배포 + +이 도메인의 경우 도메인을 사용자가 제어해야 하며 `https://www.example.com/` 형식이어야 합니다. + +1. Azure Portal에서 Verified ID 페이지로 이동합니다. + +1. **설치**를 선택한 다음, **도메인 소유권 확인**을 선택하고 도메인에 대해 **확인**을 선택합니다. + +1. `did-configuration.json` 파일을 복사하거나 다운로드합니다. + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/342fa12f-2d0d-40cf-a2f9-8796a86f0824) + +1. `did-configuration.json` 파일을 지정된 위치에 호스트합니다. 예: 도메인 `https://www.example.com`을 지정한 경우 이 URL `https://www.example.com/.well-known/did-configuration.json`에서 파일을 호스트해야 합니다. + URL에는 `.well-known path` 이름 이외의 추가 경로가 있을 수 없습니다. + +1. `did-configuration.json`을 .well-known/did-configuration.json URL에서 공개적으로 사용할 수 있는 경우 **확인 상태 새로 고침** 단추를 눌러 확인합니다. + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/49a06251-af56-49b2-9059-0bd4ca678da6) + +> 결과: Azure Key Vault 인스턴스를 성공적으로 만들고, 확인된 ID 서비스를 설정하고, Azure AD에 애플리케이션을 등록하고, DID(탈중앙화 식별자)에 대한 소유권을 확인했습니다기본. + +**리소스 정리** + +> 더 이상 사용하지 않는 새로 만든 Azure 리소스는 모두 제거하세요. 사용하지 않는 리소스를 제거하면 예상하지 못한 비용이 발생하지 않습니다. diff --git a/Instructions/Labs/LAB_03_AzureLocks.md b/Instructions/Labs/LAB_03_AzureLocks.md new file mode 100644 index 0000000..ead3fcb --- /dev/null +++ b/Instructions/Labs/LAB_03_AzureLocks.md @@ -0,0 +1,187 @@ +--- +lab: + title: 03 - Resource Manager 잠금 + module: Module 01 - Manage Identity and Access +--- + +# 랩 03: Resource Manager 잠금 +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +실수로 삭제되거나 변경되는 것을 방지하기 위해 리소스 잠금을 사용하는 방법을 보여주는 개념 증명을 만들어야 합니다. 특히, 다음과 같은 내용이 필요합니다. + +- 읽기 전용 잠금 만들기 + +- 삭제 잠금 만들기 + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다. + +- 연습 1: Resource Manager 잠금 + +## Resource Manager 잠금 다이어그램 + +![이미지](https://user-images.githubusercontent.com/91347931/157514986-1bf6a9ea-4c7f-4487-bcd7-542648f8dc95.png) + +## Instructions + +### 연습 1: Resource Manager 잠금 + +#### 예상 소요 시간: 20분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: 스토리지 계정이 있는 리소스 그룹을 만듭니다. +- 작업 2: 스토리지 계정에 읽기 전용 잠금을 추가합니다. +- 작업 3: 읽기 전용 잠금을 테스트합니다. +- 작업 4: ReadOnly 잠금을 제거하고 삭제 잠금을 만듭니다. +- 작업 5: 삭제 잠금을 테스트합니다. + +#### 작업 1: 스토리지 계정이 있는 리소스 그룹을 만듭니다. + +이 작업에서는 랩에 대한 리소스 그룹 및 스토리지 계정을 만듭니다. + +1. Azure Portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에 사용 중인 Azure 구독에 Owner 또는 Contributor 역할이 있는 계정을 사용하여 Azure Portal에 로그인합니다. + +1. Azure Portal 오른쪽 상단에 있는 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. 메시지가 표시되면 **PowerShell** 및 **스토리지 만들기**를 선택합니다. + +1. Cloud Shell 창의 왼쪽 위 모서리에 있는 드롭다운 메뉴에서 **PowerShell**이 선택되었는지 확인합니다. + +1. Cloud Shell 창의 PowerShell 세션에서 다음을 실행하여 리소스 그룹을 만듭니다(위치 매개 변수 값에 대해 강사와 함께 확인). + + ```powershell + New-AzResourceGroup -Name AZ500LAB03 -Location 'EastUS' + + Confirm + Provided resource group already exists. Are you sure you want to update it? + [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y + ``` +1. Cloud Shell 창 내의 PowerShell 세션에서 **Y**를 입력하고 Enter 키를 누릅니다. + +1. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 새로 만든 리소스 그룹에 스토리지 계정을 만듭니다. + + ```powershell + New-AzStorageAccount -ResourceGroupName AZ500LAB03 -Name (Get-Random -Maximum 999999999999999) -Location EastUS -SkuName Standard_LRS -Kind StorageV2 + ``` + + >**참고**: 스토리지 계정이 생성될 때까지 기다립니다. 이 과정은 몇 분 정도 걸릴 수 있습니다. + +1. Cloud Shell 창을 닫습니다. + +#### 작업 2: 스토리지 계정에 읽기 전용 잠금을 추가합니다. + +이 작업에서는 스토리지 계정에 읽기 전용 잠금만 추가합니다. 이를 통해 실수로 삭제하거나 수정하지 않도록 리소스를 보호합니다. + +1. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **리소스 그룹**을 입력하고 **Enter** 키를 누릅니다. + +1. **리소스 그룹** 블레이드에서 **AZ500LAB03** 리소스 그룹 항목을 선택합니다. + +1. **AZ500LAB03** 리소스 그룹 블레이드의 리소스 목록에서 새 스토리지 계정을 선택합니다. + +1. **설정** 섹션에서 "잠금" 아이콘을 클릭합니다. + +1. **+ 추가**를 클릭하고 다음 설정을 지정합니다. + + |설정|값| + |---|---| + |잠금 이름|**ReadOnly 잠금**| + |잠금 유형|**읽기 전용**| + +1. **확인**을 클릭합니다. + + >**참고**: 이제 스토리지 계정은 실수로 삭제 및 수정되지 않도록 보호됩니다. + +#### 작업 3: 읽기 전용 잠금 테스트 + +1. 스토리지 계정 블레이드의 **설정** 섹션에서 **구성**을 클릭합니다. + +1. **보안 전송 필수** 옵션을 **사용 안 함**로 설정한 다음 **저장**을 클릭합니다. + +1. **스토리지 계정을 업데이트하지 못했습니다**라는 알림이 표시되어야 합니다. + +1. Azure Portal 상단의 도구 모음에서 **알림** 아이콘을 클릭하고 다음 텍스트와 유사한 알림을 검토합니다. + + > **"'xxxxxxxx' 스토리지 계정을 업데이트하지 못했습니다. Error: 다음 범위가 잠겨 있기 때문에 범위 'xxxxxxxx'가 쓰기 작업을 수행할 수 없습니다: '/subscriptions/xxxxx-xxx-xxxx-xxxx-xxxxxxxx/resourceGroups/AZ500LAB03/providers/Microsoft.Storage/storageAccounts/xxxxxxx'. 잠금을 제거하고 다시 시도하세요"** + +1. 스토리지 계정의 **구성** 블레이드를 반환하고 **삭제**를 클릭합니다. + +1. 스토리지 계정 블레이드에서 **개요**를 선택하고 **개요** 블레이드에서 **삭제**를 클릭합니다. + +1. **스토리지 계정 삭제** 블레이드에서 스토리지 계정 이름을 입력하여 진행할지 확인한 다음 **삭제**를 클릭합니다. + +1. 다음 텍스트와 유사한 새로 생성된 알림을 검토합니다. + + > **"'xxxxxxx' 스토리지 계정을 삭제하지 못했습니다. Error: 다음 범위가 잠겨 있기 때문에 범위 'xxxxxxxx'가 삭제 작업을 수행할 수 없습니다: '/subscriptions/xxxx-xxxx-xxxx-xxxx-xxxxxx/resourceGroups/AZ500LAB03/providers/Microsoft.Storage/storageAccounts/xxxxxxx'. 잠금을 제거하고 다시 시도하세요."** + + >**참고**: 이제 ReadOnly 잠금으로 인해 실수로 리소스가 삭제 및 수정되지 않음을 확인했습니다. + +#### 작업 4: ReadOnly 잠금을 제거하고 삭제 잠금을 만듭니다. + +이 작업에서는 스토리지 계정에서 읽기 전용 잠금을 제거하고 잠금 삭제를 만듭니다. + +1. Azure Portal에서, 새로 만들어진 스토리지 계정의 속성을 나타내는 블레이드로 다시 이동합니다. + +1. **설정** 섹션에서 **잠금**을 선택합니다. + +1. **잠금** 블레이드에서 **읽기 전용 잠금** 항목의 맨 오른쪽에 있는 **삭제** 아이콘을 클릭합니다. + +1. **+ 추가**를 클릭하고 다음 설정을 지정합니다. + + |설정|값| + |---|---| + |잠금 이름|**삭제 잠금**| + |잠금 유형|**Delete**| + +1. **확인**을 클릭합니다. + +#### 작업 5: 삭제 잠금을 테스트합니다. + +이 작업에서는 삭제 잠금을 테스트합니다. 스토리지 계정을 수정할 수는 있지만 삭제하지는 않아야 합니다. + +1. 스토리지 계정 블레이드의 **설정** 섹션에서 **구성**을 클릭합니다. + +1. **보안 전송 필수** 옵션을 **사용 안 함**로 설정한 다음 **저장**을 클릭합니다. + + >**참고**: 이번에는 변경을 완료해야 합니다. + +1. 스토리지 계정 블레이드에서 **개요**를 선택하고 **개요** 블레이드에서 **삭제**를 클릭합니다. + +1. 다음 텍스트와 비슷한 내용의 알림을 검토합니다. + + > **이 리소스 또는 부모에 삭제 잠금이 있기 때문에 'xxxxxx'를 삭제할 수 없습니다. 이 리소스를 삭제하려면 먼저 잠금을 제거해야 합니다."** + + >**참고**: 이제 **삭제** 잠금이 구성 변경을 허용하지만 실수로 삭제되지 않도록 하는 것을 확인했습니다. + + >**참고**: 리소스 잠금을 사용하면 실수로 인한/악의적인 가장 중요한 리소스 변경 및/또는 삭제를 추가로 방어할 수 있습니다. **Owner** 역할을 하는 모든 사용자가 리소스 잠금을 제거할 수 있지만 이를 위해서는 의식적인 노력이 필요합니다. 잠금은 역할 기반 액세스 제어를 보완합니다. + +> 결과: 이 연습에서는 Resource Manager 잠금을 사용하여 수정 및 실수로 삭제되지 않도록 리소스를 보호하는 방법을 배웠습니다. + +**리소스 정리** + +> 더 이상 사용하지 않는 새로 만든 Azure 리소스는 모두 제거하세요. 사용하지 않는 리소스를 제거하면 예상하지 못한 비용이 발생하지 않습니다. + +1. Azure Portal 오른쪽 위의 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. 메시지가 표시되면 **다시 연결**을 클릭합니다. + +1. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 Delete Lock을 제거합니다. + + ```powershell + $storageaccountname = (Get-AzStorageAccount -ResourceGroupName AZ500LAB03).StorageAccountName + + $lockName = (Get-AzResourceLock -ResourceGroupName AZ500LAB03 -ResourceName $storageAccountName -ResourceType Microsoft.Storage/storageAccounts).Name + + Remove-AzResourceLock -LockName $lockName -ResourceName $storageAccountName -ResourceGroupName AZ500LAB03 -ResourceType Microsoft.Storage/storageAccounts -Force + ``` + +1. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 리소스 그룹을 제거합니다. + + ```powershell + Remove-AzResourceGroup -Name "AZ500LAB03" -Force -AsJob + ``` + +1. **Cloud Shell** 창을 닫습니다. diff --git a/Instructions/Labs/LAB_04_AzureLocks.md b/Instructions/Labs/LAB_04_AzureLocks.md new file mode 100644 index 0000000..5da65a9 --- /dev/null +++ b/Instructions/Labs/LAB_04_AzureLocks.md @@ -0,0 +1,187 @@ +--- +lab: + title: 04 - Resource Manager 잠금 + module: Module 01 - Manage Identity and Access +--- + +# 랩 04: Resource Manager 잠금 +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +실수로 삭제되거나 변경되는 것을 방지하기 위해 리소스 잠금을 사용하는 방법을 보여주는 개념 증명을 만들어야 합니다. 특히, 다음과 같은 내용이 필요합니다. + +- 읽기 전용 잠금 만들기 + +- 삭제 잠금 만들기 + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다. + +- 연습 1: Resource Manager 잠금 + +## Resource Manager 잠금 다이어그램 + +![이미지](https://user-images.githubusercontent.com/91347931/157514986-1bf6a9ea-4c7f-4487-bcd7-542648f8dc95.png) + +## Instructions + +### 연습 1: Resource Manager 잠금 + +#### 예상 소요 시간: 20분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: 스토리지 계정이 있는 리소스 그룹을 만듭니다. +- 작업 2: 스토리지 계정에 읽기 전용 잠금을 추가합니다. +- 작업 3: 읽기 전용 잠금을 테스트합니다. +- 작업 4: ReadOnly 잠금을 제거하고 삭제 잠금을 만듭니다. +- 작업 5: 삭제 잠금을 테스트합니다. + +#### 작업 1: 스토리지 계정이 있는 리소스 그룹을 만듭니다. + +이 작업에서는 랩에 대한 리소스 그룹 및 스토리지 계정을 만듭니다. + +1. Azure Portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에 사용 중인 Azure 구독에 Owner 또는 Contributor 역할이 있는 계정을 사용하여 Azure Portal에 로그인합니다. + +1. Azure Portal 오른쪽 상단에 있는 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. 메시지가 표시되면 **PowerShell** 및 **스토리지 만들기**를 선택합니다. + +1. Cloud Shell 창의 왼쪽 위 모서리에 있는 드롭다운 메뉴에서 **PowerShell**이 선택되었는지 확인합니다. + +1. Cloud Shell 창의 PowerShell 세션에서 다음을 실행하여 리소스 그룹을 만듭니다(위치 매개 변수 값에 대해 강사와 함께 확인). + + ```powershell + New-AzResourceGroup -Name AZ500LAB03 -Location 'EastUS' + + Confirm + Provided resource group already exists. Are you sure you want to update it? + [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y + ``` +1. Cloud Shell 창 내의 PowerShell 세션에서 **Y**를 입력하고 Enter 키를 누릅니다. + +1. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 새로 만든 리소스 그룹에 스토리지 계정을 만듭니다. + + ```powershell + New-AzStorageAccount -ResourceGroupName AZ500LAB03 -Name (Get-Random -Maximum 999999999999999) -Location EastUS -SkuName Standard_LRS -Kind StorageV2 + ``` + + >**참고**: 스토리지 계정이 생성될 때까지 기다립니다. 이 과정은 몇 분 정도 걸릴 수 있습니다. + +1. Cloud Shell 창을 닫습니다. + +#### 작업 2: 스토리지 계정에 읽기 전용 잠금을 추가합니다. + +이 작업에서는 스토리지 계정에 읽기 전용 잠금만 추가합니다. 이를 통해 실수로 삭제하거나 수정하지 않도록 리소스를 보호합니다. + +1. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **리소스 그룹**을 입력하고 **Enter** 키를 누릅니다. + +1. **리소스 그룹** 블레이드에서 **AZ500LAB03** 리소스 그룹 항목을 선택합니다. + +1. **AZ500LAB03** 리소스 그룹 블레이드의 리소스 목록에서 새 스토리지 계정을 선택합니다. + +1. **설정** 섹션에서 "잠금" 아이콘을 클릭합니다. + +1. **+ 추가**를 클릭하고 다음 설정을 지정합니다. + + |설정|값| + |---|---| + |잠금 이름|**ReadOnly 잠금**| + |잠금 유형|**읽기 전용**| + +1. **확인**을 클릭합니다. + + >**참고**: 이제 스토리지 계정은 실수로 삭제 및 수정되지 않도록 보호됩니다. + +#### 작업 3: 읽기 전용 잠금 테스트 + +1. 스토리지 계정 블레이드의 **설정** 섹션에서 **구성**을 클릭합니다. + +1. **보안 전송 필수** 옵션을 **사용 안 함**로 설정한 다음 **저장**을 클릭합니다. + +1. **스토리지 계정을 업데이트하지 못했습니다**라는 알림이 표시되어야 합니다. + +1. Azure Portal 상단의 도구 모음에서 **알림** 아이콘을 클릭하고 다음 텍스트와 유사한 알림을 검토합니다. + + > **"'xxxxxxxx' 스토리지 계정을 업데이트하지 못했습니다. Error: 다음 범위가 잠겨 있기 때문에 범위 'xxxxxxxx'가 쓰기 작업을 수행할 수 없습니다: '/subscriptions/xxxxx-xxx-xxxx-xxxx-xxxxxxxx/resourceGroups/AZ500LAB03/providers/Microsoft.Storage/storageAccounts/xxxxxxx'. 잠금을 제거하고 다시 시도하세요"** + +1. 스토리지 계정의 **구성** 블레이드를 반환하고 **삭제**를 클릭합니다. + +1. 스토리지 계정 블레이드에서 **개요**를 선택하고 **개요** 블레이드에서 **삭제**를 클릭합니다. + +1. **스토리지 계정 삭제** 블레이드에서 스토리지 계정 이름을 입력하여 진행할지 확인한 다음 **삭제**를 클릭합니다. + +1. 다음 텍스트와 유사한 새로 생성된 알림을 검토합니다. + + > **"'xxxxxxx' 스토리지 계정을 삭제하지 못했습니다. Error: 다음 범위가 잠겨 있기 때문에 범위 'xxxxxxxx'가 삭제 작업을 수행할 수 없습니다: '/subscriptions/xxxx-xxxx-xxxx-xxxx-xxxxxx/resourceGroups/AZ500LAB03/providers/Microsoft.Storage/storageAccounts/xxxxxxx'. 잠금을 제거하고 다시 시도하세요."** + + >**참고**: 이제 ReadOnly 잠금으로 인해 실수로 리소스가 삭제 및 수정되지 않음을 확인했습니다. + +#### 작업 4: ReadOnly 잠금을 제거하고 삭제 잠금을 만듭니다. + +이 작업에서는 스토리지 계정에서 읽기 전용 잠금을 제거하고 잠금 삭제를 만듭니다. + +1. Azure Portal에서, 새로 만들어진 스토리지 계정의 속성을 나타내는 블레이드로 다시 이동합니다. + +1. **설정** 섹션에서 **잠금**을 선택합니다. + +1. **잠금** 블레이드에서 **읽기 전용 잠금** 항목의 맨 오른쪽에 있는 **삭제** 아이콘을 클릭합니다. + +1. **+ 추가**를 클릭하고 다음 설정을 지정합니다. + + |설정|값| + |---|---| + |잠금 이름|**삭제 잠금**| + |잠금 유형|**Delete**| + +1. **확인**을 클릭합니다. + +#### 작업 5: 삭제 잠금을 테스트합니다. + +이 작업에서는 삭제 잠금을 테스트합니다. 스토리지 계정을 수정할 수는 있지만 삭제하지는 않아야 합니다. + +1. 스토리지 계정 블레이드의 **설정** 섹션에서 **구성**을 클릭합니다. + +1. **보안 전송 필수** 옵션을 **사용 안 함**로 설정한 다음 **저장**을 클릭합니다. + + >**참고**: 이번에는 변경을 완료해야 합니다. + +1. 스토리지 계정 블레이드에서 **개요**를 선택하고 **개요** 블레이드에서 **삭제**를 클릭합니다. + +1. 다음 텍스트와 비슷한 내용의 알림을 검토합니다. + + > **이 리소스 또는 부모에 삭제 잠금이 있기 때문에 'xxxxxx'를 삭제할 수 없습니다. 이 리소스를 삭제하려면 먼저 잠금을 제거해야 합니다."** + + >**참고**: 이제 **삭제** 잠금이 구성 변경을 허용하지만 실수로 삭제되지 않도록 하는 것을 확인했습니다. + + >**참고**: 리소스 잠금을 사용하면 실수로 인한/악의적인 가장 중요한 리소스 변경 및/또는 삭제를 추가로 방어할 수 있습니다. **Owner** 역할을 하는 모든 사용자가 리소스 잠금을 제거할 수 있지만 이를 위해서는 의식적인 노력이 필요합니다. 잠금은 역할 기반 액세스 제어를 보완합니다. + +> 결과: 이 연습에서는 Resource Manager 잠금을 사용하여 수정 및 실수로 삭제되지 않도록 리소스를 보호하는 방법을 배웠습니다. + +**리소스 정리** + +> 더 이상 사용하지 않는 새로 만든 Azure 리소스는 모두 제거하세요. 사용하지 않는 리소스를 제거하면 예상하지 못한 비용이 발생하지 않습니다. + +1. Azure Portal 오른쪽 위의 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. 메시지가 표시되면 **다시 연결**을 클릭합니다. + +1. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 Delete Lock을 제거합니다. + + ```powershell + $storageaccountname = (Get-AzStorageAccount -ResourceGroupName AZ500LAB03).StorageAccountName + + $lockName = (Get-AzResourceLock -ResourceGroupName AZ500LAB03 -ResourceName $storageAccountName -ResourceType Microsoft.Storage/storageAccounts).Name + + Remove-AzResourceLock -LockName $lockName -ResourceName $storageAccountName -ResourceGroupName AZ500LAB03 -ResourceType Microsoft.Storage/storageAccounts -Force + ``` + +1. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 리소스 그룹을 제거합니다. + + ```powershell + Remove-AzResourceGroup -Name "AZ500LAB03" -Force -AsJob + ``` + +1. **Cloud Shell** 창을 닫습니다. diff --git a/Instructions/Labs/LAB_04_MFAConditionalAccessandAADIdentityProtection.md b/Instructions/Labs/LAB_04_MFAConditionalAccessandAADIdentityProtection.md new file mode 100644 index 0000000..5a0f69d --- /dev/null +++ b/Instructions/Labs/LAB_04_MFAConditionalAccessandAADIdentityProtection.md @@ -0,0 +1,605 @@ +--- +lab: + title: 04 - MFA 및 조건부 액세스 + module: Module 01 - Manage Identity and Access +--- + +# 랩 04: MFA 및 조건부 액세스 +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +Microsoft Entra ID 인증을 향상시키는 기능의 개념 증명을 만들라는 요청을 받았습니다. 특히 다음을 평가하려고 합니다. + +- Microsoft Entra ID 다단계 인증 +- Microsoft Entra ID 조건부 액세스 +- Microsoft Entra ID 조건부 액세스 위험 기반 정책 + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다: + +- 연습 1: Azure 리소스 관리자 템플릿을 사용하여 Azure VM을 배포합니다 +- 연습 2: Azure MFA 구현 +- 연습 3: Microsoft Entra ID 조건부 액세스 정책 구현 +- 연습 4: Microsoft Entra ID ID 보호 구현 + +## MFA - 조건부 액세스 - ID 보호 다이어그램 + +![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/246a3798-6f50-4a41-99c2-71e9ab6a4c8f) + +## Instructions + +## 랩 파일: + +- **\\Allfiles\\Labs\\04\\az-500-04_azuredeploy.json** +- **\\Allfiles\\Labs\\04\\az-500-04_azuredeploy.parameters.json** + +### 연습 1: Azure 리소스 관리자 템플릿을 사용하여 Azure VM을 배포합니다 + +### 예상 소요 시간: 10분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: Azure Resource Manager 템플릿을 사용하여 Azure VM 배포 + +#### 작업 1: Azure 리소스 관리자 템플릿을 사용하여 Azure VM을 배포합니다 + +이 작업에서는 ARM 템플릿을 사용하여 가상 머신을 만듭니다. 이 가상 머신은 이 랩의 마지막 연습에 사용됩니다. + +1. Azure Portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에 사용 중인 Azure 구독의 소유자 또는 기여자 역할이 있는 계정과 해당 구독과 연결된 Microsoft Entra ID 테넌트의 전역 관리이스트레이터 역할을 사용하여 Azure Portal에 로그인합니다. + +2. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **사용자 지정 템플릿 배포**를 입력합니다. + + >**참고**: **마켓플레이스** 목록에서 **템플릿 배포(사용자 지정 템플릿을 사용하여 배포)** 를 선택해도 됩니다. + +3. **사용자 지정 배포** 블레이드에서 **편집기에서 사용자 고유의 탬플릿 빌드** 옵션을 클릭합니다. + +4. **템플릿 편집** 블레이드에서 **파일 로드**를 클릭하고 **\\Allfiles\\Labs\\04\\az-500-04_azuredeploy.json** 파일을 찾아 **열기**를 클릭합니다. + + >**참고**: 템플릿의 내용을 검토하고 Windows Server 2019 Datacenter를 호스팅하는 Azure VM를 배포함을 참고합니다. + +5. **템플릿 편집** 블레이드에서 **저장**을 클릭합니다. + +6. **사용자 지정 배포** 블레이드로 돌아가서 **매개 변수 편집**을 클릭합니다. + +7. **매개 변수 편집** 블레이드에서 **파일 로드**를 클릭하고 **\\Allfiles\\Labs\\04\\az-500-04_azuredeploy.parameters.json** 파일을 찾아 **열기**를 클릭합니다. + + >**참고**: adminUsername 및 adminPassword 값을 지적하는 매개 변수 파일의 내용을 검토합니다. + +8. **매개 변수 편집** 블레이드에서 **저장**을 클릭합니다. + +9. **사용자 지정 배포** 블레이드에서 다음 설정이 구성되었는지 확인합니다 (다른 설정은 기본값으로 유지). + + >**참고**: 과정 나머지 부분에서 VM(가상 머신)을 만드는 데 사용할 고유한 암호를 만들어야 합니다. 암호는 12자 이상이어야 하며, 정의된 복잡성 요구 사항(암호에 소문자 1개, 대문자 1개, 숫자 1개, 특수 문자 1개 중 3가지가 있어야 합니다)을 충족해야 합니다. [VM 암호 요구 사항](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/faq#what-are-the-password-requirements-when-creating-a-vm-). 암호를 기록해 둡니다. + + |설정|값| + |---|---| + |구독|이 랩에서 사용할 Azure 구독의 이름| + |Resource group|**새로 만들기**를 클릭하고 **AZ500LAB04**를 이름으로 입력합니다.| + |위치|**미국 동부**| + |Vm 크기|**Standard_D2s_v3**| + |Vm 이름|**az500-04-vm1**| + |관리자 사용자 이름|**학생**| + |관리자 암호|**고유한 암호를 만들고 나중에 참조할 수 있도록 기록하세요. 필요한 랩 액세스를 위해 이 암호를 입력하라는 메시지가 표시됩니다.**| + |Virtual Network 이름|**az500-04-vnet1**| + + >**참고**: Azure VM을 프로비전할 수 있는 Azure 지역을 식별하려면 [ **https://azure.microsoft.com/en-us/regions/offers/** ](https://azure.microsoft.com/en-us/regions/offers/)를 참조하세요. + +10. **검토 + 만들기**를 클릭한 다음 **만들기**를 클릭합니다. + + >**참고**: 배포가 완료될 때까지 기다리지 말고 다음 연습을 진행하세요. 이 랩의 마지막 연습에서 이 배포에 포함된 가상 머신을 사용합니다. + +> 결과: 이 랩의 마지막 연습에서 사용할 Azure VM **az500-04-vm1**의 템플릿 배포를 시작했습니다. + + +### 연습 2: Azure MFA 구현 + +### 예상 소요 시간: 30분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: 새 Microsoft Entra ID 테넌트를 만듭니다. +- 작업 2: Microsoft Entra ID P2 평가판을 활성화합니다. +- 작업 3: Microsoft Entra ID 사용자 및 그룹을 만듭니다. +- 작업 4: Microsoft Entra ID 사용자에게 Microsoft Entra ID P2 라이선스를 할당합니다. +- 작업 5: Azure MFA 설정 구성 +- 작업 6: MFA 구성 유효성 검사 + +#### 작업 1: 새 Microsoft Entra ID 테넌트 만들기 + +이 작업에서는 새 Microsoft Entra ID 테넌트를 만듭니다. + +1. Azure Portal의 Azure Portal 페이지 위쪽에 있는 **리소스, 서비스 및 문서** 검색 텍스트 상자에 Microsoft Entra ID**를 입력**하고 Enter** 키를 누릅니**다. + +2. 현재 Microsoft Entra ID 테넌트 개요를 **표시하는 블레이드에서 테넌트** 관리를 클릭한 **다음 다음 화면에서 + 만들기**를 클릭합니다****. + +3. **테넌트** 만들기 블레이드의 **기본 사항** 탭에서 Microsoft Entra ID** 옵션이 **선택되어 있는지 확인하고 다음: 구성 >** 클릭합니다**. + +4. **테넌트 만들기** 창의 **구성** 탭에서 다음 설정을 지정합니다. + + |설정|값| + |---|---| + |조직 이름|**AdatumLab500-04**| + |초기 도메인 이름|문자와 숫자의 조합으로 구성된 고유한 이름| + |국가 또는 지역|**미국**| + + >**참고**: 초기 도메인 이름을 기록합니다. 이 랩의 후반부에서 필요합니다. + +5. **검토 + 만들기**를 클릭한 다음, **만들기**를 클릭합니다. +6. **로봇이 아님을 증명** 블레이드에서 Captcha 코드를 추가한 다음 **제출** 단추를 클릭합니다. + + >**참고**: 새 테넌트가 만들어질 때까지 기다립니다. **알림** 아이콘을 사용하여 배포 상태를 모니터링합니다. + + +#### 작업 2: Microsoft Entra ID P2 평가판 활성화 + +이 작업에서는 Microsoft Entra ID P2 평가판에 등록합니다. + +1. Azure Portal의 도구 모음에서 Cloud Shell 셸 아이콘 오른쪽에 있는 **디렉터리 + 구독** 아이콘을 클릭합니다. + +2. **디렉터리 + 구독** 블레이드에서 새로 만든 테넌트 **AdatumLab500-04**를 클릭하고 **전환** 단추를 클릭하여 현재 디렉터리로 설정합니다. + + >**참고**: **AdatumLab500-04** 항목이 **디렉터리 + 구독** 필터 목록에 나타나지 않으면 브라우저 창을 새로 고쳐야 할 수 있습니다. + +3. Azure Portal의 Azure Portal 페이지 위쪽에 있는 **리소스, 서비스 및 문서** 검색 텍스트 상자에 Microsoft Entra ID**를 입력**하고 Enter** 키를 누릅니**다. **AdatumLab500-04** 블레이드의 **관리** 섹션에서 **라이선스**를 클릭합니다. + +4. 라이선스 개요 블레이드의 **빠른 작업**에서 **평가판** 가져오기를 클릭합니다**.** \| + +5. MICROSFT ENTRA ID P2를 확장한 다음 활성화를 클릭합니다 **.** + + +#### 작업 3: Microsoft Entra ID 사용자 및 그룹을 만듭니다. + +이 작업에서는 다음 세 사용자를 만듭니다. aaduser1(전역 관리자), aaduser2(사용자), aaduser3(사용자). 이후 작업에는 각 사용자의 사용자 계정 이름과 암호가 필요합니다. + +1. AdatumLab500-04 Microsoft Entra ID 블레이드로 돌아가**서 **관리** 섹션에서 사용자를** 클릭합니다**.** + +2. 사용자 모두 블레이드에서 **+ 새 사용자를** 클릭한 다음 **새 사용자** 만들기를 클릭합니다**.** \| + +3. 새 사용자 블레이드에서 **사용자** 만들기 옵션이 선택되어 있는지 확인하고 **기본 탭에서 다음 설정을 지정하고(다른 모든 설정을 기본값으로 유지) 다음을 클릭합니다 **. 속성 >**.** + + |설정|값| + |---|---| + |사용자 계정 이름|**aaduser1**| + |이름|**aaduser1**| + |암호|암호** 자동 생성 옵션이 **선택되어 있는지 확인합니다.| + + >**참고**: 전체 사용자 계정 이름을 기록합니다. 할 일기본 이름을 표시하는 드롭다운 목록의 오른쪽에 있는 클립보드**로 복사 단추를 클릭하여 **값을 복사할 수 있습니다. 이 랩에서 나중에 필요합니다. + + >**참고**: 사용자의 암호를 기록합니다. 텍스트 상자의 오른쪽에 있는 클립보드**로 복사 단추를 클릭하여 **값을 복사할 수 있습니다. 이 랩에서 나중에 필요합니다. + +4. 속성** 탭에서 **아래쪽으로 스크롤하여 사용 위치를 **지정합니다. 미국**(다른 모든 항목은 기본값으로 유지)하고 다음: 할당 >** 클릭합니다**. + +5. 할당 탭에서 **+ 역할** 추가를 클릭하고 **전역 관리istrator**를 검색하여 선택합니다**.** [선택 **]을 클릭한 다음 **검토 + 만들기**를 클릭한 다음 **만들기를 클릭합니다****. + +6. 다시 **사용자 \| 모든 사용자** 블레이드에서 **+ 새 사용자**를 클릭합니다. + +7. 새 사용자 블레이드에서 **사용자** 만들기 옵션이 선택되어 있는지 확인하고 **다음 설정을 지정하고(다른 모든 설정을 기본값으로 유지) 다음을 클릭합니다 **. 속성 >**.** + + |설정|값| + |---|---| + |사용자 계정 이름|**aaduser2**| + |이름|**aaduser2**| + |암호|암호** 자동 생성 옵션이 **선택되어 있는지 확인합니다.| + + >**참고**: 전체 사용자 계정 이름 및 암호를 기록합니다. + +8. 속성 탭에서 **아래쪽으로 스크롤하여 사용 위치를 **지정합니다. 미국**(다른 모든 항목은 기본값으로 유지) 검토 + 만들기**를 클릭한 다음 **만들기**를 클릭합니다**.** + +9. 다시 **사용자 \| 모든 사용자** 블레이드에서 **+ 새 사용자**를 클릭합니다. + +10. 새 사용자 블레이드에서 **사용자** 만들기 옵션이 선택되어 있는지 확인하고 **다음 설정을 지정하고(다른 모든 설정을 기본값으로 유지) 다음을 클릭합니다 **. 속성 >**.** + + |설정|값| + |---|---| + |사용자 계정 이름|**aaduser3**| + |이름|**aaduser3**| + |암호|암호** 자동 생성 옵션이 **선택되어 있는지 확인합니다.| + + >**참고**: 전체 사용자 계정 이름 및 암호를 기록합니다. + +11. 속성 탭에서 **아래쪽으로 스크롤하여 사용 위치를 **지정합니다. 미국**(다른 모든 항목은 기본값으로 유지) 검토 + 만들기**를 클릭한 다음 **만들기**를 클릭합니다**.** + + >**참고**: 이 시점에서 **사용자** 페이지에 새 사용자가 세 명 있어야 합니다. + +#### 작업 4: Microsoft Entra ID 사용자에게 Microsoft Entra ID Premium P2 라이선스 할당 + +이 작업에서는 Microsoft Entra ID Premium P2 라이선스에 각 사용자를 할당합니다. + +1. **사용자 \| 모든 사용자** 블레이드에서 사용자 계정을 나타내는 항목을 클릭합니다. + +2. 사용자 계정의 속성을 표시하는 블레이드에서 **속성 편집**을 클릭합니다. 사용 위치가 미국** 설정되어 **있는지 확인합니다. 그렇지 않은 경우 사용 위치를 설정하고 저장**을 클릭합니다**. + +3. AdatumLab500-04 Microsoft Entra ID 블레이드로 돌아가**서 **관리** 섹션에서 라이선스**를 클릭합니다**.** + +4. 라이선스 개요 블레이드에서 **모든 제품을** 클릭하고 **Microsoft Entra ID Premium P2** 검사box를 선택한 **다음 + 할당**을 클릭합니다**.** \| + +5. **라이선스 할당** 블레이드에서 **+ 사용자 및 그룹 추가**를 클릭합니다. + +6. **사용자** 블레이드에서 **aaduser1**, **aaduser2**, **aaduser3** 및 사용자 계정을 선택하고 **선택**을 클릭합니다. + +7. 라이선스 할당 블레이드로 돌아가서 할당 옵션을 클릭하고 **모든 옵션이** 사용하도록 설정되어 있는지 확인하고 검토 + 할당**을 클릭한 **다음 할당**을 클릭합니다**.** ** + +8. Azure Portal에서 로그아웃하고 동일한 계정을 사용하여 다시 로그인합니다. (라이선스 할당이 적용되려면 이 단계가 필요합니다.) + + >**참고**: 이 시점에서 이 랩에서 사용할 모든 사용자 계정에 Microsoft Entra ID Premium P2 라이선스를 할당했습니다. 로그아웃한 다음 다시 로그인하십시오. + +#### 작업 5: Azure MFA 설정 구성 + +이 작업에서는 MFA를 구성하고 aaduser1에 대한 MFA를 활성화합니다. + +1. Azure Portal에서 AdatumLab500-04** Microsoft Entra ID 테넌트 블레이드로 다시 **이동합니다. + + >**참고**: AdatumLab500-04 Microsoft Entra ID 테넌트를 사용하고 있는지 확인합니다. + +2. **AdatumLab500-04** Microsoft Entra ID 테넌트 블레이드의 **관리** 섹션에서 보안을** 클릭합니다**. + +3. **보안 \| 시작** 블레이드의 **관리** 섹션에서 **다단계 인증**을 클릭합니다. + +4. **다단계 인증 \| 시작** 블레이드에서 **추가 클라우드 기반 다단계 인증 설정** 링크를 클릭합니다. + + >**참고**: 그러면 **다단계 인증** 페이지가 표시되는 새 브라우저 탭이 열립니다. + +5. **다단계 인증** 페이지에서 **서비스 설정** 탭을 클릭합니다. **확인 옵션**을 검토합니다. **휴대폰에 문자 메시지 전송**, **모바일 앱을 통한 알림**, **모바일 앱 또는 하드웨어 토큰의 확인 코드**가 활성화됩니다. **저장**을 클릭한 후 **닫기**를 클릭합니다. + +6. 사용자 탭으로 전환하고 **aaduser1** 항목을 클릭하고 **사용 링크를 클릭한 **** 다음 메시지가 표시되면 다단계 인증** 사용을 클릭한 **다음 닫기를** 클릭합니다**.** + +7. **aaduser1**에 대한 **Multi-Factor Auth 상태** 열이 이제 **활성화**되었습니다. + +8. **aaduser1**을 클릭하면 **적용** 옵션도 표시됩니다. + + >**참고**: 사용자 상태 사용에서 적용됨으로 변경하면 Azure MFA를 지원하지 않는 레거시 Microsoft Entra ID 통합 앱에만 영향을 미치며, 상태 적용됨으로 변경되면 앱 암호를 사용해야 합니다. + +9. **aaduser1** 항목을 선택한 경우 **사용자 설정 관리**를 클릭하고 사용 가능한 옵션을 검토합니다. + + - Require selected users to provide contact methods again(선택한 사용자가 연락처 방법을 다시 제공해야 함). + + - Delete all existing app passwords generated by the selected users(선택한 사용자가 생성한 모든 기존 앱 암호 삭제). + + - 기억된 모든 디바이스에서 다단계 인증을 복원합니다. + +10. 취소를 클릭하고 **Azure Portal에서 Multi-Factor Authentication \| 시작** 블레이드를 **표시하는 브라우저 탭으로 다시 전환**합니다. + +11. **설정** 섹션에서 **사기 행위 경고**를 클릭합니다. + +12. **MFA \| 사기 행위 경고** 블레이드에서 다음 설정을 구성합니다. + + |설정|값| + |---|---| + |사용자가 사기 행위 경고를 제출할 수 있도록 허용|**설정**| + |사기를 신고하는 사용자를 자동으로 차단|**설정**| + |첫 인사말 중 사기 행위를 보고할 코드|**0**| + +13. 페이지 맨 아래에 있는 **저장** + + >**참고**: 이 시점에서 aaduser1 및 사기 행위 경고 설정에 대한 MFA를 활성화했습니다. + +14. AdatumLab500-04** Microsoft Entra ID 테넌트 블레이드**로 돌아가**서 관리** 섹션에서 속성을** 클릭한 **다음 블레이드 아래쪽의 보안 기본값 관리 링크를 클릭하고 **보안 기본값**** 사용 블레이드에서 **사용 안** 함으로 클릭합니다**. **내 조직에서 조건부 액세스를 *** 사용하지 않도록 설정하는* 이유로 선택하고 저장**을 클릭하고 **경고를 읽은 다음 사용 안 함을** 클릭합니다**. + + >**참고**: AdatumLab500-04** Microsoft Entra ID 테넌트에 로그인**되어 있는지 확인합니다. 디렉터리 + 구독** 필터를 **사용하여 Microsoft Entra ID 테넌트 간에 전환할 수 있습니다. Microsoft Entra ID 테넌트에서 Global 관리istrator 역할을 사용하여 사용자로 로그인했는지 확인합니다. + +#### 작업 6: MFA 구성 유효성 검사 + +이 작업에서는 aaduser1 사용자 계정의 로그인을 테스트하여 MFA 구성의 유효성을 검사합니다. + +1. InPrivate 브라우저 창을 엽니다. + +2. Azure **`https://portal.azure.com/`** Portal로 이동하고 aaduser1** 사용자 계정을 사용하여 **로그인합니다. + + >**참고**: 로그인하려면 이 랩의 앞부분에서 기록한 Microsoft Entra ID 테넌트 DNS do기본 이름을 포함하여 aaduser1** 사용자 계정의 **정규화된 이름을 제공해야 합니다. 이 사용자 이름은 aaduser1@``.onmicrosoft.com 형식으로, 고유한 `` Microsoft Entra ID 테넌트 이름을 나타내는 자리 표시자입니다. + +3. 메시지가 표시되면 **자세한 정보 필요** 대화 상자에서 **다음**을 클릭합니다. + + >**참고**: 브라우저 세션은 **추가 보안 인증** 페이지로 리디렉션됩니다. + +4. **계정 보안 유지** 페이지에서 **다른 방법을 설정하고 싶습니다.** 링크를 선택하고 **어떤 방법을 사용하시겠습니까?** 드롭다운 목록에서 **전화**를 선택한 후에 **확인**을 선택합니다. + +5. **계정 보안 유지** 페이지에서 국가나 지역을 선택하고 **전화 번호 입력** 부분에 휴대폰 번호를 입력합니다. 그런 다음 **코드를 문자로 받기** 옵션이 선택되어 있는지 확인하고 **다음**을 클릭합니다. + +6. 계정 보안 유지 페이지에서 휴대폰에 문자 메시지로 수신된 코드를 입력하고 다음을 클릭합니다. + +7. 계정 보안 유지 페이지에서 확인이 정상적으로 완료되었는지 확인하고 다음을 클릭합니다. + +8. 추가 인증 방법을 **묻는 메시지가 표시되면 다른 방법을** 사용하려는 경우 드롭다운 목록에서 전자 메일**을 선택하고 **확인을** 클릭하고 **사용하려는 전자 메일 주소를 입력한 다음 다음**을 클릭합니다**. 해당 이메일을 받으면 이메일 본문에서 코드를 식별하고, 이를 제공한 후에 **완료**를 클릭합니다. + +9. 메시지가 표시되면 암호를 변경합니다. 새 암호를 기록해 두어야 합니다. + +10. Azure Portal에 성공적으로 로그인했는지 확인합니다. + +11. **aaduser1**로 로그아웃하고 InPrivate 브라우저 창을 닫습니다. + +> 결과: 새 AD 테넌트를 만들고, AD 사용자를 구성하고, MFA를 구성하고, 사용자용 MFA 환경을 테스트했습니다. + + +### 연습 3: Microsoft Entra ID 조건부 액세스 정책 구현 + +### 예상 소요 시간: 15분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: 조건부 액세스 정책 구성 +- 작업 2: 조건부 액세스 정책을 테스트합니다. + +#### 작업 1 - 조건부 액세스 정책을 구성합니다. + +이 작업에서는 조건부 액세스 정책 설정을 검토하고, Azure Portal에 로그인할 때 MFA를 요구하는 정책을 만듭니다. + +1. Azure Portal에서 AdatumLab500-04** Microsoft Entra ID 테넌트 블레이드로 다시 **이동합니다. + +2. **AdatumLab500-04** 블레이드의 **관리** 섹션에서 **보안**을 클릭합니다. + +3. **보안 \| 시작** 블레이드의 **보호** 섹션에서 **조건부 액세스**를 클릭합니다. 왼쪽 탐색 패널에서 정책을** 클릭합니다**. + +4. 조건부 액세스 \| 정책 블레이드에서 **+ 새 정책을** 클릭합니다****. + +5. **새로 만들기** 블레이드에서 다음 설정을 구성합니다. + + - **이름** 텍스트 상자에 **AZ500Policy1**을 입력합니다. + + - 사용자** 아래에서 **선택한 사용자 및 그룹 0을** 클릭합니다**. 포함**의 오른쪽에서 사용자 및 그룹 선택 >> 사용자 및 그룹**** 선택 **검사 상자의 사용자 및 그룹** 선택 블레이드에서 **aaduser2** 검사 상자를 선택하고 **선택을** 클릭합니다**. + + - 대상 리소스에서 선택한 대상 리소스 없음을 클릭하고 **앱** 선택을 클릭한 **다음 선택에서 [없음 **]을 클릭합니다**.****** 선택 블레이드에서 **Microsoft Azure 관리**용 **검사 상자를 선택하고 선택을** 클릭합니다**.** + + >**참고**: 이 정책이 Azure Portal에 대한 액세스에 영향을 미친다는 경고를 검토합니다. + + - 조건에서 선택한 0개의 조건을 클릭하고 **로그인 위험**에서 **구성**되지 않음을 클릭합니다**.****** **로그인 위험** 블레이드에서 위험 수준을 검토하지만 변경하지 않고 로그인 위험** 블레이드를 **닫습니다. + + - **디바이스 플랫폼에서** 구성**되지 않음을 클릭하고 **포함할 수 있지만 변경하지 않는 디바이스 플랫폼을 검토하고 완료**를 클릭합니다**. + + - 위치** 아래에서 **구성**되지 않음을 클릭하고 **변경하지 않고 위치 옵션을 검토합니다. + + - Access 컨트롤** 섹션의 **권한 부여** 아래에서 **선택한** 0개의 컨트롤을 클릭합니다**. 권한 부여 블레이드에서 **다단계 인증** 필요 검사 상자를 선택하고 **선택을 클릭합니다 **.**** + + - **정책 사용**을 **켜기**로 설정합니다. + +6. **새로 만들기** 블레이드에서 **만들기**를 클릭합니다. + + >**참고**: 이 시점에서 MFA가 Azure Portal에 로그인해야 하는 조건부 액세스 정책이 있습니다. + +#### 작업 2 - 조건부 액세스 정책을 테스트합니다. + +이 작업에서는 Azure Portal에서 **aaduser2**로 로그인하고 MFA가 필요한지 확인합니다. 또한 다음 연습을 계속하기 전에 정책을 삭제합니다. + +1. InPrivate Microsoft Edge 창을 엽니다. + +2. 새 브라우저 창에서 Azure Portal**`https://portal.azure.com/`** 로 이동하고 aaduser2** 사용자 계정으로 **로그인합니다. + +3. 메시지가 표시되면 **자세한 정보 필요** 대화 상자에서 **다음**을 클릭합니다. + + >**참고**: 브라우저 세션은 계정 보안** 유지 페이지로 **리디렉션됩니다. + +4. **계정 보안 유지** 페이지에서 **다른 방법을 설정하고 싶습니다.** 링크를 선택하고 **어떤 방법을 사용하시겠습니까?** 드롭다운 목록에서 **전화**를 선택한 후에 **확인**을 선택합니다. + +5. **계정 보안 유지** 페이지에서 국가나 지역을 선택하고 **전화 번호 입력** 부분에 휴대폰 번호를 입력합니다. 그런 다음 **코드를 문자로 받기** 옵션이 선택되어 있는지 확인하고 **다음**을 클릭합니다. + +6. 계정 보안 유지 페이지에서 휴대폰에 문자 메시지로 수신된 코드를 입력하고 다음을 클릭합니다. + +7. 계정 보안 유지 페이지에서 확인이 정상적으로 완료되었는지 확인하고 다음을 클릭합니다. + +8. 계정 보안 유지 페이지에서 완료를 클릭합니다. + +9. 메시지가 표시되면 암호를 변경합니다. 새 암호를 기록해 두어야 합니다. + +10. Azure Portal에 성공적으로 로그인했는지 확인합니다. + +11. **aaduser2**로 로그아웃하고 InPrivate 브라우저 창을 닫습니다. + + >**참고**: 이제 새로 만든 조건부 액세스 정책이 aaduser2가 Azure Portal에 로그인할 때 MFA를 적용한다는 것을 확인했습니다. + +12. Azure Portal을 표시하는 브라우저 창으로 돌아가서 AdatumLab500-04** Microsoft Entra ID 테넌트 블레이드로 돌아갑니다**. + +13. **AdatumLab500-04** 블레이드의 **관리** 섹션에서 **보안**을 클릭합니다. + +14. **보안 \| 시작** 블레이드의 **보호** 섹션에서 **조건부 액세스**를 클릭합니다. 왼쪽 탐색 패널에서 정책을** 클릭합니다**. + +15. **조건부 액세스 \| 정책** 블레이드에서 **AZ500Policy1** 옆의 줄임표를 클릭하고 **삭제**를 클릭한 후 확인하라는 메시지가 표시되면 **예**를 클릭합니다. + + >**참고**: 결과: 이 연습에서는 사용자가 Azure Portal에 서명할 때 MFA를 요구하는 조건부 액세스 정책을 구현합니다. + +>결과: Microsoft Entra ID 조건부 액세스를 구성하고 테스트했습니다. + +### 연습 4: 조건부 액세스에서 위험 기반 정책 배포 + +### 예상 소요 시간: 30분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: Azure Portal에서 Microsoft Entra ID ID 보호 옵션 보기 +- 작업 2: 사용자 위험 정책 구성 +- 작업 3: 로그인 위험 정책 구성 +- 작업 4: Microsoft Entra ID ID 보호 정책에 대한 위험 이벤트 시뮬레이션 +- 작업 5: Microsoft Entra ID ID 보호 보고서 검토 + +#### 작업 1: Microsoft Entra ID ID 보호 사용 + +이 작업에서는 Azure Portal에서 Microsoft Entra ID ID 보호 옵션을 볼 수 있습니다. + +1. 필요한 경우 Azure Portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: AdatumLab500-04** Microsoft Entra ID 테넌트에 로그인**되어 있는지 확인합니다. 디렉터리 + 구독** 필터를 **사용하여 Microsoft Entra ID 테넌트 간에 전환할 수 있습니다. Microsoft Entra ID 테넌트에서 Global 관리istrator 역할을 사용하여 사용자로 로그인했는지 확인합니다. + +#### 작업 2: 사용자 위험 정책 구성 + +이 작업에서는 사용자 위험 정책을 만듭니다. + +1. **AdatumLab500-04** Microsoft Entra ID 테넌트 > **보안**** > 조건부 액세스 > ****정책으로 찾습니다.** + +2. + 새 정책을** 클릭합니다**. + +3. **이름** 텍스트 상자에 다음 정책 이름을 입력하고 **AZ500Policy2**를 입력합니다. + +4. 할당** > **사용자** 아래에서 **선택한** 사용자 및 그룹 0을 클릭합니다.** + +5. 포함에서 사용자 및 그룹 선택을 클릭하고 **사용자 및 그룹을**** 클릭하고 **aaduser2** 및 **aaduser3**을 선택한 **다음 선택을** 클릭합니다**.**** + +6. 제외**에서 **사용자 및 그룹을** 클릭하고 **aaduser1**을 선택한 **다음 선택을** 클릭합니다**. + +7. 대상 리소스에서 **선택한** 대상 리소스 없음을 클릭하고**, 드롭다운에서 클라우드 앱**이 선택되어 있는지 **확인하고, [포함 **] 아래에서 **모든 클라우드 앱을** 선택합니다**.** + +8. 조건에서 선택한 0개의 조건을 클릭하고 **사용자 위험**에서 **구성**되지 않음을 클릭합니다**.****** 사용자 위험 블레이드에서 **구성**을 예**로 **설정합니다**.** + +9. **정책을 적용하는 데 필요한 사용자 위험 수준 구성**에서 **높음**을 선택합니다. + +10. **완료**를 클릭합니다. + +11. Access 컨트롤** 섹션의 **권한 부여** 아래에서 **선택한** 0개의 컨트롤을 클릭합니다**. 권한 부여 블레이드에서 **액세스 권한** 부여가 선택되어 있는지 **확인**합니다. + +12. **다단계 인증 필요** 및 **암호 변경 필요**를 선택합니다. + +13. **선택**을 클릭합니다. + +14. **세션에서** 선택한** 0개의 컨트롤을 클릭합니다**. 로그인 빈도**를 선택한 **다음 매번** 선택합니다**. + +15. **선택**을 클릭합니다. + +16. 사용 정책이** 보고서 전용**으로 **설정되어 있는지 확인**합니다. + +17. **만들기**를 클릭하여 정책을 사용하도록 설정합니다. + +#### 작업 3: 로그인 위험 정책 구성 + +1. **AdatumLab500-04** Microsoft Entra ID 테넌트 > **보안**** > 조건부 액세스> ****정책으로 찾습니다.** + +2. **+ 새 정책**을 선택합니다. + +3. **이름** 텍스트 상자에 다음 정책 이름을 입력하고 **AZ500Policy3**를 입력합니다. + +4. 할당** > **사용자** 아래에서 **선택한** 사용자 및 그룹 0을 클릭합니다.** + +5. 포함에서 사용자 및 그룹 선택을 클릭하고 **사용자 및 그룹을**** 클릭하고 **aaduser2** 및 **aaduser3**을 선택한 **다음 선택을** 클릭합니다**.**** + +6. 제외****에서 **사용자 및 그룹을** 클릭하고 aaduser1**을 선택하고 **선택을** 클릭합니다**. + +7. 대상 리소스에서 **선택한** 대상 리소스 없음을 클릭하고**, 드롭다운에서 클라우드 앱**이 선택되어 있는지 **확인하고, [포함 **] 아래에서 **모든 클라우드 앱을** 선택합니다**.** + +8. 조건에서 선택한 0개의 조건을 클릭하고 **로그인 위험**에서 **구성**되지 않음을 클릭합니다**.****** **로그인 위험** 블레이드에서 구성**을 예**로 **설정합니다**. + +9. **이 정책을 적용할 로그인 위험 수준 선택** 아래에서 **높음** 및 **중간**을 선택합니다. + +10. **완료**를 클릭합니다. + +11. Access 컨트롤** 섹션의 **권한 부여** 아래에서 **선택한** 0개의 컨트롤을 클릭합니다**. 권한 부여 블레이드에서 **액세스 권한** 부여가 선택되어 있는지 **확인**합니다. + +12. 다단계 인증** 필요를 선택합니다**. + +13. **선택**을 클릭합니다. + +14. **세션에서** 선택한** 0개의 컨트롤을 클릭합니다**. 로그인 빈도**를 선택한 **다음 매번** 선택합니다**. + +15. **선택**을 클릭합니다. + +16. 설정을 확인하고 **정책 사용**을 **켜기**로 설정합니다. + +17. **만들기**를 클릭하여 정책을 사용하도록 설정합니다. + +#### 작업 4: Microsoft Entra ID ID 보호 정책에 대한 위험 이벤트 시뮬레이션 + +> 이 작업을 시작하기 전에 연습 1에서 시작한 템플릿 배포가 완료되었는지 확인합니다. 배포에는 **az500-04-vm1**이라는 Azure VM이 포함됩니다. + +1. Azure Portal에서 디렉터리 + 구독 필터를 az500-04-vm1** Azure VM을 배포한 **Azure 구독과 연결된 Microsoft Entra ID 테넌트로 설정합니다 **.** + +2. Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **가상 머신**을 입력하고 **Enter** 키를 누릅니다. + +3. **가상 머신** 블레이드에서 **az500-04-vm1** 항목을 클릭합니다. + +4. **az500-04-vm1** 블레이드에서 커넥트** 클릭합니다**. RDP** 탭에 **있는지 확인합니다. + +5. **RDP 파일 다운로드**를 클릭한 후 원격 데스크톱을 통해 **az500-04-vm1** Azure VM에 연결합니다. 인증하라는 메시지가 표시되면 다음 자격 증명을 입력합니다. + + |설정|값| + |---|---| + |사용자 이름|**Student**| + |암호|**랩 04 > 연습 1 > 작업 1 > 9단계에서 만든 개인 암호를 사용하세요.**| + + >**참고**: 원격 데스크톱 세션과 **서버 관리자**가 로드될 때까지 기다립니다. + + >**참고**: 다음 단계는 원격 데스크톱 세션에서 **az500-04-vm1** Azure VM으로 수행됩니다. + +6. **서버 관리자**에서 **로컬 서버**를 클릭한 다음 **IE 보안 강화 구성**을 클릭합니다. + +7. **Internet Explorer 강화된 보안 구성** 대화 상자에서 두 옵션을 **해제**로 설정하고 **확인**을 클릭합니다. + +8. **Internet Explorer**를 시작하고 드롭다운 메뉴의 도구 모음에서 톱니 바퀴 아이콘을 클릭한 뒤 **안전**을 클릭한 다음 **InPrivate 브라우징**을 클릭합니다. + +9. InPrivate Internet Explorer 창에서 **https://www.torproject.org/projects/torbrowser.html.en** 의 Tor 브라우저 프로젝트로 이동합니다. + +10. 기본 설정으로 ToR 브라우저의 Windows 버전을 다운로드하고 설치합니다. + +11. 설치가 완료되면 ToR 브라우저를 시작하고, 초기 페이지에서 커넥트 옵션을 사용하고 **, 애플리케이션 액세스 패널 찾습니다****https://myapps.microsoft.com.** + +12. 메시지가 표시되면 **aaduser3** 계정으로 로그인을 시도합니다. + + >**참고**: **로그인이 차단되었음**이라는 메시지가 표시됩니다. 이 계정은 다단계 인증으로 구성되지 않았으므로 ToR 브라우저 사용과 관련된 로그인 위험이 증가하므로 필요합니다. + +13. ToR 브라우저에서 뒤로 화살표를 선택하여 이 랩의 앞부분에서 다단계 인증을 위해 만들고 구성한 aaduser1** 계정으로 **로그인합니다. + + >**참고**: 이번에는 **의심스러운 활동이 감지됨**이라는 메시지가 표시됩니다. 이 계정은 다단계 인증으로 구성되므로 다시 한 번 필요합니다. ToR 브라우저 사용과 관련한 로그인 위험이 증가하는 것을 고려하여 다단계 인증을 사용해야 합니다. + +14. **확인** 옵션을 사용하여 문자 또는 전화 통화로 ID를 확인할지 여부를 지정합니다. + +15. 확인을 완료하고 애플리케이션 액세스 패널에 성공적으로 로그인했는지 확인합니다. + +16. RDP 세션을 닫습니다. + + >**참고**: 이 시점에서 두 개의 다른 로그인을 시도했습니다. 다음으로, Azure ID 보호 보고서를 검토합니다. + +#### 작업 5: Microsoft Entra ID ID 보호 보고서 검토 + +이 작업에서는 ToR 브라우저 로그인에서 생성된 Microsoft Entra ID ID 보호 보고서를 검토합니다. + +1. Azure Portal로 돌아가서 디렉터리 + 구독** 필터를 사용하여 **AdatumLab500-04** Microsoft Entra ID 테넌트로 전환**합니다. + +2. **AdatumLab500-04** 블레이드의 **관리** 섹션에서 **보안**을 클릭합니다. + +3. **보안 \| 시작** 블레이드의 **보고** 섹션에서 **위험한 사용자**를 클릭합니다. + +4. 보고서를 검토하여 **aaduser3** 사용자 계정을 참조하는 항목이 있는지 확인합니다. + +5. **보안 \| 시작** 블레이드의 **보고** 섹션에서 **위험한 로그인**을 클릭합니다. + +6. 보고서를 검토하여 **aaduser3** 사용자 계정을 통한 로그인에 해당하는 항목이 있는지 확인합니다. + +7. **보고서**에서 **위험 검색**을 클릭합니다. + +8. 보고서를 검토하여 ToR 브라우저에서 생성된 익명 IP 주소의 로그인을 나타내는 항목이 있는지 확인합니다. + + >**참고**: 보고서에 위험이 표시되는 데 10~15분이 걸릴 수 있습니다. + +> **결과**: Microsoft Entra ID ID 보호를 사용하도록 설정하고, 사용자 위험 정책 및 로그인 위험 정책을 구성했으며, 위험 이벤트를 시뮬레이션하여 Microsoft Entra ID ID 보호 구성의 유효성을 검사했습니다. + +**리소스 정리** + +> 더 이상 사용하지 않는 ID 보호 리소스는 제거해야 합니다. + +다음 단계를 사용하여 AdatumLab500-04** Microsoft Entra ID 테넌트에서 **ID 보호 정책을 사용하지 않도록 설정합니다. + +1. Azure Portal에서 AdatumLab500-04** Microsoft Entra ID 테넌트 블레이드로 다시 **이동합니다. + +2. **AdatumLab500-04** 블레이드의 **관리** 섹션에서 **보안**을 클릭합니다. + +3. **보안 \| 시작** 블레이드의 **보호** 섹션에서 **ID 보호**를 클릭합니다. + +4. **ID 보호 \| 개요** 블레이드에서 **사용자 위험 정책**을 클릭합니다. + +5. ID 보호 \| 사용자 위험 정책** 블레이드에서 **정책 적용**을 **사용하지 않도록** 설정한 **다음 저장**을 클릭합니다**. + +6. **ID 보호 \| 사용자 위험 정책** 블레이드에서 로그인 위험 정책을 클릭합니다.**** + +7. ID 보호 \| 로그인 위험 정책** 블레이드에서 정책 적용**을 **사용하지 않도록** 설정한 **다음 저장**을 클릭합니다**.** + +다음 단계를 사용하여 랩의 앞 부분에서 프로비전한 Azure VM을 중지합니다. + +1. Azure Portal에서 디렉터리 + 구독 필터를 az500-04-vm1** Azure VM을 배포한 **Azure 구독과 연결된 Microsoft Entra ID 테넌트로 설정합니다 **.** + +2. Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **가상 머신**을 입력하고 **Enter** 키를 누릅니다. + +3. **가상 머신** 블레이드에서 **az500-04-vm1** 항목을 클릭합니다. + +4. **az500-04-vm1** 블레이드에서 **중지**를 클릭하고 확인하라는 메시지가 표시되면 **확인**을 클릭하세요. + +> PIM 랩에 종속성이 있기 때문에 이 랩에서 프로비전된 리소스는 제거하지 않습니다. diff --git a/Instructions/Labs/LAB_05_MFAConditionalAccessandAADIdentityProtection.md b/Instructions/Labs/LAB_05_MFAConditionalAccessandAADIdentityProtection.md new file mode 100644 index 0000000..22e7f4a --- /dev/null +++ b/Instructions/Labs/LAB_05_MFAConditionalAccessandAADIdentityProtection.md @@ -0,0 +1,605 @@ +--- +lab: + title: 04 - MFA 및 조건부 액세스 + module: Module 01 - Manage Identity and Access +--- + +# 랩 05: MFA 및 조건부 액세스 +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +Azure Active Directory(Azure AD) 인증을 향상하는 기능의 개념 증명을 만들라는 메시지가 표시됩니다. 특히 다음을 평가하려고 합니다. + +- Azure AD 다단계 인증 +- Azure AD 조건부 액세스 +- Azure AD 조건부 액세스 위험 기반 정책 + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다: + +- 연습 1: Azure 리소스 관리자 템플릿을 사용하여 Azure VM을 배포합니다 +- 연습 2: Azure MFA 구현 +- 연습 3: Azure AD 조건부 액세스 정책 구현 +- 연습 4: Azure AD ID 보호 구현 + +## MFA - 조건부 액세스 - ID 보호 다이어그램 + +![이미지](https://user-images.githubusercontent.com/91347931/157518628-8b4a9efe-0086-4ec0-825e-3d062748fa63.png) + +## Instructions + +## 랩 파일: + +- **\\Allfiles\\Labs\\04\\az-500-04_azuredeploy.json** +- **\\Allfiles\\Labs\\04\\az-500-04_azuredeploy.parameters.json** + +### 연습 1: Azure 리소스 관리자 템플릿을 사용하여 Azure VM을 배포합니다 + +### 예상 소요 시간: 10분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: Azure Resource Manager 템플릿을 사용하여 Azure VM 배포 + +#### 작업 1: Azure 리소스 관리자 템플릿을 사용하여 Azure VM을 배포합니다 + +이 작업에서는 ARM 템플릿을 사용하여 가상 머신을 만듭니다. 이 가상 머신은 이 랩의 마지막 연습에 사용됩니다. + +1. Azure Portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에서 사용하는 Azure 구독의 Owner 또는 Contributor 역할과 해당 구독과 연결된 Azure AD 테넌트의 전역 관리자 역할을 가진 계정을 사용하여 Azure Portal에 로그인합니다. + +2. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **사용자 지정 템플릿 배포**를 입력합니다. + + >**참고**: **마켓플레이스** 목록에서 **템플릿 배포(사용자 지정 템플릿을 사용하여 배포)** 를 선택해도 됩니다. + +3. **사용자 지정 배포** 블레이드에서 **편집기에서 사용자 고유의 탬플릿 빌드** 옵션을 클릭합니다. + +4. **템플릿 편집** 블레이드에서 **파일 로드**를 클릭하고 **\\Allfiles\\Labs\\04\\az-500-04_azuredeploy.json** 파일을 찾아 **열기**를 클릭합니다. + + >**참고**: 템플릿의 내용을 검토하고 Windows Server 2019 Datacenter를 호스팅하는 Azure VM를 배포함을 참고합니다. + +5. **템플릿 편집** 블레이드에서 **저장**을 클릭합니다. + +6. **사용자 지정 배포** 블레이드로 돌아가서 **매개 변수 편집**을 클릭합니다. + +7. **매개 변수 편집** 블레이드에서 **파일 로드**를 클릭하고 **\\Allfiles\\Labs\\04\\az-500-04_azuredeploy.parameters.json** 파일을 찾아 **열기**를 클릭합니다. + + >**참고**: adminUsername 및 adminPassword 값을 지적하는 매개 변수 파일의 내용을 검토합니다. + +8. **매개 변수 편집** 블레이드에서 **저장**을 클릭합니다. + +9. **사용자 지정 배포** 블레이드에서 다음 설정이 구성되었는지 확인합니다 (다른 설정은 기본값으로 유지). + + >**참고**: 과정 나머지 부분에서 VM(가상 머신)을 만드는 데 사용할 고유한 암호를 만들어야 합니다. 암호는 12자 이상이어야 하며, 정의된 복잡성 요구 사항(암호에 소문자 1개, 대문자 1개, 숫자 1개, 특수 문자 1개 중 3가지가 있어야 합니다)을 충족해야 합니다. [VM 암호 요구 사항](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/faq#what-are-the-password-requirements-when-creating-a-vm-). 암호를 기록해 둡니다. + + |설정|값| + |---|---| + |구독|이 랩에서 사용할 Azure 구독의 이름| + |Resource group|**새로 만들기**를 클릭하고 **AZ500LAB04**를 이름으로 입력합니다.| + |위치|**미국 동부**| + |Vm 크기|**Standard_D2s_v3**| + |Vm 이름|**az500-04-vm1**| + |관리자 사용자 이름|**학생**| + |관리자 암호|**고유한 암호를 만들고 나중에 참조할 수 있도록 기록하세요. 필요한 랩 액세스를 위해 이 암호를 입력하라는 메시지가 표시됩니다.**| + |Virtual Network 이름|**az500-04-vnet1**| + + >**참고**: Azure VM을 프로비전할 수 있는 Azure 지역을 식별하려면 [ **https://azure.microsoft.com/en-us/regions/offers/** ](https://azure.microsoft.com/en-us/regions/offers/)를 참조하세요. + +10. **검토 + 만들기**를 클릭한 다음 **만들기**를 클릭합니다. + + >**참고**: 배포가 완료될 때까지 기다리지 말고 다음 연습을 진행하세요. 이 랩의 마지막 연습에서 이 배포에 포함된 가상 머신을 사용합니다. + +> 결과: 이 랩의 마지막 연습에서 사용할 Azure VM **az500-04-vm1**의 템플릿 배포를 시작했습니다. + + +### 연습 2: Azure MFA 구현 + +### 예상 소요 시간: 30분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: 새 Azure AD 테넌트 만들기 +- 작업 2: Azure AD Premium P2 평가판 활성화 +- 작업 3: Azure AD 사용자 및 그룹 만들기 +- 작업 4: Azure AD 사용자에게 Azure AD Premium P2 라이선스 할당 +- 작업 5: Azure MFA 설정 구성 +- 작업 6: MFA 구성 유효성 검사 + +#### 작업 1: 새 Azure AD 테넌트 만들기 + +이 작업에서는 새 Azure AD 테넌트를 만듭니다. + +1. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에서 **Azure Active Directory**를 입력하고 **Enter** 키를 누릅니다. + +2. 현재 Azure AD 테넌트의 **개요**를 표시하는 블레이드에서 **테넌트 관리**를 클릭한 후 다음 화면에서 **+ 만들기**를 클릭합니다. + +3. **테넌트 만들기** 블레이드의 **기본** 탭에서 **Azure Active Directory** 옵션이 선택되어 있는지 확인하고 **다음: 구성 >** 을 클릭합니다. + +4. **테넌트 만들기** 창의 **구성** 탭에서 다음 설정을 지정합니다. + + |설정|값| + |---|---| + |조직 이름|**AdatumLab500-04**| + |초기 도메인 이름|문자와 숫자의 조합으로 구성된 고유한 이름| + |국가 또는 지역|**미국**| + + >**참고**: 초기 도메인 이름을 기록합니다. 이 랩의 후반부에서 필요합니다. + +5. **검토 + 만들기**를 클릭한 다음, **만들기**를 클릭합니다. +6. **로봇이 아님을 증명** 블레이드에서 Captcha 코드를 추가한 다음 **제출** 단추를 클릭합니다. + + >**참고**: 새 테넌트가 만들어질 때까지 기다립니다. **알림** 아이콘을 사용하여 배포 상태를 모니터링합니다. + + +#### 작업 2: Azure AD Premium P2 평가판 활성화 + +이 작업에서는 Azure AD Premium P2 무료 평가판에 등록합니다. + +1. Azure Portal의 도구 모음에서 Cloud Shell 셸 아이콘 오른쪽에 있는 **디렉터리 + 구독** 아이콘을 클릭합니다. + +2. **디렉터리 + 구독** 블레이드에서 새로 만든 테넌트 **AdatumLab500-04**를 클릭하고 **전환** 단추를 클릭하여 현재 디렉터리로 설정합니다. + + >**참고**: **AdatumLab500-04** 항목이 **디렉터리 + 구독** 필터 목록에 나타나지 않으면 브라우저 창을 새로 고쳐야 할 수 있습니다. + +3. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에서 **Azure Active Directory**를 입력하고 **Enter** 키를 누릅니다. **AdatumLab500-04** 블레이드의 **관리** 섹션에서 **라이선스**를 클릭합니다. + +4. **라이선스 \| 개요** 블레이드의 **관리** 섹션에서 **모든 제품**을 클릭한 다음 **+ 사용/구매**를 클릭합니다. + +5. **활성화** 블레이드의 Azure AD Premium P2 섹션에서 **무료 평가판**을 클릭한 다음 **활성화**를 클릭합니다. + + +#### 작업 3: Azure AD 사용자 및 그룹 만들기 + +이 작업에서는 다음 세 사용자를 만듭니다. aaduser1(전역 관리자), aaduser2(사용자), aaduser3(사용자). 이후 작업에는 각 사용자의 사용자 계정 이름과 암호가 필요합니다. + +1. **AdatumLab500-04** Azure Active Directory 블레이드로 다시 이동하여 **관리** 섹션에서 **사용자**를 클릭합니다. + +2. 사용자 모두 블레이드에서 **+ 새 사용자를** 클릭한 다음 **새 사용자** 만들기를 클릭합니다**.** \| + +3. 새 사용자 블레이드에서 **사용자** 만들기 옵션이 선택되어 있는지 확인하고 **기본 탭에서 다음 설정을 지정하고(다른 모든 설정을 기본값으로 유지) 다음을 클릭합니다 **. 속성 >**.** + + |설정|값| + |---|---| + |사용자 계정 이름|**aaduser1**| + |이름|**aaduser1**| + |암호|암호** 자동 생성 옵션이 **선택되어 있는지 확인합니다.| + + >**참고**: 전체 사용자 계정 이름을 기록합니다. 할 일기본 이름을 표시하는 드롭다운 목록의 오른쪽에 있는 클립보드**로 복사 단추를 클릭하여 **값을 복사할 수 있습니다. 이 랩에서 나중에 필요합니다. + + >**참고**: 사용자의 암호를 기록합니다. 텍스트 상자의 오른쪽에 있는 클립보드**로 복사 단추를 클릭하여 **값을 복사할 수 있습니다. 이 랩에서 나중에 필요합니다. + +4. 속성** 탭에서 **아래쪽으로 스크롤하여 사용 위치를 **지정합니다. 미국**(다른 모든 항목은 기본값으로 유지)하고 다음: 할당 >** 클릭합니다**. + +5. 할당 탭에서 **+ 역할** 추가를 클릭하고 **전역 관리istrator**를 검색하여 선택합니다**.** [선택 **]을 클릭한 다음 **검토 + 만들기**를 클릭한 다음 **만들기를 클릭합니다****. + +6. 다시 **사용자 \| 모든 사용자** 블레이드에서 **+ 새 사용자**를 클릭합니다. + +7. 새 사용자 블레이드에서 **사용자** 만들기 옵션이 선택되어 있는지 확인하고 **다음 설정을 지정하고(다른 모든 설정을 기본값으로 유지) 다음을 클릭합니다 **. 속성 >**.** + + |설정|값| + |---|---| + |사용자 계정 이름|**aaduser2**| + |이름|**aaduser2**| + |암호|암호** 자동 생성 옵션이 **선택되어 있는지 확인합니다.| + + >**참고**: 전체 사용자 계정 이름 및 암호를 기록합니다. + +8. 속성 탭에서 **아래쪽으로 스크롤하여 사용 위치를 **지정합니다. 미국**(다른 모든 항목은 기본값으로 유지) 검토 + 만들기**를 클릭한 다음 **만들기**를 클릭합니다**.** + +9. 다시 **사용자 \| 모든 사용자** 블레이드에서 **+ 새 사용자**를 클릭합니다. + +10. 새 사용자 블레이드에서 **사용자** 만들기 옵션이 선택되어 있는지 확인하고 **다음 설정을 지정하고(다른 모든 설정을 기본값으로 유지) 다음을 클릭합니다 **. 속성 >**.** + + |설정|값| + |---|---| + |사용자 계정 이름|**aaduser3**| + |이름|**aaduser3**| + |암호|암호** 자동 생성 옵션이 **선택되어 있는지 확인합니다.| + + >**참고**: 전체 사용자 계정 이름 및 암호를 기록합니다. + +11. 속성 탭에서 **아래쪽으로 스크롤하여 사용 위치를 **지정합니다. 미국**(다른 모든 항목은 기본값으로 유지) 검토 + 만들기**를 클릭한 다음 **만들기**를 클릭합니다**.** + + >**참고**: 이 시점에서 **사용자** 페이지에 새 사용자가 세 명 있어야 합니다. + +#### 작업 4: Azure AD 사용자에게 Azure AD Premium P2 라이선스 할당 + +이 작업에서는 각 사용자를 Azure Active Directory Premium P2 라이선스에 할당합니다. + +1. **사용자 \| 모든 사용자** 블레이드에서 사용자 계정을 나타내는 항목을 클릭합니다. + +2. 사용자 계정의 속성을 표시하는 블레이드에서 **속성 편집**을 클릭합니다. 사용 위치가 미국** 설정되어 **있는지 확인합니다. 그렇지 않은 경우 사용 위치를 설정하고 저장**을 클릭합니다**. + +3. **AdatumLab500-04** Azure Active Directory 블레이드로 다시 이동하여 **관리** 섹션에서 **라이선스**를 클릭합니다. + +4. **라이선스 \| 개요** 블레이드에서 **모든 제품**을 클릭하고 **Azure Active Directory Premium P2** 확인란을 선택한 다음 **+ 할당**을 클릭합니다. + +5. **라이선스 할당** 블레이드에서 **+ 사용자 및 그룹 추가**를 클릭합니다. + +6. **사용자** 블레이드에서 **aaduser1**, **aaduser2**, **aaduser3** 및 사용자 계정을 선택하고 **선택**을 클릭합니다. + +7. 라이선스 할당 블레이드로 돌아가서 할당 옵션을 클릭하고 **모든 옵션이** 사용하도록 설정되어 있는지 확인하고 검토 + 할당**을 클릭한 **다음 할당**을 클릭합니다**.** ** + +8. Azure Portal에서 로그아웃하고 동일한 계정을 사용하여 다시 로그인합니다. (라이선스 할당이 적용되려면 이 단계가 필요합니다.) + + >**참고**: 이 시점에서 이 랩에서 사용할 모든 사용자 계정에 Azure Active Directory Premium P2 라이선스를 할당했습니다. 로그아웃한 다음 다시 로그인하십시오. + +#### 작업 5: Azure MFA 설정 구성 + +이 작업에서는 MFA를 구성하고 aaduser1에 대한 MFA를 활성화합니다. + +1. Azure Portal에서 다시 **AdatumLab500-04** Azure Active Directory 테넌트 블레이드로 이동합니다. + + >**참고**: AdatumLab500-04 Azure AD 테넌트를 사용하고 있는지 확인합니다. + +2. **AdatumLab500-04** Azure Active Directory 테넌트 블레이드의 **관리** 섹션에서 **보안**을 클릭합니다. + +3. **보안 \| 시작** 블레이드의 **관리** 섹션에서 **다단계 인증**을 클릭합니다. + +4. **다단계 인증 \| 시작** 블레이드에서 **추가 클라우드 기반 다단계 인증 설정** 링크를 클릭합니다. + + >**참고**: 그러면 **다단계 인증** 페이지가 표시되는 새 브라우저 탭이 열립니다. + +5. **다단계 인증** 페이지에서 **서비스 설정** 탭을 클릭합니다. **확인 옵션**을 검토합니다. **휴대폰에 문자 메시지 전송**, **모바일 앱을 통한 알림**, **모바일 앱 또는 하드웨어 토큰의 확인 코드**가 활성화됩니다. **저장**을 클릭한 후 **닫기**를 클릭합니다. + +6. 사용자 탭으로 전환하고 **aaduser1** 항목을 클릭하고 **사용 링크를 클릭한 **** 다음 메시지가 표시되면 다단계 인증** 사용을 클릭한 **다음 닫기를** 클릭합니다**.** + +7. **aaduser1**에 대한 **Multi-Factor Auth 상태** 열이 이제 **활성화**되었습니다. + +8. **aaduser1**을 클릭하면 **적용** 옵션도 표시됩니다. + + >**참고**: 사용자 상태를 사용됨에서 적용됨으로 변경하면 Azure MFA를 지원하지 않는 레거시 Azure AD 통합 앱에만 영향을 미치며 상태가 적용됨으로 변경된 후에는 앱 암호를 사용해야 합니다. + +9. **aaduser1** 항목을 선택한 경우 **사용자 설정 관리**를 클릭하고 사용 가능한 옵션을 검토합니다. + + - Require selected users to provide contact methods again(선택한 사용자가 연락처 방법을 다시 제공해야 함). + + - Delete all existing app passwords generated by the selected users(선택한 사용자가 생성한 모든 기존 앱 암호 삭제). + + - 기억된 모든 디바이스에서 다단계 인증을 복원합니다. + +10. 취소를 클릭하고 **Azure Portal에서 Multi-Factor Authentication \| 시작** 블레이드를 **표시하는 브라우저 탭으로 다시 전환**합니다. + +11. **설정** 섹션에서 **사기 행위 경고**를 클릭합니다. + +12. **MFA \| 사기 행위 경고** 블레이드에서 다음 설정을 구성합니다. + + |설정|값| + |---|---| + |사용자가 사기 행위 경고를 제출할 수 있도록 허용|**설정**| + |사기를 신고하는 사용자를 자동으로 차단|**설정**| + |첫 인사말 중 사기 행위를 보고할 코드|**0**| + +13. 페이지 맨 아래에 있는 **저장** + + >**참고**: 이 시점에서 aaduser1 및 사기 행위 경고 설정에 대한 MFA를 활성화했습니다. + +14. AdatumLab500-04** Azure Active Directory 테넌트 블레이드**로 돌아가**서 관리** 섹션에서 속성을** 클릭한 **다음 블레이드 아래쪽의 보안 기본값 관리 링크를 클릭하고 **보안 기본값**** 사용 블레이드에서 **사용 안** 을 클릭합니다**. **내 조직에서 조건부 액세스를 *** 사용하지 않도록 설정하는* 이유로 선택하고 저장**을 클릭하고 **경고를 읽은 다음 사용 안 함을** 클릭합니다**. + + >**참고**: **AdatumLab500-04** Azure AD 테넌트에 로그인되어 있는지 확인합니다. **디렉터리 + 구독** 필터를 사용하여 Azure AD 테넌트 간에 전환할 수 있습니다. Azure AD 테넌트에서 전역 관리자 역할을 하는 사용자로 로그인되었는지 확인합니다. + +#### 작업 6: MFA 구성 유효성 검사 + +이 작업에서는 aaduser1 사용자 계정의 로그인을 테스트하여 MFA 구성의 유효성을 검사합니다. + +1. InPrivate 브라우저 창을 엽니다. + +2. Azure **`https://portal.azure.com/`** Portal로 이동하고 aaduser1** 사용자 계정을 사용하여 **로그인합니다. + + >**참고**: 로그인하려면 이 랩의 앞에서 기록한 AzureAD 테넌트 DNS 도메인 이름을 포함하여 **aaduser1** 사용자 계정의 정규화된 이름을 제공해야 합니다. 이 사용자 이름은 aaduser1@``.onmicrosoft.com 형식이며, ``은 고유한 Azure AD 테넌트 이름을 나타내는 자리 표시자입니다. + +3. 메시지가 표시되면 **자세한 정보 필요** 대화 상자에서 **다음**을 클릭합니다. + + >**참고**: 브라우저 세션은 **추가 보안 인증** 페이지로 리디렉션됩니다. + +4. **계정 보안 유지** 페이지에서 **다른 방법을 설정하고 싶습니다.** 링크를 선택하고 **어떤 방법을 사용하시겠습니까?** 드롭다운 목록에서 **전화**를 선택한 후에 **확인**을 선택합니다. + +5. **계정 보안 유지** 페이지에서 국가나 지역을 선택하고 **전화 번호 입력** 부분에 휴대폰 번호를 입력합니다. 그런 다음 **코드를 문자로 받기** 옵션이 선택되어 있는지 확인하고 **다음**을 클릭합니다. + +6. 계정 보안 유지 페이지에서 휴대폰에 문자 메시지로 수신된 코드를 입력하고 다음을 클릭합니다. + +7. 계정 보안 유지 페이지에서 확인이 정상적으로 완료되었는지 확인하고 다음을 클릭합니다. + +8. 추가 인증 방법을 **묻는 메시지가 표시되면 다른 방법을** 사용하려는 경우 드롭다운 목록에서 전자 메일**을 선택하고 **확인을** 클릭하고 **사용하려는 전자 메일 주소를 입력한 다음 다음**을 클릭합니다**. 해당 이메일을 받으면 이메일 본문에서 코드를 식별하고, 이를 제공한 후에 **완료**를 클릭합니다. + +9. 메시지가 표시되면 암호를 변경합니다. 새 암호를 기록해 두어야 합니다. + +10. Azure Portal에 성공적으로 로그인했는지 확인합니다. + +11. **aaduser1**로 로그아웃하고 InPrivate 브라우저 창을 닫습니다. + +> 결과: 새 AD 테넌트를 만들고, AD 사용자를 구성하고, MFA를 구성하고, 사용자용 MFA 환경을 테스트했습니다. + + +### 연습 3: Azure AD 조건부 액세스 정책 구현 + +### 예상 소요 시간: 15분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: 조건부 액세스 정책 구성 +- 작업 2: 조건부 액세스 정책을 테스트합니다. + +#### 작업 1 - 조건부 액세스 정책을 구성합니다. + +이 작업에서는 조건부 액세스 정책 설정을 검토하고, Azure Portal에 로그인할 때 MFA를 요구하는 정책을 만듭니다. + +1. Azure Portal에서 다시 **AdatumLab500-04** Azure Active Directory 테넌트 블레이드로 이동합니다. + +2. **AdatumLab500-04** 블레이드의 **관리** 섹션에서 **보안**을 클릭합니다. + +3. **보안 \| 시작** 블레이드의 **보호** 섹션에서 **조건부 액세스**를 클릭합니다. 왼쪽 탐색 패널에서 정책을** 클릭합니다**. + +4. 조건부 액세스 \| 정책 블레이드에서 **+ 새 정책을** 클릭합니다****. + +5. **새로 만들기** 블레이드에서 다음 설정을 구성합니다. + + - **이름** 텍스트 상자에 **AZ500Policy1**을 입력합니다. + + - 사용자** 아래에서 **선택한 사용자 및 그룹 0을** 클릭합니다**. 포함**의 오른쪽에서 사용자 및 그룹 선택 >> 사용자 및 그룹**** 선택 **검사 상자의 사용자 및 그룹** 선택 블레이드에서 **aaduser2** 검사 상자를 선택하고 **선택을** 클릭합니다**. + + - 대상 리소스에서 선택한 대상 리소스 없음을 클릭하고 **앱** 선택을 클릭한 **다음 선택에서 [없음 **]을 클릭합니다**.****** 선택 블레이드에서 **Microsoft Azure 관리**용 **검사 상자를 선택하고 선택을** 클릭합니다**.** + + >**참고**: 이 정책이 Azure Portal에 대한 액세스에 영향을 미친다는 경고를 검토합니다. + + - 조건에서 선택한 0개의 조건을 클릭하고 **로그인 위험**에서 **구성**되지 않음을 클릭합니다**.****** **로그인 위험** 블레이드에서 위험 수준을 검토하지만 변경하지 않고 로그인 위험** 블레이드를 **닫습니다. + + - **디바이스 플랫폼에서** 구성**되지 않음을 클릭하고 **포함할 수 있지만 변경하지 않는 디바이스 플랫폼을 검토하고 완료**를 클릭합니다**. + + - 위치** 아래에서 **구성**되지 않음을 클릭하고 **변경하지 않고 위치 옵션을 검토합니다. + + - Access 컨트롤** 섹션의 **권한 부여** 아래에서 **선택한** 0개의 컨트롤을 클릭합니다**. 권한 부여 블레이드에서 **다단계 인증** 필요 검사 상자를 선택하고 **선택을 클릭합니다 **.**** + + - **정책 사용**을 **켜기**로 설정합니다. + +6. **새로 만들기** 블레이드에서 **만들기**를 클릭합니다. + + >**참고**: 이 시점에서 MFA가 Azure Portal에 로그인해야 하는 조건부 액세스 정책이 있습니다. + +#### 작업 2 - 조건부 액세스 정책을 테스트합니다. + +이 작업에서는 Azure Portal에서 **aaduser2**로 로그인하고 MFA가 필요한지 확인합니다. 또한 다음 연습을 계속하기 전에 정책을 삭제합니다. + +1. InPrivate Microsoft Edge 창을 엽니다. + +2. 새 브라우저 창에서 Azure Portal**`https://portal.azure.com/`** 로 이동하고 aaduser2** 사용자 계정으로 **로그인합니다. + +3. 메시지가 표시되면 **자세한 정보 필요** 대화 상자에서 **다음**을 클릭합니다. + + >**참고**: 브라우저 세션은 계정 보안** 유지 페이지로 **리디렉션됩니다. + +4. **계정 보안 유지** 페이지에서 **다른 방법을 설정하고 싶습니다.** 링크를 선택하고 **어떤 방법을 사용하시겠습니까?** 드롭다운 목록에서 **전화**를 선택한 후에 **확인**을 선택합니다. + +5. **계정 보안 유지** 페이지에서 국가나 지역을 선택하고 **전화 번호 입력** 부분에 휴대폰 번호를 입력합니다. 그런 다음 **코드를 문자로 받기** 옵션이 선택되어 있는지 확인하고 **다음**을 클릭합니다. + +6. 계정 보안 유지 페이지에서 휴대폰에 문자 메시지로 수신된 코드를 입력하고 다음을 클릭합니다. + +7. 계정 보안 유지 페이지에서 확인이 정상적으로 완료되었는지 확인하고 다음을 클릭합니다. + +8. 계정 보안 유지 페이지에서 완료를 클릭합니다. + +9. 메시지가 표시되면 암호를 변경합니다. 새 암호를 기록해 두어야 합니다. + +10. Azure Portal에 성공적으로 로그인했는지 확인합니다. + +11. **aaduser2**로 로그아웃하고 InPrivate 브라우저 창을 닫습니다. + + >**참고**: 이제 새로 만든 조건부 액세스 정책이 aaduser2가 Azure Portal에 로그인할 때 MFA를 적용한다는 것을 확인했습니다. + +12. 다시 Azure Portal을 표시하는 브라우저 창에서 **AdatumLab500-04** Azure Active Directory 테넌트 블레이드로 다시 이동합니다. + +13. **AdatumLab500-04** 블레이드의 **관리** 섹션에서 **보안**을 클릭합니다. + +14. **보안 \| 시작** 블레이드의 **보호** 섹션에서 **조건부 액세스**를 클릭합니다. 왼쪽 탐색 패널에서 정책을** 클릭합니다**. + +15. **조건부 액세스 \| 정책** 블레이드에서 **AZ500Policy1** 옆의 줄임표를 클릭하고 **삭제**를 클릭한 후 확인하라는 메시지가 표시되면 **예**를 클릭합니다. + + >**참고**: 결과: 이 연습에서는 사용자가 Azure Portal에 서명할 때 MFA를 요구하는 조건부 액세스 정책을 구현합니다. + +>결과: Azure AD 조건부 액세스를 구성하고 테스트했습니다. + +### 연습 4: 조건부 액세스에서 위험 기반 정책 배포 + +### 예상 소요 시간: 30분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: Azure Portal에서 Azure AD ID 보호 옵션 보기 +- 작업 2: 사용자 위험 정책 구성 +- 작업 3: 로그인 위험 정책 구성 +- 작업 4: Azure AD ID 보호 정책에 대한 위험 이벤트 시뮬레이션 +- 작업 5: Azure AD ID 보호 보고 검토 + +#### 작업 1: Azure AD ID 보호 사용 + +이 작업에서는 Azure Portal의 Azure AD ID 보호 옵션을 봅니다. + +1. 필요한 경우 Azure Portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: **AdatumLab500-04** Azure AD 테넌트에 로그인되어 있는지 확인합니다. **디렉터리 + 구독** 필터를 사용하여 Azure AD 테넌트 간에 전환할 수 있습니다. Azure AD 테넌트에서 전역 관리자 역할을 하는 사용자로 로그인되었는지 확인합니다. + +#### 작업 2: 사용자 위험 정책 구성 + +이 작업에서는 사용자 위험 정책을 만듭니다. + +1. **AdatumLab500-04** Azure AD 테넌트 > **보안**** > 조건부 액세스 > ****정책**으로 이동하세요. + +2. + 새 정책을** 클릭합니다**. + +3. **이름** 텍스트 상자에 다음 정책 이름을 입력하고 **AZ500Policy2**를 입력합니다. + +4. 할당** > **사용자** 아래에서 **선택한** 사용자 및 그룹 0을 클릭합니다.** + +5. 포함에서 사용자 및 그룹 선택을 클릭하고 **사용자 및 그룹을**** 클릭하고 **aaduser2** 및 **aaduser3**을 선택한 **다음 선택을** 클릭합니다**.**** + +6. 제외**에서 **사용자 및 그룹을** 클릭하고 **aaduser1**을 선택한 **다음 선택을** 클릭합니다**. + +7. 대상 리소스에서 **선택한** 대상 리소스 없음을 클릭하고**, 드롭다운에서 클라우드 앱**이 선택되어 있는지 **확인하고, [포함 **] 아래에서 **모든 클라우드 앱을** 선택합니다**.** + +8. 조건에서 선택한 0개의 조건을 클릭하고 **사용자 위험**에서 **구성**되지 않음을 클릭합니다**.****** 사용자 위험 블레이드에서 **구성**을 예**로 **설정합니다**.** + +9. **정책을 적용하는 데 필요한 사용자 위험 수준 구성**에서 **높음**을 선택합니다. + +10. **완료**를 클릭합니다. + +11. Access 컨트롤** 섹션의 **권한 부여** 아래에서 **선택한** 0개의 컨트롤을 클릭합니다**. 권한 부여 블레이드에서 **액세스 권한** 부여가 선택되어 있는지 **확인**합니다. + +12. **다단계 인증 필요** 및 **암호 변경 필요**를 선택합니다. + +13. **선택**을 클릭합니다. + +14. **세션에서** 선택한** 0개의 컨트롤을 클릭합니다**. 로그인 빈도**를 선택한 **다음 매번** 선택합니다**. + +15. **선택**을 클릭합니다. + +16. 사용 정책이** 보고서 전용**으로 **설정되어 있는지 확인**합니다. + +17. **만들기**를 클릭하여 정책을 사용하도록 설정합니다. + +#### 작업 3: 로그인 위험 정책 구성 + +1. **AdatumLab500-04** Azure AD 테넌트 > **보안**** > 조건부 액세스> ****정책**으로 이동하세요. + +2. **+ 새 정책**을 선택합니다. + +3. **이름** 텍스트 상자에 다음 정책 이름을 입력하고 **AZ500Policy3**를 입력합니다. + +4. 할당** > **사용자** 아래에서 **선택한** 사용자 및 그룹 0을 클릭합니다.** + +5. 포함에서 사용자 및 그룹 선택을 클릭하고 **사용자 및 그룹을**** 클릭하고 **aaduser2** 및 **aaduser3**을 선택한 **다음 선택을** 클릭합니다**.**** + +6. 제외****에서 **사용자 및 그룹을** 클릭하고 aaduser1**을 선택하고 **선택을** 클릭합니다**. + +7. 대상 리소스에서 **선택한** 대상 리소스 없음을 클릭하고**, 드롭다운에서 클라우드 앱**이 선택되어 있는지 **확인하고, [포함 **] 아래에서 **모든 클라우드 앱을** 선택합니다**.** + +8. 조건에서 선택한 0개의 조건을 클릭하고 **로그인 위험**에서 **구성**되지 않음을 클릭합니다**.****** **로그인 위험** 블레이드에서 구성**을 예**로 **설정합니다**. + +9. **이 정책을 적용할 로그인 위험 수준 선택** 아래에서 **높음** 및 **중간**을 선택합니다. + +10. **완료**를 클릭합니다. + +11. Access 컨트롤** 섹션의 **권한 부여** 아래에서 **선택한** 0개의 컨트롤을 클릭합니다**. 권한 부여 블레이드에서 **액세스 권한** 부여가 선택되어 있는지 **확인**합니다. + +12. 다단계 인증** 필요를 선택합니다**. + +13. **선택**을 클릭합니다. + +14. **세션에서** 선택한** 0개의 컨트롤을 클릭합니다**. 로그인 빈도**를 선택한 **다음 매번** 선택합니다**. + +15. **선택**을 클릭합니다. + +16. 설정을 확인하고 **정책 사용**을 **켜기**로 설정합니다. + +17. **만들기**를 클릭하여 정책을 사용하도록 설정합니다. + +#### 작업 4: Azure AD ID 보호 정책에 대한 위험 이벤트 시뮬레이션 + +> 이 작업을 시작하기 전에 연습 1에서 시작한 템플릿 배포가 완료되었는지 확인합니다. 배포에는 **az500-04-vm1**이라는 Azure VM이 포함됩니다. + +1. Azure Portal에서 az500-04-vm1** Azure VM을 배포한 **Azure 구독과 연결된 Azure AD 테넌트에 디렉터리 + 구독** 필터를 설정합니다**. + +2. Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **가상 머신**을 입력하고 **Enter** 키를 누릅니다. + +3. **가상 머신** 블레이드에서 **az500-04-vm1** 항목을 클릭합니다. + +4. **az500-04-vm1** 블레이드에서 커넥트** 클릭합니다**. RDP** 탭에 **있는지 확인합니다. + +5. **RDP 파일 다운로드**를 클릭한 후 원격 데스크톱을 통해 **az500-04-vm1** Azure VM에 연결합니다. 인증하라는 메시지가 표시되면 다음 자격 증명을 입력합니다. + + |설정|값| + |---|---| + |사용자 이름|**Student**| + |암호|**랩 04 > 연습 1 > 작업 1 > 9단계에서 만든 개인 암호를 사용하세요.**| + + >**참고**: 원격 데스크톱 세션과 **서버 관리자**가 로드될 때까지 기다립니다. + + >**참고**: 다음 단계는 원격 데스크톱 세션에서 **az500-04-vm1** Azure VM으로 수행됩니다. + +6. **서버 관리자**에서 **로컬 서버**를 클릭한 다음 **IE 보안 강화 구성**을 클릭합니다. + +7. **Internet Explorer 강화된 보안 구성** 대화 상자에서 두 옵션을 **해제**로 설정하고 **확인**을 클릭합니다. + +8. **Internet Explorer**를 시작하고 드롭다운 메뉴의 도구 모음에서 톱니 바퀴 아이콘을 클릭한 뒤 **안전**을 클릭한 다음 **InPrivate 브라우징**을 클릭합니다. + +9. InPrivate Internet Explorer 창에서 **https://www.torproject.org/projects/torbrowser.html.en** 의 Tor 브라우저 프로젝트로 이동합니다. + +10. 기본 설정으로 ToR 브라우저의 Windows 버전을 다운로드하고 설치합니다. + +11. 설치가 완료되면 ToR 브라우저를 시작하고, 초기 페이지에서 커넥트 옵션을 사용하고 **, 애플리케이션 액세스 패널 찾습니다****https://myapps.microsoft.com.** + +12. 메시지가 표시되면 **aaduser3** 계정으로 로그인을 시도합니다. + + >**참고**: **로그인이 차단되었음**이라는 메시지가 표시됩니다. 이 계정은 다단계 인증으로 구성되지 않았으므로 ToR 브라우저 사용과 관련된 로그인 위험이 증가하므로 필요합니다. + +13. ToR 브라우저에서 뒤로 화살표를 선택하여 이 랩의 앞부분에서 다단계 인증을 위해 만들고 구성한 aaduser1** 계정으로 **로그인합니다. + + >**참고**: 이번에는 **의심스러운 활동이 감지됨**이라는 메시지가 표시됩니다. 이 계정은 다단계 인증으로 구성되므로 다시 한 번 필요합니다. ToR 브라우저 사용과 관련한 로그인 위험이 증가하는 것을 고려하여 다단계 인증을 사용해야 합니다. + +14. **확인** 옵션을 사용하여 문자 또는 전화 통화로 ID를 확인할지 여부를 지정합니다. + +15. 확인을 완료하고 애플리케이션 액세스 패널에 성공적으로 로그인했는지 확인합니다. + +16. RDP 세션을 닫습니다. + + >**참고**: 이 시점에서 두 개의 다른 로그인을 시도했습니다. 다음으로, Azure ID 보호 보고서를 검토합니다. + +#### 작업 5: Azure AD ID 보호 보고 검토 + +이 작업에서는 ToR 브라우저 로그인에서 생성된 Azure AD ID 보호 보고서를 검토합니다. + +1. Azure Portal로 돌아가서 **디렉터리 + 구독** 필터를 사용하여 **AdatumLab500-04** Azure Active Directory 테넌트로 전환합니다. + +2. **AdatumLab500-04** 블레이드의 **관리** 섹션에서 **보안**을 클릭합니다. + +3. **보안 \| 시작** 블레이드의 **보고** 섹션에서 **위험한 사용자**를 클릭합니다. + +4. 보고서를 검토하여 **aaduser3** 사용자 계정을 참조하는 항목이 있는지 확인합니다. + +5. **보안 \| 시작** 블레이드의 **보고** 섹션에서 **위험한 로그인**을 클릭합니다. + +6. 보고서를 검토하여 **aaduser3** 사용자 계정을 통한 로그인에 해당하는 항목이 있는지 확인합니다. + +7. **보고서**에서 **위험 검색**을 클릭합니다. + +8. 보고서를 검토하여 ToR 브라우저에서 생성된 익명 IP 주소의 로그인을 나타내는 항목이 있는지 확인합니다. + + >**참고**: 보고서에 위험이 표시되는 데 10~15분이 걸릴 수 있습니다. + +> **결과**: 위험 이벤트를 시뮬레이션하여 Azure AD ID 보호 구성의 유효성을 검사한 것은 물론, Azure AD ID 보호를 사용하고 사용자 위험 정책 및 로그인 위험 정책을 구성했습니다. + +**리소스 정리** + +> 더 이상 사용하지 않는 ID 보호 리소스는 제거해야 합니다. + +다음 단계를 사용하여 **AdatumLab500-04** Azure AD 테넌트의 ID 보호 정책을 사용하지 않도록 설정합니다. + +1. Azure Portal에서 다시 **AdatumLab500-04** Azure Active Directory 테넌트 블레이드로 이동합니다. + +2. **AdatumLab500-04** 블레이드의 **관리** 섹션에서 **보안**을 클릭합니다. + +3. **보안 \| 시작** 블레이드의 **보호** 섹션에서 **ID 보호**를 클릭합니다. + +4. **ID 보호 \| 개요** 블레이드에서 **사용자 위험 정책**을 클릭합니다. + +5. ID 보호 \| 사용자 위험 정책** 블레이드에서 **정책 적용**을 **사용하지 않도록** 설정한 **다음 저장**을 클릭합니다**. + +6. **ID 보호 \| 사용자 위험 정책** 블레이드에서 로그인 위험 정책을 클릭합니다.**** + +7. ID 보호 \| 로그인 위험 정책** 블레이드에서 정책 적용**을 **사용하지 않도록** 설정한 **다음 저장**을 클릭합니다**.** + +다음 단계를 사용하여 랩의 앞 부분에서 프로비전한 Azure VM을 중지합니다. + +1. Azure Portal에서 az500-04-vm1** Azure VM을 배포한 **Azure 구독과 연결된 Azure AD 테넌트에 디렉터리 + 구독** 필터를 설정합니다**. + +2. Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **가상 머신**을 입력하고 **Enter** 키를 누릅니다. + +3. **가상 머신** 블레이드에서 **az500-04-vm1** 항목을 클릭합니다. + +4. **az500-04-vm1** 블레이드에서 **중지**를 클릭하고 확인하라는 메시지가 표시되면 **확인**을 클릭하세요. + +> PIM 랩에 종속성이 있기 때문에 이 랩에서 프로비전된 리소스는 제거하지 않습니다. diff --git a/Instructions/Labs/LAB_05_PIM.md b/Instructions/Labs/LAB_05_PIM.md new file mode 100644 index 0000000..ea4d0ff --- /dev/null +++ b/Instructions/Labs/LAB_05_PIM.md @@ -0,0 +1,380 @@ +--- +lab: + title: 05 - Microsoft Entra Privileged Identity Management + module: Module 01 - Manage Identity and Access +--- + +# 랩 05: Microsoft Entra Privileged Identity Management +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +Microsoft Entra PIM(Privileged Identity Management)을 사용하여 Just-In-Time 관리를 사용하도록 설정하고 권한 있는 작업을 수행할 수 있는 사용자 수를 제어하는 개념 증명을 만들라는 요청을 받았습니다. 특정 요구 사항은 다음과 같습니다. + +- 보안 관리istrator 역할에 aaduser2 Microsoft Entra ID 사용자의 영구 할당을 만듭니다. +- aaduser2 Microsoft Entra ID 사용자를 청구 관리istrator 및 전역 읽기 권한자 역할에 적합하도록 구성합니다. +- aaduser3 Microsoft Entra ID 사용자의 승인이 필요하도록 전역 판독기 역할 활성화 구성 +- 글로벌 리더 역할에 대한 액세스 검토를 구성하고 감사 기능을 검토합니다. + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +> 계속하기 전에 랩 04: MFA, 조건부 액세스 및 Microsoft Entra Identity Protection을 완료해야 합니다. Microsoft Entra 테넌트, AdatumLab500-04 및 aaduser1, aaduser2 및 aaduser3 사용자 계정이 필요합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다: + +- 연습 1: PIM 사용자와 역할을 구성합니다. +- 연습 2: 승인 없이 PIM 역할을 활성화합니다. +- 연습 3: 액세스 검토를 만들고 PIM 감사 기능을 검토합니다. + +## Microsoft Entra Privileged Identity Management 다이어그램 + +![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/aef34a22-8ebd-4015-a04a-7ac3c357b862) + +## Instructions + +### 연습 1 - PIM 사용자 및 역할 구성 + +#### 예상 소요 시간: 15분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: 사용자에게 역할을 부여합니다. +- 작업 2: 적합한 구성원을 활성화하고 추가하려면 승인이 필요하도록 역할을 구성하십시오. +- 작업 3: 사용자에게 역할에 대해 영구적 할당을 제공합니다. + +#### 작업 1: 사용자에게 역할 부여 + +이 작업에서는 사용자가 Microsoft Entra ID 역할을 받을 수 있도록 합니다. + +1. 에서 **`https://portal.azure.com/`** Azure Portal에 로그인합니다. + + >**참고**: AdatumLab500-04** Microsoft Entra 테넌트에 로그인**되어 있는지 확인합니다. 디렉터리 + 구독** 필터를 **사용하여 Microsoft Entra 테넌트 간에 전환할 수 있습니다. 전역 관리자 역할이 있는 사용자로 로그인되었는지 확인합니다. + + >**참고**: AdatumLab500-04 항목이 계속 표시되지 않으면 디렉터리 전환 링크를 클릭하고 AdatumLab500-04 줄을 선택한 다음 전환 단추를 클릭합니다. + +2. Azure Portal의 Azure Portal 페이지 위쪽에 있는 **검색 리소스, 서비스 및 문서** 텍스트 상자에 Microsoft Entra Privileged Identity Management**를 입력**하고 Enter** 키를 누릅니**다. + +3. **Privileged Identity Management** 블레이드의 **관리** 섹션에서 Microsoft Entra ID 역할을** 클릭합니다**. + +4. **AdatumLab500-04 \| 빠른 시작** 블레이드의 **관리** 섹션에서 **역할**을 클릭합니다. + +5. **AdatumLab500-04 \| 역할** 블레이드에서 **+ 할당 추가**를 클릭합니다. + +6. **할당 추가** 블레이드 내 **역할 선택** 드롭다운에서 **대금 청구 관리자**를 선택합니다. + +7. **선택한 구성원이 없음** 링크를 클릭하고 **구성원 선택** 블레이드에서 **aaduser2**를 클릭한 다음 **선택**을 클릭합니다. + +8. **할당 추가** 블레이드로 돌아가 **다음**을 클릭합니다. + +9. **할당 유형**이 **적격**으로 설정되어 있는지 확인하고 **할당**을 클릭합니다. + +10. **AdatumLab500-04 \| 역할** 블레이드로 돌아와 **관리** 섹션에서 **할당**을 클릭합니다. + +11. **AdatumLab500-04 \| 할당** 블레이드로 돌아와 **적격 할당**, **활성 할당** 및 **만료된 할당** 탭을 확인합니다. + +12. **적격 할당** 탭에서 **aaduser2**가 **대금 청구 관리자**로 표시되어 있는지 확인합니다. + + >**참고**: 로그인하는 동안, aaduser2는 청구 관리자 역할을 사용할 수 있는 자격이 있습니다. + +#### 작업 2: 적격 구성원을 활성화하고 추가하기 위해 승인이 필요한 역할 구성 + +1. Azure Portal에서 Privileged Identity Management** 블레이드로 **돌아가서 Microsoft Entra ID 역할을** 클릭합니다**. + +2. **AdatumLab500-04 \| 빠른 시작** 블레이드의 **관리** 섹션에서 **역할**을 클릭합니다. + +3. **AdatumLab500-04 \| 역할** 블레이드에서 **전역 판독기** 역할 항목을 클릭합니다. + +4. **전역 읽기 \| 권한자** 할당 블레이드의 블레이드 도구 모음에서 역할 설정** 아이콘을 클릭하고 **Azure Multi-Factor Authentication 요구 사항을 포함하여 역할에 대한 구성 설정을 검토합니다. + +5. **편집**을 클릭합니다. + +6. **활성화** 탭에서 **활성화를 위한 승인 요청** 체크박스를 허용합니다. + +7. **승인자 선택**을 클릭하고 **구성원 선택** 블레이드에서 **aaduser3**을 클릭한 다음 **선택**을 클릭합니다. + +8. **다음: 할당**을 클릭합니다. + +9. **영구 적격 할당 허용** 체크박스를 해제하고 다른 모든 설정을 기본 값으로 남겨 둡니다. + +10. **다음:알림**을 클릭합니다. + +11. **알림** 설정을 검토하고, 모든 항목을 기본값 설정으로 두고, **업데이트**를 클릭합니다. + + >**참고**: 이제 전역 Reader 역할을 사용하려는 모든 사용자는 aaduser3의 승인이 필요합니다. + +12. **전역 판독기 \| 할당** 블레이드에서 **+ 할당 추가**를 클릭합니다. + +13. **할당 추가** 블레이드에서 **선택한 구성원 없음**을 클릭하고, **구성원 선택** 블레이드에서 **aaduser2**를 클릭한 다음 **선택**을 클릭합니다. + +14. **다음**을 클릭합니다. + +15. **할당 유형**이 **적격**을 확인하고 적격 기간 설정을 검토합니다. + +16. **할당**을 클릭합니다. + + >**참고**: 사용자 aaduser2는 전역 독자 역할을 사용할 수 있습니다. + +#### 작업 3: 사용자에게 역할에 대해 영구적 할당을 제공합니다. + +1. Azure Portal에서 Privileged Identity Management** 블레이드로 **돌아가서 Microsoft Entra ID 역할을** 클릭합니다**. + +2. **AdatumLab500-04 \| 빠른 시작** 블레이드의 **관리** 섹션에서 **역할**을 클릭합니다. + +3. **AdatumLab500-04 \| 역할** 블레이드에서 **+ 할당 추가**를 클릭합니다. + +4. **할당 추가** 블레이드 내 **역할 선택** 드롭다운에서 **보안 관리자**를 선택합니다. + +5. **할당 추가** 블레이드에서 **선택한 구성원이 없음**을 클릭하고, **구성원 선택**에서 **aaduser2**를 클릭한 다음 **선택**을 클릭합니다. + +6. **다음**을 클릭합니다. + +7. **할당 유형** 설정을 검토하고 **할당**을 클릭합니다. + +8. 왼쪽 탐색 패널에서 할당을** 클릭합니다**. 적격 할당 탭의 **보안 관리istrator**에서 **aaduser2** 할당에 대한 **업데이트를** 선택합니다**.** **영구적으로 적격**을 선택하고 **저장**을 클릭합니다. + + >**참고**: 이제 aaduser2 사용자에게 보안 관리자 역할이 영구적으로 할당됩니다. + +### 연습 2 - 승인 유무에 따른 PIM 역할 활성화 + +#### 예상 소요 시간: 15분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: 승인이 필요하지 않은 역할을 활성화합니다. +- 작업 2: 승인이 필요한 역할을 활성화합니다. + +#### 작업 1: 승인이 필요하지 않은 역할을 활성화합니다. + +이 작업에서는 승인이 필요하지 않은 역할을 활성화합니다. + +1. InPrivate 브라우저 창을 엽니다. + +2. InPrivate 브라우저 창에서 Azure Portal로 **`https://portal.azure.com/`** 이동하여 aaduser2** 사용자 계정을 사용하여 **로그인합니다. + + >**참고**: 로그인하려면 이 랩의 앞부분에서 기록한 Microsoft Entra 테넌트 DNS do기본 이름을 포함하여 aaduser2** 사용자 계정의 **정규화된 이름을 제공해야 합니다. 이 사용자 이름은 aaduser2@``.onmicrosoft.com 형식으로, 고유한 `` Microsoft Entra 테넌트 이름을 나타내는 자리 표시자입니다. + +3. Azure Portal의 Azure Portal 페이지 위쪽에 있는 **검색 리소스, 서비스 및 문서** 텍스트 상자에 Microsoft Entra Privileged Identity Management**를 입력**하고 Enter** 키를 누릅니**다. + +4. **Privileged Identity Management** 블레이드의 **작업** 섹션에서 **내 역할**을 클릭합니다. + +5. **aaduser2**에 대한 세 가지 **적격 역할**이 표시됩니다. **전역 읽기 권한자**, **보안 관리자** 및 **대금 청구 관리자**. + +6. **청구 관리자** 역할 항목이 표시된 행에서 **활성화 **를 클릭합니다. + +7. 필요한 경우 **추가 확인이 필요합니다. 계속하려면 클릭하세요** 경고를 클릭하고 지침에 따라 ID를 확인합니다. + +8. **활성화 - 대금 청구 관리자** 블레이드의 **이유** 텍스트 상자에 활성화의 근거를 제시하는 텍스트를 입력한 다음 **활성화**를 클릭합니다. + + >**참고**: PIM에서 역할을 활성화하면 활성화가 적용되기까지 최대 10분이 걸릴 수 있습니다. + + >**참고**: 역할 할당이 활성화되면 브라우저를 새로 고칩니다(잘못된 부분이 있는 경우 로그아웃했다가 **aaduser2** 사용자 계정을 사용하여 Azure Portal에 다시 로그인하면 됨). + +9. **Privileged Identity Management** 블레이드로 다시 이동하여 **작업** 섹션에서 **내 역할**을 클릭합니다. + +10. **내 역할 \| Microsoft Entra ID 역할** 블레이드에서 활성 할당 탭으로 **전환합니다**. **청구 관리주체** 역할이 활성화되어** 있습니다**. + + >**참고**: 활성화된 역할은 **종료 시간**(적격 기간)의 제한 시간에 도달하면 자동으로 비활성화됩니다. + + >**참고**: 관리자 작업을 일찍 완료하면 역할을 수동으로 비활성화할 수 있습니다. + +11. **활성 할당** 목록의 대금 청구 관리자 역할을 나타내는 행에서 **비활성화** 링크를 클릭합니다. + +12. **비활성화 - 청구 관리자** 블레이드에서 **비활성화**를 다시 클릭하여 확인합니다. + + +#### 작업 2: 승인이 필요한 역할을 활성화합니다. + +이 작업에서는 승인이 필요한 역할을 활성화합니다. + +1. InPrivate 브라우저 창에서 Azure Portal에 **aaduser2** 사용자로 로그인한 상태에서 **Privileged Identity Management\| 빠른 시작** 블레이드로 다시 이동합니다. + +2. **Privileged Identity Management \| 빠른 시작** 블레이드의 **작업** 섹션에서 **내 역할**을 클릭합니다. + +3. **내 역할 \| Microsoft Entra ID 역할** 블레이드의 **적격 할당** 목록에서 전역 읽기** 권한자 **역할을 표시하는 행에서 활성화**를 클릭합니다**. + +4. **활성화 - 전역 리더** 블레이드에서 **이유** 입력란에 활성화의 근거를 제공하는 텍스트를 입력한 다음 **활성화**를 클릭합니다. + +5. Azure Portal의 도구 모음에서 **알림** 아이콘을 클릭하고 요청이 승인 보류 중임을 알리는 알림을 확인합니다. + + >**참고**: 권한 있는 역할 관리자는 언제든지 요청을 검토하고 취소할 수 있습니다. + +6. **내 역할 \| Microsoft Entra ID 역할** 블레이드에서 보안 관리istrator** 역할을 찾고 **활성화**를 클릭합니다**. + +7. 필요한 경우 **추가 확인이 필요합니다. 계속하려면 클릭하세요** 경고를 클릭하고 지침에 따라 ID를 확인합니다. + + >**참고**: 세션당 한 번만 인증하면 됩니다. + +8. Azure Portal 인터페이스에 다시 돌아가면 **활성화 - 보안 관리자**의 **이유** 체크박스에서 활성화에 대한 근거를 제공하는 텍스트를 입력한 다음 **활성화**를 클릭합니다. + + >**참고**: 자동 승인 프로세스가 완료되어야 합니다. + +9. **내 역할 \| Microsoft Entra ID 역할** 블레이드로 돌아가서 활성 할당 탭을 클릭하고 **활성 할당**** 목록에 **보안 관리istrator가 포함되지만 전역 읽기** 권한자** 역할은 포함되지 **않습니다**. + + >**참고**: 이제 전역 독자 역할을 승인합니다. + +10. **aaduser2**로 Azure Portal에서 로그아웃합니다. + +11. InPrivate 브라우저에서 aaduser3**으로 **Azure Portal에** **`https://portal.azure.com/`로그인합니다. + + >**참고**: 사용자 계정을 사용하여 인증에 문제가 발생하는 경우 사용자 계정을 사용하여 Microsoft Entra 테넌트에 로그인하여 암호를 재설정하거나 로그인 옵션을 다시 구성할 수 있습니다. + +12. Azure Portal에서 Microsoft Entra Privileged Identity Management**로 이동합니다**(Azure Portal 페이지의 맨 위에 있는 검색 리소스, 서비스 및 문서 텍스트 상자에서 Microsoft Entra Privileged Identity Management를 입력하고 Enter 키를 누릅니다). + +13. **Privileged Identity Management \| 빠른 시작** 블레이드의 **작업** 섹션에서 **요청 승인**을 클릭합니다. + +14. **요청 승인 요청 \| Microsoft Entra ID 역할** 블레이드의 **역할 활성화** 요청 섹션에서 aaduser2**의 전역 읽기** 권한자 역할에 대한 역할 활성화 요청을 **나타내는 항목의 **검사 상자를 선택합니다. + +15. **승인**을 클릭합니다. **요청 승인** 블레이드의 **Justification** 텍스트 상자에 활성화 이유를 입력하고 시작 시간과 종료 시간을 확인한 후에 **확인**을 클릭합니다. + + >**참고**: 요청을 거부할 수도 있습니다. + +16. **aaduser3**로 Azure Portal에서 로그아웃합니다. + +17. InPrivate 브라우저에서 aaduser2로 **Azure Portal에** **`https://portal.azure.com/`로그인합니다.** + +18. Azure Portal에서 Microsoft Entra Privileged Identity Management**로 이동합니다**(Azure Portal 페이지의 맨 위에 있는 검색 리소스, 서비스 및 문서 텍스트 상자에서 Microsoft Entra Privileged Identity Management를 입력하고 Enter 키를 누릅니다). + +19. **Privileged Identity Management \| 빠른 시작** 블레이드의 **작업** 섹션에서 **내 역할**을 클릭합니다. + +20. **내 역할 \| Microsoft Entra ID 역할** 블레이드에서 **활성 할당 탭을 클릭하고 전역 읽기 권한자 역할이 활성 상태인지 확인합니다**. + + >**참고**: 업데이트된 활성 할당 목록을 보려면 페이지를 새로 고쳐야 할 수도 있습니다. + +21. 로그아웃한 후 InPrivate 브라우저 창을 닫습니다. + +> 결과: 승인이 필요한 경우와 필요하지 않은 경우의 PIM 역할 활성화를 연습했습니다. + +### 연습 3 - 액세스 검토를 만들고 PIM 감사 기능 검토 + +#### 예상 소요 시간: 10분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: PIM에서 Microsoft Entra ID 역할에 대한 보안 경고 구성 +- 작업 2: PIM 경고, 요약 정보 및 자세한 감사 정보 검토 + +#### 작업 1: PIM에서 Microsoft Entra ID 역할에 대한 보안 경고 구성 + +이 작업에서는 "부실" 역할 할당과 관련된 위험을 줄일 수 있습니다. 할당된 역할이 여전히 유효한지 확인하기 위해 PIM 액세스 검토를 만들어 이 작업을 수행합니다. 특히 전역 읽기 권한자를 검토합니다. + +1. 계정을 사용하여 Azure Portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: AdatumLab500-04** Microsoft Entra 테넌트에 로그인**되어 있는지 확인합니다. 디렉터리 + 구독** 필터를 **사용하여 Microsoft Entra 테넌트 간에 전환할 수 있습니다. 전역 관리자 역할이 있는 사용자로 로그인되었는지 확인합니다. + + >**참고**: AdatumLab500-04 항목이 계속 표시되지 않으면 디렉터리 전환 링크를 클릭하고 AdatumLab500-04 줄을 선택한 다음 전환 단추를 클릭합니다. + +2. Azure Portal의 Azure Portal 페이지 위쪽에 있는 **검색 리소스, 서비스 및 문서** 텍스트 상자에 Microsoft Entra Privileged Identity Management**를 입력**하고 Enter** 키를 누릅니**다. + +3. **Privileged Identity Management** 블레이드로 이동합니다. + +4. **Privileged Identity Management \| 빠른 시작** 블레이드의 **관리** 섹션에서 Microsoft Entra 역할을** 클릭합니다**. + +5. **AdatumLab500-04 \| 빠른 시작** 블레이드의 **관리** 섹션에서 **액세스 검토**를 클릭합니다. + +6. **AdatumLab500-04 \| 액세스 검토** 블레이드에서 **새로 만들기**를 클릭합니다. + +7. **액세스 검토 만들기** 블레이드에서 다음 설정을 지정합니다(다른 설정은 기본값으로 남겨둡니다). + + |설정|값| + |---|---| + |검토 이름|**전역 독자 검토**| + |시작 날짜|오늘 날짜| + |빈도|**한 번**| + |종료 날짜|이번 달 말| + |역할, 권한 있는 역할 선택|**전역 판독기**| + |검토자|**선택한 사용자**| + |검토자 선택|계정| + +8. **액세스 검토 만들기** 블레이드에서 **시작**을 클릭합니다. + + >**참고**: 검토가 배포되고 **AdatumLab500-04 \| 액세스 검토** 블레이드에 표시되려면 1분 정도 걸립니다. 웹 페이지를 새로 고침해야 할 수 있습니다. 검토 상태가 **활성**이 됩니다. + +9. **AdatumLab500-04 \| 액세스 검토** 블레이드의 **전역 판독기 검토** 헤더 아래에서 **전역 독자** 항목을 클릭합니다. + +10. **전역 reader 검토** 블레이드에서 **개요** 페이지를 살펴보고, **진행률** 차트에 **검토되지 않은** 범주의 단일 사용자가 표시됩니다. + +11. **전역 reader 검토** 블레이드의 **관리** 섹션에서 **결과**를 클릭합니다. aaduser2는 이 역할에 액세스할 수 있는 것으로 나열됩니다. + +12. **aaduser2**에서 **보기**를 클릭하여 해당 사용자를 포함하는 PIM 활동을 나타내는 항목이 포함된 자세한 감사 로그를 봅니다. + +13. **AdatumLab500-04 \| 액세스 검토** 블레이드로 다시 이동합니다. + +14. **AdatumLab500-04 \| 액세스 검토** 블레이드의 **작업** 섹션에서 **액세스 검토**를 클릭한 다음 **전역 독자 검토** 항목을 클릭합니다. + +15. **전역 독자 검토** 블레이드에서 **aaduser2**항목을 클릭합니다. + +16. **이유** 입력란에 승인 근거를 입력한 다음, **승인**을 클릭하여 현재 역할 구성원 자격을 유지하거나 **거부**를 클릭하여 취소합니다. + +17. Privileged Identity Management 블레이드로 **돌아가서 **관리** 섹션에서 Microsoft Entra ID 역할을** 클릭합니다**.** + +18. **AdatumLab500-04 \| 빠른 시작** 블레이드의 **관리** 섹션에서 **액세스 검토**를 클릭합니다. + +19. **전역 독자** 검토를 나타내는 항목을 선택합니다. 검토 결과를 표시하도록 **진행률**차트가 업데이트되었습니다. + +#### 작업 2: PIM 경고, 요약 정보 및 자세한 감사 정보를 검토합니다. + +이 작업에서는 PIM 경고, 요약 정보 및 자세한 감사 정보를 검토합니다. + +1. Privileged Identity Management 블레이드로 **돌아가서 **관리** 섹션에서 Microsoft Entra ID 역할을** 클릭합니다**.** + +2. **AdatumLab500-04 \| 빠른 시작** 블레이드의 **관리** 섹션에서 **경고**를 클릭한 다음 **설정**을 클릭합니다. + +3. **경고 설정** 블레이드에서 미리 구성된 경고 및 위험 수준을 검토합니다. 자세한 내용은 해당 정보를 클릭합니다. + +4. **AdatumLab500-04 \| 빠른 시작** 블레이드로 돌아와 **개요**를 클릭합니다. + +5. **AdatumLab500-04 \| 개요** 블레이드에서 역할 활성화, PIM 활동, 경고, 역할 할당에 대한 요약 정보를 검토합니다. + +6. **AdatumLab500-04 \| 개요** 블레이드의 **활동** 섹션에서 **리소스 감사**를 클릭합니다. + + >**참고**: 감사 기록은 지난 30일 이내에 모든 권한 있는 역할 할당 및 활성화에 사용할 수 있습니다. + +7. **시간**, **요청자**, **작업**, **리소스 이름**, **범위**, **기본 대상** 및 **주제**를 포함한 자세한 정보를 검색할 수 있습니다. + +> 결과: 액세스 검토를 구성하고 감사 정보를 검토했습니다. + +**리소스 정리** + +> 더 이상 사용하지 않는 새로 만든 Azure 리소스는 모두 제거하세요. 사용하지 않는 리소스를 제거하면 예상하지 못한 비용이 발생하지 않습니다. + +1. Azure Portal에서 디렉터리 + 구독 필터를 az500-04-vm1** Azure VM을 배포한 **Azure 구독과 연결된 Microsoft Entra 테넌트로 설정합니다 **.** + + >**참고**: 기본 Microsoft Entra 테넌트 항목이 표시되지 않으면 Diretory 전환 링크를 클릭하고 기본 테넌트 줄을 선택하고 전환 단추를 클릭합니다. + +2. Azure Portal 오른쪽 위의 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. 메시지가 표시되면 **PowerShell**, 그리고 **스토리지 만들기**를 클릭합니다. + +3. Cloud Shell 창의 왼쪽 위 모서리에 있는 드롭다운 메뉴에서 **PowerShell**이 선택되었는지 확인합니다. + +4. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 이전 랩에서 만든 리소스 그룹을 제거합니다. + + ```powershell + Remove-AzResourceGroup -Name "AZ500LAB04" -Force -AsJob + ``` + +5. **Cloud Shell** 창을 닫습니다. + +6. Azure Portal로 돌아가서 Directory + 구독** 필터를 사용하여 **AdatumLab500-04** AMicrosoft Entra 테넌트로 전환**합니다. + +7. **AdatumLab500-04 Microsoft Entra 블레이드**로** 이동하고 관리** 섹션에서 라이선스**를 클릭합니다**. + +8. **라이선스 |** 개요 블레이드에서 모든 제품을** 클릭하고 **microsoft Entra ID P2**의 **검사 상자를 선택하고 클릭하여 엽니다. + + >**참고**: 랩 4 - 연습 2 - 작업 4 **Microsoft Entra ID P2 라이선스를 Microsoft Entra 사용자에게** 할당하는 작업은 aaduser1, aaduser2 및 aaduser3** 사용자에게 **프리미엄 라이선스를 할당하는 것이었습니다. 할당된 사용자로부터 해당 라이선스를 제거해야 합니다. + +9. **Microsoft Entra ID P2 - 라이선스가 부여된 사용자** 블레이드에서 Microsoft Entra ID P2** 라이선스를 할당**한 사용자 계정의 검사 상자를 선택합니다. 위쪽 창에서 **라이선스 제거**를 클릭하고 확인하라는 메시지가 표시되면 **예**를 선택합니다. + +10. Azure Portal에서 **사용자 - 모든 사용자** 블레이드로 이동하여 **aaduser1** 사용자 계정을 나타내는 항목을 클릭합니다. 그런 다음 **aaduser1 - 프로필** 블레이드에서 **삭제**를 클릭하고 삭제를 확인하라는 메시지가 표시되면 **예**를 선택합니다. + +11. 동일한 단계 순서를 반복하여 만든 나머지 사용자 계정을 삭제합니다. + +12. AdatumLab500-04 - Microsoft Entra 테넌트의 개요** 블레이드로 이동하고 테넌트** 관리를 선택한 **다음, 다음 화면에서 AdatumLab500-04** 옆에 있는 **검사 상자를 선택하고 삭제**를 선택합니다**.** **테넌트 삭제 'AdatumLab500-04'** 블레이드에서 Azure 리소스** 삭제 권한 가져오기 링크를 선택하고**, AMicrosoft Entra ID의 속성** 블레이드에서 **Azure 리소스**에 대한 액세스 관리를 예**로 설정하고**, 저장**을 **선택합니다**. + +13. Azure Portal에서 로그아웃하고 다시 로그인합니다. + +14. **디렉터리 'AdatumLab500-04' 삭제** 블레이드로 다시 이동하여 **삭제**를 클릭합니다. + + >**참고**: 여전히 테넌트를 삭제할 수 없고 **모든 라이선스 기반 및 구독 삭제** 오류가 throw된다면 테넌트에 연결된 구독 때문일 수 있습니다. 여기서 **무료 P2 라이선스** 는 유효성 검사 오류를 throw할 수 있습니다. M365 관리자>> **제품** 및 비즈니스 스토어** 포털에서 전역 관리자 ID를 사용하여 P2 라이선스의 **평가판 구독을 삭제하면 이 문제가 해결됩니다. 또한 테넌트 삭제에는 더 많은 시간이 걸립니다. 구독 종료 날짜를 확인하고 평가 기간이 끝난 후 한 번 Microsoft Entra ID를 다시 확인한 다음 테넌트 삭제를 시도합니다. + +> 이 작업과 관련된 자세한 내용은 [https://docs.microsoft.com/en-us/azure/active-directory/users-groups-roles/directory-delete-howto](https://docs.microsoft.com/en-us/azure/active-directory/users-groups-roles/directory-delete-howto)를 참조하세요. diff --git a/Instructions/Labs/LAB_06_AzureFirewall.md b/Instructions/Labs/LAB_06_AzureFirewall.md new file mode 100644 index 0000000..8720bd0 --- /dev/null +++ b/Instructions/Labs/LAB_06_AzureFirewall.md @@ -0,0 +1,324 @@ +--- +lab: + title: 06 - Azure Firewall + module: Module 02 - Implement Platform Protection +--- + +# 랩 06: Azure Firewall +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +Azure Firewall을 설치해야 합니다. 조직에서 전체 네트워크 보안 계획의 중요한 부분인 인바운드 및 아웃바운드 네트워크 액세스를 제어할 수 있습니다. 특히 다음의 인프라 구성 요소를 만들고 테스트하려고 합니다. + +- 워크로드 서브넷과 점프 호스트 서브넷이 있는 가상 네트워크. +- 가상 머신은 각 서브넷입니다. +- 워크로드 서브넷의 모든 아웃바운드 워크로드 트래픽을 보장하는 사용자 지정 경로는 방화벽을 사용해야 합니다. +- www.bing.com애 대한 아웃바운드 트래픽만 허용하는 방화벽 애플리케이션 규칙. +- 외부 DNS 서버 조회를 허용하는 방화벽 네트워크 규칙. + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다. + +- 연습 1: Azure Firewall 배포 및 테스트 + +## Azure Firewall 다이어그램 + +![이미지](https://user-images.githubusercontent.com/91347931/157529954-a1bc434b-2eca-41c1-b875-1f0c977d5e20.png) + +## Instructions + +## 랩 파일: + +- **\\Allfiles\\Labs\\08\\template.json** + +### 연습 1: Azure Firewall 배포 및 테스트 + +### 예상 소요 시간: 40분 + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 강사에게 이 지역을 수업에서 사용하는지 확인합니다. + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: 템플릿을 사용하여 랩 환경을 배포합니다. +- 작업 2: Azure Firewall을 배포합니다. +- 작업 3: 기본 경로를 만듭니다. +- 작업 4: 애플리케이션 규칙을 구성합니다. +- 작업 5: 네트워크 규칙을 구성합니다. +- 작업 6: DNS 서버를 구성합니다. +- 작업 7: 방화벽 테스트 + +#### 작업 1: 템플릿을 사용하여 랩 환경을 배포합니다. + +이 작업에서는 랩 환경을 검토하고 배포합니다. + +이 작업에서는 ARM 템플릿을 사용하여 가상 머신을 만듭니다. 이 가상 머신은 이 랩의 마지막 연습에 사용됩니다. + +1. Azure Portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에 사용 중인 Azure 구독에 Owner 또는 Contributor 역할이 있는 계정을 사용하여 Azure Portal에 로그인합니다. + +2. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **사용자 지정 템플릿 배포**를 입력하고 **Enter** 키를 누릅니다. + +3. **사용자 지정 배포** 블레이드에서 **편집기에서 사용자 고유의 탬플릿 빌드** 옵션을 클릭합니다. + +4. **템플릿 편집** 블레이드에서 **파일 로드**를 클릭하고, **\\Allfiles\\Labs\\08\\template.json** 파일을 찾아 **열기**를 클릭합니다. + + >**참고**: 템플릿의 내용을 검토하고 Windows Server 2016 Datacenter를 호스팅하는 Azure VM를 배포함을 참고합니다. + +5. **템플릿 편집** 블레이드에서 **저장**을 클릭합니다. + +6. **사용자 지정 배포** 블레이드에서 다음 설정이 구성되었는지 확인합니다 (다른 설정은 기본값으로 유지). + + |설정|값| + |---|---| + |구독|이 랩에서 사용할 Azure 구독의 이름| + |Resource group|**새로 만들기**를 클릭하고 **AZ500LAB08**을 이름으로 입력합니다.| + |위치|**(미국) 미국 동부**| + + >**참고**: Azure VM을 프로비전할 수 있는 Azure 지역을 식별하려면 [ **https://azure.microsoft.com/en-us/regions/offers/** ](https://azure.microsoft.com/en-us/regions/offers/)를 참조하세요. + +7. **검토 + 만들기**를 클릭한 다음 **만들기**를 클릭합니다. + + >**참고**: 배포가 완료될 때까지 기다리세요. 이 작업은 2분 정도 걸립니다. + +#### 작업 2: Azure Firewall 배포 + +이 작업에서는 가상 네트워크에 Azure Firewall을 배포합니다. + +1. Azure Portal에서 Azure 페이지 상단의 **리소스, 서비스 및 문서 검색** 텍스트 상자에서 **방화벽**을 입력하고 **Enter** 키를 누릅니다. + +2. **방화벽** 블레이드에서 **+ 만들기**를 클릭합니다. + +3. **방화벽 만들기** 블레이드의 **기본** 탭에서 다음 설정을 지정합니다(다른 설정은 기본값으로 남겨둡니다). + + |설정|값| + |---|---| + |Resource group|**AZ500LAB08**| + |Name|**Test-FW01**| + |지역|**(미국) 미국 동부**| + |방화벽 SKU|**Standard**| + |방화벽 관리|**방화벽 규칙(클래식)을 사용하여 이 방화벽 관리**| + |가상 네트워크 선택|**기존 항목 사용** 옵션을 클릭하고 드롭다운 목록에서 **Test-FW-VN**을 선택합니다.| + |공용 IP 주소|**새로 추가**를 클릭하고 **TEST-FW-PIP**를 이름으로 입력한 다음 **확인**을 클릭합니다.| + +4. **검토 + 만들기**를 클릭한 다음, **만들기**를 클릭합니다. + + >**참고**: 배포가 완료될 때까지 기다리세요. 이 작업은 5분 정도 걸립니다. + +5. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **리소스 그룹**을 입력하고 **Enter** 키를 누릅니다. + +6. **리소스 그룹** 블레이드의 리소스 그룹 목록에서 **AZ500LAB08** 항목을 클릭합니다. + + >**참고**: **AZ500LAB08** 리소스 그룹 블레이드에서 리소스 목록을 검토합니다. **유형**별로 정렬할 수 있습니다. + +7. 리소스 목록에서 **Test-FW01** 방화벽을 나타내는 항목을 클릭합니다. + +8. **Test-FW01** 블레이드에서 방화벽에 할당된 **개인 IP** 주소를 식별합니다. + + >**참고**: 이 정보는 다음 작업에 필요합니다. + + +#### 작업 3: 기본 경로 만들기 + +이 작업에서는 **Workload-SN** 서브넷에 대한 기본 경로를 만듭니다. 이 경로는 방화벽을 통해 아웃바운드 트래픽을 구성합니다. + +1. Azure Portal에서 Azure 페이지 상단의 **리소스, 서비스 및 문서 검색** 텍스트 상자에서 **경로 테이블**을 입력하고**Enter** 키를 누릅니다. + +2. **경로 테이블** 블레이드에서 **+ 만들기**를 클릭합니다. + +3. **경로 테이블 만들기** 블레이드에서 다음 설정을 지정합니다. + + |설정|값| + |---|---| + |Resource group|**AZ500LAB08**| + |지역| **미국 동부**| + |속성|**Firewall-route**| + +4. **검토 + 만들기**, **만들기**를 차례로 클릭하고 프로비전이 완료될 때까지 기다립니다. + +5. **경로 테이블** 블레이드에서 **새로 고침**을 클릭하고 경로 테이블 목록에서 **Firewall-route** 항목을 클릭합니다. + +6. **Firewall-route** 블레이드의 **설정** 섹션에서 **서브넷**을 클릭한 다음 **Firewall-route\| 서브넷** 블레이드에서 **+ 연결**을 클릭합니다. + +7. **서브넷 연결** 블레이드에서 다음 설정을 지정합니다. + + |설정|값| + |---|---| + |가상 네트워크|**Test-FW-VN**| + |서브넷|**Workload-SN**| + + >**참고**: 이 경로용으로 **Workload-SN** 서브넷을 선택해야 합니다. 그렇지 않을 경우, 방화벽이 제대로 작동하지 않습니다. + +8. **확인**을 클릭하여 방화벽을 가상 네트워크 서브넷에 연결합니다. + +9. **Firewall-route** 블레이드로 돌아가서 **설정** 섹션에서 **경로**을 클릭한 다음 **+ 추가**를 클릭합니다. + +10. **경로 추가** 블레이드에서 다음 설정을 지정합니다. + + |설정|값| + |---|---| + |경로 이름|**FW-DG**| + |주소 접두사 대상|**IP 주소**| + |대상 IP 주소/CIDR 범위|**0.0.0.0/0** + |다음 홉 유형|**가상 어플라이언스**| + |다음 홉 주소|이전 작업에서 식별한 방화벽의 개인 IP 주소| + + >**참고**: Azure Firewall은 실제로는 관리되는 서비스이지만 이 상황에서는 가상 어플라이언스를 사용할 수 있습니다. + +11. **추가**를 클릭하여 경로를 추가합니다. + + +#### 작업 4: 애플리케이션 규칙 구성 + +이 작업에서는 `www.bing.com`으로의 아웃바운드 액세스를 허용하는 애플리케이션 규칙을 만듭니다. + +1. Azure Portal에서 **Test-FW01** 방화벽으로 다시 이동합니다. + +2. **Test-FW01** 블레이드의 **설정** 섹션에서 **규칙(클래식)** 을 클릭합니다. + +3. **Test-FW01 \| 규칙(클래식)** 블레이드에서 **애플리케이션 규칙 컬렉션** 탭을 클릭한 다음 **+ 애플리케이션 규칙 컬렉션 추가**를 클릭합니다. + +4. **애플리케이션 규칙 컬렉션 추가** 블레이드에서 다음 설정을 지정합니다 (다른 설정은 기본값으로 남겨둡니다). + + |설정|값| + |---|---| + |속성|**App-Coll01**| + |우선 순위|**200**| + |작업|**허용**| + +5. **애플리케이션 규칙 컬렉션 추가** 블레이드에서 다음 설정과 함께 **Target FQDNs** 섹션에서 새 항목을 만듭니다(다른 항목은 기본값으로 남겨둡니다). + + |설정|값| + |---|---| + |name|**AllowGH**| + |소스 형식|**IP 주소**| + |원본|**10.0.2.0/24**| + |프로토콜 포트|**http:80, https:443**| + |대상 FQDN|**www.bing.com**| + +6. **추가**를 클릭하여 대상 FQDNs 기반 애플리케이션 규칙을 추가합니다. + + >**참고**: Azure Firewall에는 기본적으로 허용되는 인프라 FQDN에 대한 기본 제공 규칙 컬렉션이 포함되어 있습니다. 이러한 FQDN은 플랫폼에 대해 특정적이며 다른 용도로 사용할 수 없습니다. + +#### 작업 5: 네트워크 규칙 구성 + +이 작업에서는 포트 53(DNS)에서 두 IP 주소로의 아웃바운드 액세스를 허용하는 네트워크 규칙을 만듭니다. + +1. Azure Portal에서 **Test-FW01 \| 규칙(클래식)** 블레이드로 다시 이동합니다. + +2. **Test-FW01 \| 규칙(클래식)** 블레이드에서 **네트워크 규칙 컬렉션** 탭을 클릭한 다음 **+ 네트워크 규칙 컬렉션 추가**를 클릭합니다. + +3. **네트워크 규칙 컬렉션 추가** 블레이드에서 다음 설정을 지정합니다(다른 설정은 기본 값으로 남겨둡니다). + + |설정|값| + |---|---| + |속성|**Net-Coll01**| + |우선 순위|**200**| + |작업|**허용**| + +4. **네트워크 규칙 컬렉션 추가** 블레이드에서 다음 설정을 사용하여 **IP 주소** 섹션에 새 항목을 만듭니다. 다른 설정은 기본값으로 유지합니다. + + |설정|값| + |---|---| + |이름|**AllowDNS**| + |프로토콜|**UDP**| + |소스 형식|**IP 주소**| + |원본 주소|**10.0.2.0/24**| + |대상 형식|**IP 주소**| + |대상 주소|**209.244.0.3,209.244.0.4**| + |대상 포트|**53**| + +5. 네트워크 규칙을 추가하려면 **추가**를 클릭합니다. + + >**참고**: 이 경우에 사용되는 대상 주소는 공용 DNS 서버로 알려져 있습니다. + +#### 작업 6: 가상 머신 DNS 서버 구성 + +이 작업에서는 가상 머신에 대한 기본 및 보조 DNS 주소를 구성합니다. 이러한 주소를 구성해야 방화벽을 사용할 수 있는 것은 아닙니다. + +1. Azure Portal에서 **AZ500LAB08** 리소스 그룹으로 다시 이동합니다. + +2. **AZ500LAB08** 블레이드의 리소스 목록에서 **Srv-Work** 가상 머신을 클릭합니다. + +3. **Srv-Work** 블레이드의 **설정** 섹션에서 **네트워킹**을 클릭합니다. + +4. **Srv-Work \| 네트워킹** 블레이드에서 **네트워크 인터페이스** 항목 옆에 있는 링크를 클릭합니다. + +5. 네트워크 인터페이스 블레이드의 **설정** 섹션에서 **DNS 서버**를 클릭하고 **사용자 지정** 옵션을 선택하고 네트워크 규칙에 참조된 두 개의 DNS 서버를 추가합니다. **209.244.0.3** 및 **209.244.0.4**, **저장**을 클릭하여 변경 내용을 저장합니다. + +6. **Srv-Work** 가상 머신 페이지로 돌아갑니다. + + >**참고**: 업데이트가 완료될 때까지 기다립니다. + + >**참고**: 네트워크 인터페이스에 대한 DNS 서버를 업데이트하면 해당 인터페이스가 연결된 가상 머신이 자동으로 다시 시작되며, 해당되는 경우 동일한 가용성 집합의 다른 가상 머신이 자동으로 다시 시작됩니다. + +#### 작업 7: 방화벽 테스트 + +이 작업에서는 방화벽을 테스트하여 정상적으로 작동하는지 확인합니다. + +1. Azure Portal에서 **AZ500LAB08** 리소스 그룹으로 다시 이동합니다. + +2. **AZ500LAB08-RG** 블레이드의 리소스 목록에서 **Srv-Jump** 가상 머신을 클릭합니다. + +3. **Srv-Jump** 블레이드에서 **연결**을 클릭하고 드롭다운 메뉴에서 **RDP**를 클릭합니다. + +4. **RDP 파일 다운로드**를 클릭하고 원격 데스크톱을 통해 **Srv-Jump** Azure VM에 연결하는 데 사용합니다. 인증하라는 메시지가 표시되면 다음 자격 증명을 입력합니다. + + |설정|값| + |---|---| + |사용자 이름|**localadmin**| + |암호|**Pa55w.rd1234**| + + >**참고**: 다음 단계는 **Srv-Jump** Azure VM에 대해 원격 데스크톱 세션에서 수행됩니다. + + >**참고**: **Srv-Work** 가상 머신에 연결됩니다. 이를 완료하여 bing.com 웹 사이트에 액세스하는 기능을 테스트 할 수 있습니다. + +5. **Srv-Jum**에 대한 원격 데스크톱 세션 내에서, **시작**을 마우스 오른쪽 단추를 클릭하고, 오른쪽 단추 클릭 메뉴에서 **실행**클릭한 뒤, **실행** 대화 상자에서 다음을 실행하여 **Srv-Work**를 연결합니다. + + ``` + mstsc /v:Srv-Work + ``` + +6. 인증하라는 메시지가 표시되면 다음 자격 증명을 입력합니다. + + |설정|값| + |---|---| + |사용자 이름|**localadmin**| + |암호|**Pa55w.rd1234**| + + >**참고**: 원격 데스크톱 세션이 설정되고 서버 관리자 인터페이스가 로드될 때까지 기다립니다. + +7. **Srv-Work**에 대한 원격 데스크톱 세션 내 **서버 관리자**에서 **로컬 서버**를 클릭한 다음 **IE 강화된 보안 구성**을 클릭합니다. + +8. **Internet Explorer 강화된 보안 구성** 대화 상자에서 두 옵션을 **해제**로 설정하고 **확인**을 클릭합니다. + +9. **Srv-Work**에 대한 원격 데스크톱 세션 내에서 Internet Explorer를 시작하고 **`https://www.bing.com`** 으로 이동합니다. + + >**참고**: 웹 사이트가 성공적으로 표시되어야 합니다. 방화벽을 사용하면 액세스할 수 있습니다. + +10. **`http://www.microsoft.com/`** 으로 이동합니다. + + >**참고**: 브라우저 페이지 내에서 다음과 유사한 텍스트가 포함된 메시지를 받아야 합니다. `HTTP request from 10.0.2.4:xxxxx to microsoft.com:80. Action: Deny. No rule matched. Proceeding with default action.` 방화벽이 이 웹 사이트에 대한 액세스를 차단하기 때문에 이것은 예상된 것입니다. + +11. 원격 데스크톱 세션을 모두 종료합니다. + +> 결과: Azure Firewall을 성공적으로 구성하고 테스트했습니다. + +**리소스 정리** + +> 더 이상 사용하지 않는 새로 만든 Azure 리소스는 모두 제거하세요. 사용하지 않는 리소스를 제거하면 예상하지 못한 비용이 발생하지 않습니다. + +1. Azure Portal 오른쪽 위의 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. 메시지가 표시되면 **PowerShell**, 그리고 **스토리지 만들기**를 클릭합니다. + +2. Cloud Shell 창의 왼쪽 위 모서리에 있는 드롭다운 메뉴에서 **PowerShell**이 선택되었는지 확인합니다. + +3. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 이 랩에서 만든 리소스 그룹을 제거합니다. + + ```powershell + Remove-AzResourceGroup -Name "AZ500LAB08" -Force -AsJob + ``` +4. **Cloud Shell** 창을 닫습니다. diff --git a/Instructions/Labs/LAB_06_ImplementDirectorySynchronization.md b/Instructions/Labs/LAB_06_ImplementDirectorySynchronization.md new file mode 100644 index 0000000..93caf95 --- /dev/null +++ b/Instructions/Labs/LAB_06_ImplementDirectorySynchronization.md @@ -0,0 +1,412 @@ +--- +lab: + title: 06 - 디렉터리 동기화 구현 + module: Module 01 - Manage Identity and Access +--- + +# 랩 06: 디렉터리 동기화 구현 +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +온-프레미스 Microsoft Entra Do기본 Services 환경을 Microsoft Entra 테넌트와 통합하는 방법을 보여 주는 개념 증명을 만들라는 요청을 받았습니다. 특히 다음을 수행해야 합니다. + +- Microsoft Entra Do기본를 호스팅하는 Azure VM을 배포하여 Microsoft Entra Do기본 Services 포리스트를 구현합니다기본 Services do기본 컨트롤러 +- Microsoft Entra 테넌트 만들기 및 구성 +- Microsoft Entra Do기본 Services 포리스트를 Microsoft Entra 테넌트와 동기화 + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다: + +- 연습 1: Microsoft Entra ID를 호스팅하는 Azure VM 배포기본 컨트롤러 +- 연습 2: Microsoft Entra 테넌트 만들기 및 구성 +- 연습 3: Microsoft Entra ID 포리스트를 Microsoft Entra 테넌트와 동기화 + +## 디렉터리 동기화 구현 + +![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/5d9cc4c7-7dcd-4d88-920d-9c97d5a482a2) + +## 지침 + +### 연습 1: Microsoft Entra ID를 호스팅하는 Azure VM 배포기본 컨트롤러 + +### 예상 소요 시간: 10분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: Azure VM 배포에 사용할 수 있는 DNS 이름 식별 +- 작업 2: ARM 템플릿을 사용하여 Microsoft Entra ID를 호스팅하는 Azure VM을 배포합니다기본 컨트롤러 + +#### 작업 1: Azure VM 배포에 사용할 수 있는 DNS 이름 식별 + +이 작업에서는 Azure VM 배포용 DNS 이름을 식별합니다. + +1. Azure Portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에 사용 중인 Azure 구독에 Owner 또는 Contributor 역할이 있는 계정을 사용하여 Azure Portal에 로그인합니다. + +2. Azure Portal 오른쪽 상단에 있는 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. 메시지가 표시되면 **PowerShell**, 그리고 **스토리지 만들기**를 클릭합니다. + +3. Cloud Shell 창의 왼쪽 위 모서리에 있는 드롭다운 메뉴에서 **PowerShell**이 선택되었는지 확인합니다. + +4. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 이 연습의 다음 작업에서 Azure VM 배포에 사용할 수 있는 사용 가능한 DNS 이름을 식별합니다. + + ```powershell + Test-AzDnsAvailability -DomainNameLabel -Location '' + ``` + + >**참고**: `` 자리 표시자를 전역적으로 고유할 가능성이 높은 유효한 DNS 이름으로 변경합니다. `` 자리 표시자를 이 랩에서 사용할 Active Directory 도메인 컨트롤러를 호스트하는 Azure VM을 배포하려는 지역의 이름으로 바꿉니다. + + >**참고**: Azure VM을 프로비전할 수 있는 Azure 지역을 식별하려면 [ **https://azure.microsoft.com/en-us/regions/offers/** ](https://azure.microsoft.com/en-us/regions/offers/)를 참조하세요. + +5. 이 명령이 **True**를 반환하는지 확인합니다. True가 반환되지 않으면 **True**가 반환될 때까지 다른 `` 값을 사용해 같은 명령을 다시 실행합니다. + +6. 성공적인 결과가 반환된 `` 값을 기록합니다. 다음 작업에서 해당 값이 필요합니다. + +7. Cloud Shell 창을 닫습니다. + +#### 작업 2: ARM 템플릿을 사용하여 Microsoft Entra ID를 호스팅하는 Azure VM을 배포합니다기본 컨트롤러 + +이 작업에서는 Microsoft Entra ID를 호스트하는 Azure VM을 배포합니다기본 컨트롤러 + +1. 동일한 브라우저 창에서 다른 브라우저 탭을 열고 **https://github.com/Azure/azure-quickstart-templates/tree/master/application-workloads/active-directory/active-directory-new-domain** 으로 이동합니다. + +2. **새 AD 포리스트**를 사용하여 Azure VM 만들기 페이지에서 Azure**에 배포를 클릭합니다**. 이렇게 하면 Azure Portal에 **Create an Azure VM with a new AD Forest** 블레이드로 브라우저가 자동으로 리디렉션됩니다. + +3. **새 AD 포리스트가 있는 Azure VM 만들기 **블레이드에서 **매개 변수 편집**을 클릭합니다. + +4. **매개 변수 편집** 블레이드에서 **파일 로드**를 클릭하고, **열기** 대화 상자에서 **\\\\AllFiles\Labs\\06\\active-directory-new-domain\\azuredeploy.parameters.json** 폴더로 이동하여 **열기**를 클릭한 다음 **저장**을 클릭합니다. + +5. **새 AD 포리스트를 사용하여 Azure VM 만들기** 블레이드에서 다음 설정을 지정합니다(나머지는 기존 값을 그대로 유지). + + |설정|값| + |---|---| + |구독|Azure 구독명| + |Resource group|**새로 만들기**를 클릭하고 **AZ500LAB06**을 이름으로 입력합니다.| + |지역|이전 작업에서 확인한 Azure 지역| + |관리자 사용자 이름|**학생**| + |관리자 암호|**랩 04 > 연습 1 > 작업 1 > 9단계에서 만든 개인 암호를 사용하세요.**| + |도메인 이름|**adatum.com**| + |DNS 접두사|이전 작업에서 만든 DNS 호스트 이름| + |VM 크기|**Standard_D2s_v3**| + +6. **새 AD 포리스트가 있는 Azure VM 만들기** 블레이드에서 **검토 + 만들기**, **만들기**를 차례로 클릭합니다. + + >**참고**: 배포가 완료될 때까지 기다리지 말고 다음 연습을 진행합니다. 배포에는 약 15분이 소요될 수 있습니다. 이 랩의 세 번째 연습에서이 작업에 배포된 가상 머신을 사용합니다. + +> 결과: 이 연습을 완료한 후 Azure Resource Manager 템플릿을 사용하여 Microsoft Entra ID do기본 컨트롤러를 호스트하는 Azure VM 배포를 시작했습니다. + + +### 연습 2: Microsoft Entra 테넌트 만들기 및 구성 + +### 예상 소요 시간: 20분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: Microsoft Entra 테넌트 만들기 +- 작업 2: 새 Microsoft Entra 테넌트에 사용자 지정 DNS 이름 추가 +- 작업 3: Global 관리istrator 역할을 사용하여 Microsoft Entra ID 사용자 만들기 + +#### 작업 1: Microsoft Entra 테넌트 만들기 + +이 작업에서는 이 랩에서 사용할 새 Microsoft Entra 테넌트를 만듭니다. + +1. Azure Portal의 Azure Portal 페이지 위쪽에 있는 **리소스, 서비스 및 문서** 검색 텍스트 상자에 Microsoft Entra ID**를 입력**하고 Enter** 키를 누릅니**다. + +2. 현재 Microsoft Entra 테넌트 개요를 **표시하는 블레이드에서 테넌트** 관리를 클릭한 **다음 다음 화면에서 + 만들기**를 클릭합니다****. + +3. **테넌트** 만들기 블레이드의 **기본 사항** 탭에서 Microsoft Entra ID** 옵션이 **선택되어 있는지 확인하고 다음: 구성 >** 클릭합니다**. + +4. **디렉터리 만들기** 블레이드의 **구성** 탭에서 다음 설정을 구성합니다. + + |설정|값| + |---|---| + |조직 이름|**AdatumSync**| + |초기 도메인 이름|문자와 숫자의 조합으로 구성된 고유한 이름| + |국가 또는 지역|**미국**| + + >**참고**: 초기 도메인 이름을 기록합니다. 이 랩의 후반부에서 필요합니다. + + >**참고**: **초기 도메인 이름** 텍스트 상자의 녹색 확인 표시는 입력한 도메인 이름이 유효하고 고유한지 여부를 나타냅니다. (나중에 사용하기 위해 초기 도메인 이름 기록). + +5. **검토 + 만들기**를 클릭한 다음, **만들기**를 클릭합니다. + + >**참고**: 새 테넌트가 만들어질 때까지 기다립니다. **알림** 아이콘을 사용하여 배포 상태를 모니터링합니다. + +#### 작업 2: 새 Azure AD 테넌트에 사용자 지정 DNS 이름 추가 + +이 작업에서는 새 Azure AD 테넌트에 사용자 지정 DNS 이름을 추가합니다. + +1. Azure Portal의 도구 모음에서 Cloud Shell 셸 아이콘 오른쪽에 있는 **디렉터리 + 구독** 아이콘을 클릭합니다. + +2. **디렉터리 + 구독** 블레이드에서 새로 만든 테넌트인 **AdatumSync** 줄을 선택하고 **전환** 단추를 클릭합니다. + + >**참고**: **AdatumSync** 항목이 **디렉터리 + 구독** 필터 목록에 나타나지 않으면 브라우저 창을 새로 고침합니다. + +3. **AdatumSync \| Microsoft Entra ID** 블레이드의 **관리** 섹션에서 사용자 지정 do기본 이름을 클릭합니다.**** + +4. **AdatumSync \| 사용자 지정 도메인 이름** 블레이드에서 **+ 사용자 지정 도메인 추가**를 클릭합니다. + +5. **사용자 지정 도메인 이름** 블레이드에서 **사용자 지정 도메인 이름** 텍스트 상자에서 **adatum.com**을 입력하고 **도메인 추가**를 클릭합니다. + +6. **adatum.com** 블레이드에서 Microsoft Entra do기본 이름 확인을 수행하는 데 필요한 정보를 검토한 다음 삭제**를 두 번 선택합니다**. + + >**참고**: **adatum.com** DNS 도메인 이름이 없으므로 유효성 검사 프로세스를 완료할 수 없습니다. 이렇게 하면 Microsoft Entra Do기본 Services에서 수행하는 adatum.com** Microsoft Entra 테넌트 기본 동기화**할 수 없습니다. 이 용도로 이전 작업에서 식별한 Microsoft Entra 테넌트의 초기 DNS 이름(onmicrosoft.com** 접미사로 **끝나는 이름)을 사용합니다. 그러나 결과적으로 DNS는 Microsoft Entra Do기본 Services의 기본 이름이고기본 Microsoft Entra 테넌트 DNS 이름은 다릅니다. 즉, Adatum 사용자는 Microsoft Entra Do기본 Services에 로그인할 때기본 Microsoft Entra 테넌트에 로그인할 때 다른 이름을 사용해야 합니다. + +#### 작업 3: Global 관리istrator 역할을 사용하여 Microsoft Entra ID 사용자 만들기 + +이 작업에서는 새 Microsoft Entra ID 사용자를 추가하고 전역 관리istrator 역할에 할당합니다. + +1. **AdatumSync** Microsoft Entra 테넌트 블레이드의 **관리** 섹션에서 사용자를** 클릭합니다**. + +2. **사용자 | 모든 사용자** 블레이드에서 + 새 사용자를** 클릭한 다음 **새 사용자** 만들기를 클릭합니다**. + +3. 새 사용자 블레이드에서 **사용자** 만들기 옵션이 선택되어 있는지 확인하고 **기본 탭에서 다음 설정을 지정하고(다른 모든 설정을 기본값으로 유지) 다음을 클릭합니다 **. 속성 >**.** + + |설정|값| + |---|---| + |사용자 이름|**syncadmin**| + |이름|**syncadmin**| + |암호|**암호 자동 생성** 옵션이 선택되어 있는지 확인하고 **암호 표시**를 클릭합니다.| + + >**참고**: 전체 사용자 이름을 기록합니다. 드롭다운 목록의 오른쪽에 있는 클립보드**로 복사 단추를 클릭하여 **할 일기본 이름을 표시하고 메모장 문서에 붙여넣으면 해당 값을 복사할 수 있습니다. 이 랩에서 나중에 필요합니다. + + >**참고**: 암호 텍스트 상자의 오른쪽에 있는 클립보드**로 복사 단추를 클릭하고 **메모장 문서에 붙여넣어 사용자의 암호를 기록합니다. 이 랩에서 나중에 필요합니다. + +4. 속성** 탭에서 **아래쪽으로 스크롤하여 사용 위치를 **지정합니다. 미국**(다른 모든 항목은 기본값으로 유지)하고 다음: 할당 >** 클릭합니다**. + +5. 할당** 탭에서 **+ 역할** 추가를 클릭하고 **전역 관리istrator**를 검색하여 선택한 **다음 선택을** 클릭합니다**. **검토 + 만들기**를 클릭한 다음, **만들기**를 클릭합니다. + + >**참고**: Microsoft Entra 커넥트 구현하려면 Global 관리istrator 역할을 가진 Azure AD 사용자가 필요합니다. + +6. InPrivate 브라우저 창을 엽니다. + +7. Azure Portal로 **`https://portal.azure.com/`** 이동하여 syncadmin** 사용자 계정을 사용하여 **로그인합니다. 메시지가 표시되면 이 작업의 앞부분에서 기록한 암호를 복잡성 요구 사항을 충족하는 사용자 고유의 암호로 변경하고 나중에 참조할 수 있도록 기록합니다. 이후 작업에서 이 암호를 입력하라는 메시지가 표시됩니다. + + >**참고**: 로그인하려면 이 작업의 앞부분에서 기록한 Microsoft Entra 테넌트 DNS do기본 이름을 포함하여 syncadmin** 사용자 계정의 **정규화된 이름을 제공해야 합니다. 이 사용자 이름은 고유한 Microsoft Entra 테넌트 이름을 나타내는 자리 표시자인 syncadmin@``.onmicrosoft.com `` 형식입니다. + +8. **syncadmin**으로 로그아웃하고 InPrivate 브라우저 창을 닫습니다. + +> **결과**: 이 연습을 완료한 후 AMicrosoft Entra 테넌트를 만들고, 새 Microsoft Entra 테넌트에 사용자 지정 DNS 이름을 추가하는 방법을 알아보고, Global 관리istrator 역할을 사용하여 Azure AD 사용자를 만들었습니다. + + +### 연습 3: Microsoft Entra ID 포리스트를 Microsoft Entra 테넌트와 동기화 + +### 예상 소요 시간: 20분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: 디렉터리 동기화를 위해 Microsoft Entra Do기본 서비스 준비 +- 작업 2: Microsoft Entra 커넥트 설치 +- 작업 3: 디렉터리 동기화 확인 + +#### 작업 1: 디렉터리 동기화를 위해 Microsoft Entra Do기본 서비스 준비 + +이 작업에서는 Microsoft Entra Do기본 Services do기본 컨트롤러를 실행하는 Azure VM에 연결하고 디렉터리 동기화 계정을 만듭니다. + + > 이 작업을 시작하기 전에 이 랩의 첫 번째 연습에서 시작한 템플릿 배포가 완료되었는지 확인합니다. + +1. Azure Portal에서 이 랩의 **첫 번째 연습에서 Azure VM을 배포한 Azure 구독과 연결된 Microsoft Entra 테넌트로 디렉터리 + 구독** 필터를 설정합니다. + +2. Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **가상 머신**을 입력하고 **Enter** 키를 누릅니다. + +3. **가상 머신** 블레이드에서 **adVM** 항목을 클릭합니다. + +4. **adVM** 블레이드에서 **연결**을 클릭하고 드롭다운 메뉴에서 **RDP**를 클릭합니다. + +5. **IP 주소** 드롭다운에서 부하 분산 장치 공용 IP 주소를** 선택한 **다음 RDP 파일** 다운로드를 클릭하고 **이를 사용하여 원격 데스크톱을 통해 adVM** Azure VM에 연결**합니다. 인증하라는 메시지가 표시되면 다음 자격 증명을 입력합니다. + + |설정|값| + |---|---| + |사용자 이름|**Student**| + |암호|**랩 04 > 연습 1 > 작업 1 > 9단계에서 만든 개인 암호를 사용하세요.**| + + >**참고**: 원격 데스크톱 세션과 **서버 관리자**가 로드될 때까지 기다립니다. + + >**참고**: 다음 단계는 **adVM** Azure VM에 대한 원격 데스크톱 세션에서 수행됩니다. + + >**참고**: RDP 블레이드의 IP 주소 드롭다운에서 **부하 분산 장치 공용 IP 주소를**** 사용할 수 없는 경우 **Azure Portal에서 공용 IP 주소를** 검색**하고 adPublicIP**를 선택하고 **해당 IP 주소를 기록해 둡니다. 시작 단추를 클릭하고 MSTSC를 입력**한 다음 Enter 키를** 눌러 **원격 데스크톱 클라이언트를 시작**합니다. 컴퓨터:** 텍스트 상자에 부하 분산 장치의 공용 IP 주소를 **입력하고 커넥트** 클릭합니다**. + +6. 서버 관리자 도구를 클릭하고 드롭다운 메뉴에서 Microsoft Entra ID 관리istrative Center**를 클릭합니다**.******** + +7. **Microsoft Entra ID 관리istrative Center**에서 adatum(로컬)****을 클릭하고 **작업** 창의 do기본 이름 **adatum(로컬)** 에서 새로** 만들기를 클릭하고 **계단식 메뉴에서 조직 구성 단위**를 클릭합니다**. + +8. **조직 구성 단위 만들기** 창의 **이름** 텍스트 상자에 **ToSync**를 입력하고 **확인**을 클릭합니다. + +9. Microsoft Entra ID 관리Istrative Center 콘솔의 세부 정보 창에 콘텐츠가 표시되도록 새로 만든 **ToSync** 조직 구성 단위를 두 번 클릭합니다. + +10. **작업** 창의 **ToSync** 섹션 내에서 **신규**를 클릭하고 계단식 메뉴에서 **사용자**를 클릭합니다. + +11. **사용자 만들기** 창에서 다음 설정이 있는 새 사용자 계정을 만들고(다른 설정은 기존값으로 남겨둡니다) **확인**을 클릭합니다. + + |설정|값| + |---|---| + |전체 이름|**aduser1**| + |사용자 UPN 로그온|**aduser1**| + |사용자 SamAccountName 로그온|**aduser1**| + |암호 및 암호 확인|**랩 04 > 연습 1 > 작업 1 > 9단계에서 만든 개인 암호를 사용하세요.**| + |다른 암호 옵션|**암호 사용 기간 제한 없음**| + + +#### 작업 2: Microsoft Entra 커넥트 설치 + +이 작업에서는 가상 머신에 Microsoft Entra 커넥트 설치합니다. + +1. **adVM**에 대한 원격 데스크톱 세션에서 Microsoft Edge를 사용하여 **https://portal.azure.com** 의 Azure Portal로 이동하고, 이전 연습에서 만든 **syncadmin** 사용자 계정을 사용하여 로그인합니다. 메시지가 표시되면 이전 연습에서 기록한 전체 사용자 계정 이름 및 암호를 지정합니다. + +2. Azure Portal의 Azure Portal 페이지 위쪽에 있는 **리소스, 서비스 및 문서** 검색 텍스트 상자에 Microsoft Entra ID**를 입력**하고 Enter** 키를 누릅니**다. + +3. Azure Portal**의 AdatumSync \| 개요** 블레이드의 관리** 아래 **왼쪽 탐색 패널에서 Microsoft Entra 커넥트** 클릭합니다**. + +4. **Microsoft Entra 커넥트 \| 시작** 블레이드**의 왼쪽 탐색 패널에서 커넥트 동기화**를 클릭한 다음 Microsoft Entra 커넥트** 다운로드 링크를 클릭합니다**. Microsoft Entra 커넥트** 다운로드 페이지로 **리디렉션됩니다. + +5. **Microsoft Entra 커넥트** 다운로드 페이지에서 다운로드**를 클릭합니다**. + +6. 메시지가 표시되면 실행을** 클릭하여 **Microsoft Entra 커넥트** 마법사를 시작**합니다. + +7. **Microsoft Entra 커넥트 마법사의 **Microsoft Entra 커넥트**** 시작 페이지에서 사용 조건 및 개인 정보 보호 알림**에 동의하는 검사 상자를 **클릭하고 계속**을 클릭합니다**. + +8. **Microsoft Entra 커넥트** 마법사의 **Express 설정** 페이지에서 사용자 지정** 옵션을 클릭합니다**. + +9. **필수 구성 요소 설치** 페이지에서 모든 선택 구성 옵션의 선택을 취소하고 **설치**를 클릭합니다. + +10. **사용자 로그인** 페이지에서 **암호 해시 동기화**만 사용하도록 설정되어 있는지 확인하고 **다음**을 클릭합니다. + +11. **Microsoft Entra ID**로 커넥트 페이지에서 이전 연습에서 만든 syncadmin** 사용자 계정의 **자격 증명을 사용하여 인증하고 다음**을 클릭합니다**. + +12. **디렉터리 연결** 페이지에서 **adatum.com** 포리스트 항목 오른쪽에 있는 **디렉터리 추가** 단추를 클릭합니다. + +13. **AD 포리스트 계정** 창에서 새 Microsoft Entra ID 계정을** 만드는 옵션이 **선택되어 있는지 확인하고 다음 자격 증명을 지정한 다음 확인을** 클릭합니다**. + + |설정|값| + |---|---| + |사용자 이름|**ADATUM\\Student**| + |암호|**랩 06 > 연습 1 > 작업 2에서 만든 개인 암호를 사용하세요.**| + +14. **디렉터리 연결** 페이지에서 **adatum.com** 항목이 구성된 디렉터리로 나타나는지 확인하고 **다음**을 클릭합니다. + +15. **Microsoft Entra ID 로그인 구성** 페이지에서 UPN 접미사가 확인된 do기본 이름과** 일치하지 않는 경우 사용자가 온-프레미스 자격 증명을 사용하여 Microsoft Entra ID에 로그인할 수 없다는 경고**에 유의하고, 확인될 모든 UPN 접미사를 일치시키지 않고 검사box **Continue를 사용하도록 설정하고기본** 다음**을 클릭합니다**. + + >**참고**: 앞에서 설명한 대로 사용자 지정 Microsoft Entra ID DNS**를 확인할 수 없으므로 기본 adatum.com**. + +16. **Do기본 및 OU 필터링** 페이지에서 선택한 do기본 및 OU** 옵션을 **클릭하고 do기본 이름 **adatum.com 옆에 있는 검사** 상자를 선택 취소합니다. adatum.com 확장하고 **ToSync** OU 옆에 **있는 검사 상자만 선택한 다음 다음을 클릭합니다****.** + +17. **사용자 고유하게 식별** 페이지에서 기본 설정을 수락하고 **다음**을 클릭합니다. + +18. **사용자 및 디바이스 필터링** 페이지에서 기본 설정을 수락하고 **다음**을 클릭합니다. + +19. **선택적 기능** 페이지에서 기본 설정을 수락하고 **다음**을 클릭합니다. + +20. **구성 준비 완료** 페이지에서 **구성이 완료되면 동기화 프로세스를 시작** 체크박스가 선택되었는지 확인하고 **설치**를 클릭합니다. + + >**참고**: 설치에는 약 2분이 소요됩니다. + +21. 구성 완료 페이지에서 정보를 **검토하고 끝내기**를 클릭하여 **Microsoft Entra 커넥트** 창을 닫습니다**.** + + +#### 작업 3: 디렉터리 동기화 확인 + +이 작업에서는 디렉터리 동기화가 작동하는지 확인합니다. + +1. AdVM에 대한 **원격 데스크톱 세션 내에서 Azure Portal을 표시하는 Microsoft Edge 창에서 Adatum Lab AMicrosoft Entra ID 테넌트의 사용자 - 모든 사용자(미리 보기)** 블레이드로 이동합니다**.** + +2. **사용자 \| 모든 사용자** 블레이드에서 사용자 개체 목록에 **aduser1** 계정이 포함되어 있음을 확인합니다. + + >**참고**: 몇 분 동안 기다렸다가 **aduser1** 사용자 계정이 표시되도록 **새로 고침**을 선택해야 할 수 있습니다. + +3. **aduser1** 계정을 클릭하고 속성** 탭을 **선택합니다. 온-프레미스 섹션**까지 **아래로 스크롤합니다. 온-프레미스** 동기화 사용** 특성이 Yes**로 **설정되어 있습니다. + +4. **aduser1** 블레이드의 **작업 정보** 섹션에서 **부서** 특성이 설정되지 않았습니다. + +5. adVM에 대한 **원격 데스크톱 세션 내에서 Microsoft Entra ID 관리istrative Center**로 전환**하고 ToSync** OU의 개체 **목록에서 aduser1** 항목을 선택하고 **작업 **** 창**의 aduser1** 섹션에서 속성을** 선택합니다**.** + +6. **조직** 섹션의 **aduser1** 창에서 **부서** 입력란에 **영업**을 입력하고 **확인**을 선택합니다. + +7. **adVM**에 대한 원격 데스크톱 세션 내에서 **Windows PowerShell**을 시작합니다. + +8. **관리istrator: Windows PowerShell** 콘솔에서 다음을 실행하여 델타 동기화를 커넥트 Microsoft Entra를 시작합니다. + + ```powershell + Import-Module -Name 'C:\Program Files\Microsoft Azure AD Sync\Bin\ADSync\ADSync.psd1' + + Start-ADSyncSyncCycle -PolicyType Delta + ``` + +9. aduser1** 블레이드를 **표시하는 Microsoft Edge 창으로 전환하고 페이지를 새로 고치고 부서 속성이 Sales로 설정되어 있는지 확인합니다. + + >**참고**: 부서** 특성이 다시 설정되지 않은 경우 **최대 3분 동안 기다렸다가 페이지를 다시 새로 고쳐야 할 기본 있습니다. + +> **결과**: 이 연습을 완료한 후 디렉터리 동기화를 위해 Microsoft Entra Do기본 Services를 준비하고, Microsoft Entra 커넥트 설치하고, 디렉터리 동기화를 확인했습니다. + + +**리소스 정리** + +>**참고**: Microsoft Entra ID 동기화를 사용하지 않도록 설정하여 시작 + +1. **adVM**에 대한 원격 데스크톱 세션 내에서 관리자로 Windows PowerShell을 시작합니다. + +2. Windows PowerShell 콘솔에서 다음을 실행하여 MsOnline PowerShell 모듈을 설치합니다(메시지가 나타날 때 NuGet 공급자에서 대화 상자를 계속하려면 **예**를 입력한 뒤 Enter 키를 누릅니다): + + ```powershell + [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 + Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force + Install-Module MsOnline -Force + ``` + +3. Windows PowerShell 콘솔에서 다음을 실행하여 AdatumSync Microsoft Entra 테넌트에 연결합니다(메시지가 표시되면 syncadmin** 자격 증명으로 **로그인). + + ```powershell + Connect-MsolService + ``` + +4. Windows PowerShell 콘솔에서 다음을 실행하여 Microsoft Entra 커넥트 동기화를 사용하지 않도록 설정합니다. + + ```powershell + Set-MsolDirSyncEnabled -EnableDirSync $false -Force + ``` + +5. Windows PowerShell 콘솔에서 다음을 실행하여 동작이 성공했는지 확인합니다. + + ```powershell + (Get-MSOLCompanyInformation).DirectorySynchronizationEnabled + ``` + >**참고**: 결과는 `False`여야 합니다. 그렇지 않은 경우 1분 정도 기다렸다가 명령을 다시 실행합니다. + + >**참고**: 다음으로 Azure 리소스를 제거 +6. 원격 데스크톱 세션을 닫습니다. + +7. Azure Portal에서 디렉터리 + 구독** 필터를 adVM Azure VM**을 배포한 **Azure 구독과 연결된 Microsoft Entra 테넌트로 설정합니다**. + +8. Azure Portal 오른쪽 위의 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. + +9. Cloud Shell 창의 왼쪽 위 모서리에 있는 드롭다운 메뉴에서 **PowerShell**을 선택하고 메시지가 표시되면 **확인**을 클릭합니다. + +10. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 이 랩에서 만든 리소스 그룹을 제거합니다. + + ```powershell + Remove-AzResourceGroup -Name "AZ500LAB06" -Force -AsJob + ``` +11. **Cloud Shell** 창을 닫습니다. + + >**참고**: 마지막으로 Microsoft Entra 테넌트 제거 + + >**참고 2**: 테넌트 삭제는 매우 어려운 프로세스이기 때문에 실수로 또는 악의적으로 수행해서는 안 됩니다. 따라서 이 랩의 일부로 테넌트를 제거하는 일은 효과적이지 않을 수 있습니다. 여기에서 테넌트 삭제 단계를 진행하면서 이 랩을 완료할 필요는 없습니다. 실제 상황에서 테넌트를 제거해야 하는 경우 DOCS.Microsoft.com에 있는 문서를 참조하면 도움이 됩니다. + +12. Azure Portal로 돌아가서 디렉터리 + 구독** 필터를 사용하여 **AdatumSync** Microsoft Entra 테넌트로 전환**합니다. + +13. Azure Portal에서 **사용자 - 모든 사용자** 블레이드로 이동하여 **syncadmin** 사용자 계정을 나타내는 항목을 클릭합니다. **syncadmin - 프로필** 블레이드에서 **삭제**를 클릭하고 확인하라는 메시지가 표시되면 **예**를 클릭합니다. + +14. 동일한 순서로 단계를 반복하여 **aduser1** 사용자 계정과 **온-프레미스 디렉터리 동기화 서비스 계정**을 삭제합니다. + +15. **AdatumSync - Microsoft Entra 테넌트의 개요** 블레이드로 이동하고, 테넌트** 관리를 클릭하고**, AdatumSync** 디렉터리의 검사 상자를 **선택하고, 삭제**를 클릭하고**, **테넌트 'AdatumSync'** 삭제 블레이드에서 Azure 리소스 삭제 권한 가져오기 링크를 클릭하고 **, AMicrosoft Entra의 속성** 블레이드에서 Azure 리소스****에 **대한 액세스 관리를 예**로 **설정하고**, 저장을 클릭합니다 **.**. + + >**참고**: 삭제할 때 **모든 사용자 삭제**와 같은 경고 기호가 표시되는 경우 계속 진행하여 만든 모든 사용자를 삭제하거나, 경고 기호에 **LinkedIn 애플리케이션 삭제**가 표시되는 경우 경고 메시지를 클릭하고 LinkedIn 애플리케이션의 삭제를 확인합니다. 테넌트 삭제를 전달하려면 모든 경고를 처리해야 합니다. + +16. Azure Portal에서 로그아웃하고 다시 로그인합니다. + +17. **'AdatumSync' 테넌트 삭제** 블레이드로 다시 이동하여 **삭제**를 클릭합니다. + +> 이 작업과 관련된 자세한 내용은 [https://docs.microsoft.com/en-us/azure/active-directory/users-groups-roles/directory-delete-howto](https://docs.microsoft.com/en-us/azure/active-directory/users-groups-roles/directory-delete-howto)를 참조하세요. diff --git a/Instructions/Labs/LAB_07_ConfiguringandSecuringACRandAKS.MD b/Instructions/Labs/LAB_07_ConfiguringandSecuringACRandAKS.MD new file mode 100644 index 0000000..cc2dd8c --- /dev/null +++ b/Instructions/Labs/LAB_07_ConfiguringandSecuringACRandAKS.MD @@ -0,0 +1,375 @@ +--- +lab: + title: 07 - ACR 및 AKS 구성 및 보안 + module: Module 02 - Implement Platform Protection +--- + +# 랩 07: ACR 및 AKS 구성 및 보안 +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +Azure Container Registry 및 Azure Kubernetes Service를 사용하여 개념 증명을 배포하라는 요청을 받았습니다. 특히 개념 증명은 다음을 보여 주어야 합니다. + +- Dockerfile을 사용하여 이미지 빌드 +- Azure Container Registry를 사용하여 이미지 저장 +- Azure Kubernetes Service 구성 +- 내부 및 외부 모두에서 컨테이너 애플리케이션 보안 및 액세스 + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다. + +- 연습 1: ACR 및 AKS 구성 및 보안 + +## 랩: ACR 및 AKS 구성 및 보안 + +![이미지](https://user-images.githubusercontent.com/91347931/157532250-1104a829-792a-4b6d-beff-fe976e2d5d4b.png) + +## 소개 + +## 랩 파일: + +- **\\Allfiles\\Labs\\09\\nginxexternal.yaml** +- **\\Allfiles\\Labs\\09\\nginxinternal.yaml** + +### 연습 1: ACR 및 AKS 구성 및 보안 + +### 예상 소요 시간: 45분 + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 강사에게 이 지역을 수업에서 사용하는지 확인합니다. + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: Azure Container Registry 만들기 +- 작업 2: Dockerfile 만들기, 컨테이너 빌드 및 Azure Container Registry에 푸시 +- 작업 3: Azure Kubernetes Service 클러스터 만들기 +- 작업 4: ACR에 액세스할 수 있는 AKS 클러스터 권한 부여 +- 작업 5: AKS에 외부 서비스 배포 +- 작업 6: 외부 AKS 호스팅 서비스에 액세스할 수 있는지 확인 +- 작업 7: AKS에 내부 서비스 배포 +- 작업 8: 내부 AKS 호스팅 서비스에 액세스할 수 있는지 확인 + +#### 작업 1: Azure Container Registry 만들기 + +이 작업에서는 랩에 대한 리소스 그룹을 Azure Container Registry로 만듭니다. + +1. Azure portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에 사용 중인 Azure 구독의 소유자 또는 기여자 역할이 있는 계정과 해당 구독과 연결된 Microsoft Entra 테넌트의 전역 관리이스트레이터 역할을 사용하여 Azure Portal에 로그인합니다. + +2. Azure Portal 오른쪽 위의 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. 메시지가 표시되면 Bash** 및 **스토리지** 만들기를 클릭합니다**. + +3. Cloud Shell 창의 왼쪽 위 모서리에 있는 드롭다운 메뉴에서 Bash**가 선택되어 있는지 확인**합니다. + +4. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 이 랩에 대한 새 리소스 그룹을 만듭니다. + + ```sh + az group create --name AZ500LAB09 --location eastus + ``` + +5. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 리소스 그룹이 생성되었는지 확인합니다. + + ``` + az group list --query "[?name=='AZ500LAB09']" -o table + ``` + +6. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 새 ACR(Azure Container Registry) 인스턴스를 만듭니다(ACR의 이름은 전역적으로 고유해야 함). + + ```sh + az acr create --resource-group AZ500LAB09 --name az500$RANDOM$RANDOM --sku Basic + ``` + +7. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 새 ACR이 생성되었는지 확인합니다. + + ```sh + az acr list --resource-group AZ500LAB09 + ``` + + >**참고**: ACR의 이름을 기록합니다. 다음 작업에서 필요합니다. + +#### 작업 2: Dockerfile 만들기, 컨테이너 빌드 및 Azure Container Registry에 푸시 + +이 작업에서는 Dockerfile을 만들고, Dockerfile에서 이미지를 빌드하고, ACR에 이미지를 배포합니다. + +1. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 Nginx 기반 이미지를 만드는 Dockerfile을 만듭니다. + + ```sh + echo FROM nginx > Dockerfile + ``` + +2. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 Dockerfile에서 이미지를 빌드하고 이미지를 새 ACR로 푸시합니다. + + >**참고**: 명령줄의 끝에 있는 후행 기간이 필요합니다. 현재 디렉터리를 Dockerfile의 위치로 지정합니다. + + ```sh + ACRNAME=$(az acr list --resource-group AZ500LAB09 --query '[].{Name:name}' --output tsv) + + az acr build --resource-group AZ500LAB09 --image sample/nginx:v1 --registry $ACRNAME --file Dockerfile . + ``` + + >**참고**: 명령이 성공적으로 완료되기를 기다립니다. 2분 정도 걸릴 수 있습니다. + +3. Cloud Shell 창을 닫습니다. + +4. Azure Portal에서 AZ500Lab09** 리소스 그룹으로 이동하고**, 리소스 목록에서 이전 작업에서 프로비전한 Azure Container Registry 인스턴스를 나타내는 항목을 클릭합니다. + +5. 컨테이너 레지스트리 블레이드의 **서비스** 섹션에서 리포지**토리를 클릭합니다**. + +6. 리포지토리 목록에 sample/nginx라는 **새 컨테이너 이미지가 포함되어 있는지 확인합니다**. + +7. **샘플/nginx** 항목을 클릭하고 이미지 버전을 식별하는 v1** 태그가 **있는지 확인합니다. + +8. **v1** 항목을 클릭하여 이미지 매니페스트를 봅니다. + + >**참고**: 매니페스트에는 sha256 다이제스트, 매니페스트 생성 날짜 및 플랫폼 항목이 포함됩니다. + +#### 작업 3: Azure Kubernetes Service 클러스터 만들기 + +이 작업에서는 Azure Kubernetes 서비스를 만들고 배포된 리소스를 검토합니다. + +1. Azure Portal의 Azure Portal 페이지 맨 위에 있는 **리소스, 서비스 및 문서** 검색 텍스트 상자에 Kubernetes 서비스를** 입력**하고 Enter** 키를 누릅니**다. + +2. **Kubernetes 서비스** 블레이드에서 **+ 만들기**를 클릭하고, 드롭다운 메뉴에서 **+ Kubernetes 클러스터 만들기**를 클릭합니다. + +3. **Kubernetes 클러스터 만들기** 블레이드의 **기본 사항** 탭에서 **클러스터 사전 설정 구성**을 선택하고, **개발/테스트($)** 를 선택합니다. 이제 다음 설정을 지정합니다(다른 설정은 기본값으로 둡니다). + + |설정|값| + |----|----| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |Resource group|**AZ500LAB09**| + |Kubernetes 클러스터 이름|**MyKubernetesCluster**| + |지역|**(미국) 미국 동부**| + |가용성 영역 |**없음**| + |스케일링 방법|**수동**| + |노드 수|**1**| + +4. **다음: 노드 풀 >** 을 클릭하고, **Kubernetes 클러스터 만들기** 블레이드의 **노드 풀** 탭에서 다음 설정을 지정합니다(다른 설정은 기본값으로 둡니다). + + |설정|값| + |----|----| + |가상 노드 사용|지워진 검사box| + +5. 다음을 클릭합니다 **. 액세스 > **** Kubernetes 클러스터** 만들기 블레이드의 **액세스** 탭에서 기본값을 적용하고 다음: 네트워킹 >** 클릭합니다**. + +6. **Kubernetes 클러스터** 만들기 블레이드의 **네트워킹** 탭에서 다음 설정을 지정합니다(다른 설정은 기본값으로 유지). + + |설정|값| + |----|----| + |네트워크 구성|**Azure CNI**| + |DNS 이름 접두사|**기본값 그대로 유지**| + + >**참고**: AKS는 프라이빗 클러스터로 구성할 수 있습니다. 이렇게 하면 API 서버에 개인 IP를 할당하여 API 서버와 노드 풀 간의 네트워크 트래픽이 프라이빗 네트워크에서만 다시 기본. 자세한 내용은 프라이빗 Azure Kubernetes Service 클러스터[ 만들기 페이지를 참조](https://docs.microsoft.com/en-us/azure/aks/private-clusters)하세요. + +7. 다음: 통합 > 클릭하고 **Kubernetes 클러스터** 만들기 블레이드의 **통합** 탭에서 **컨테이너 모니터링을** 사용 안 함으로 **** 설정합니다**.** + + >**참고**: 프로덕션 시나리오에서 모니터링을 활성화합니다. 이 경우 모니터링은 랩에서 다루지 않으므로 사용하지 않습니다. + +8. **검토 + 만들기**를 클릭한 다음, **만들기**를 클릭합니다. + + >**참고**: 배포가 완료될 때까지 기다리세요. 10분 정도 걸릴 수 있습니다. + +9. 배포가 완료되면 Azure Portal의 Azure Portal 페이지 위쪽에 있는 **리소스, 서비스 및 문서** 검색 텍스트 상자에 리소스 그룹을** 입력**하고 Enter** 키를 누릅니**다. + +10. **리소스 그룹** 블레이드의 리소스 그룹 목록에서 AKS 노드의 구성 요소를 포함하는 MC_AZ500LAB09_MyKubernetesCluster_eastus**이라는 **새 리소스 그룹을 확인합니다. 이 리소스 그룹의 리소스를 검토합니다. + +11. 리소스 그룹 블레이드로 **돌아가서 AZ500LAB09** 항목을 클릭합니다**.** + + >**참고**: 리소스 목록에서 AKS 클러스터 및 해당 가상 네트워크를 확인합니다. + +12. Azure Portal에서 Cloud Shell에서 Bash 세션을 엽니다. + + >**참고**: Cloud Shell 창의 왼쪽 위 모서리에 있는 드롭다운 메뉴에서 Bash**가 선택되어 있는지 확인**합니다. + +13. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 Kubernetes 클러스터에 연결합니다. + + ```sh + az aks get-credentials --resource-group AZ500LAB09 --name MyKubernetesCluster + ``` + +14. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 Kubenetes 클러스터의 노드를 나열합니다. + + ```sh + kubectl get nodes + ``` + + >**참고**: 클러스터 노드의 **상태가** 준비** 상태로 **나열되었는지 확인합니다. + +#### 작업 4: ACR에 액세스하고 가상 네트워크를 관리할 수 있는 AKS 클러스터 권한 부여 + +이 작업에서는 AKS 클러스터에 ACR에 액세스하고 가상 네트워크를 관리할 수 있는 권한을 부여합니다. + +1. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 이 랩의 앞부분에서 만든 Azure Container Registry 인스턴스를 사용하도록 AKS 클러스터를 구성합니다. + + ```sh + ACRNAME=$(az acr list --resource-group AZ500LAB09 --query '[].{Name:name}' --output tsv) + + az aks update -n MyKubernetesCluster -g AZ500LAB09 --attach-acr $ACRNAME + ``` + + >**참고**: 이 명령은 ACR에 'acrpull' 역할 할당을 부여합니다. + + >**참고**: 이 명령을 완료하는 데 몇 분 정도 걸릴 수 있습니다. + +2. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 AKS 클러스터에 해당 가상 네트워크에 기여자 역할을 부여합니다. + + ```sh + RG_AKS=AZ500LAB09 + + AKS_VNET_NAME=AZ500LAB09-vnet + + AKS_CLUSTER_NAME=MyKubernetesCluster + + AKS_VNET_ID=$(az network vnet show --name $AKS_VNET_NAME --resource-group $RG_AKS --query id -o tsv) + + AKS_MANAGED_ID=$(az aks show --name $AKS_CLUSTER_NAME --resource-group $RG_AKS --query identity.principalId -o tsv) + + az role assignment create --assignee $AKS_MANAGED_ID --role "Contributor" --scope $AKS_VNET_ID + ``` + +#### 작업 5: AKS에 외부 서비스 배포 + +이 작업에서는 매니페스트 파일을 다운로드하고, YAML 파일을 편집하고, 변경 내용을 클러스터에 적용합니다. + +1. Cloud Shell 창 내 Bash 세션에서 **파일 업로드/다운로드** 아이콘을 클릭하고, 드롭다운 메뉴에서 **업로드**를 클릭합니다. 그런 다음 **열기** 대화 상자에서 랩 파일을 다운로드한 위치로 이동하여 **\\Allfiles\\Labs\\09\\nginxexternal.yaml**을 선택하고 **열기**를 클릭합니다. 그런 다음 **\\Allfiles\\Labs\\09\\nginxinternal.yaml**을 선택하고 **열기**를 클릭합니다. + +2. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 Azure Container Registry 인스턴스의 이름을 식별합니다. + + ```sh + echo $ACRNAME + ``` + + >**참고**: Azure Container Registry 인스턴스 이름을 기록합니다. 이 이름은 이 작업 뒷부분에서 필요합니다. + +3. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 nginxexternal.yaml 파일을 열어 콘텐츠를 편집할 수 있습니다. + + ```sh + code ./nginxexternal.yaml + ``` + + >**참고**: 외부* yaml 파일입니다*. + +4. 편집기 창에서 **줄 24**까지 아래로 스크롤하여 **``** 자리 표시자를 ACR 이름으로 바꿉니다. + +5. 편집기 창의 오른쪽 위 모서리에서 줄임표 아이콘을 클릭하고 **저장**을 클릭한 **다음 편집**기 닫기를 클릭합니다**.** + +6. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 클러스터에 변경 사항을 적용합니다. + + ```sh + kubectl apply -f nginxexternal.yaml + ``` + +7. Cloud Shell 창 내의 Bash 세션에서 이전 작업에서 실행한 명령의 출력을 검토하여 배포 및 해당 서비스가 만들어졌는지 확인합니다. + + ``` + deployment.apps/nginxexternal created + service/nginxexternal created + ``` + +#### 작업 6: 외부 AKS 호스팅 서비스에 액세스할 수 있는지 확인 + +이 작업에서 공용 IP 주소를 사용하여 컨테이너에 외부에서 액세스할 수 있는지 확인합니다. + +1. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 이름, 유형, IP 주소 및 포트를 포함한 nginxexternal 서비스에 대한 정보를 검색합니다. + + ```sh + kubectl get service nginxexternal + ``` + +2. Cloud Shell 창 내의 Bash 세션에서 출력을 검토하고 외부 IP 열에 값을 기록합니다. 다음 단계에서 필요합니다. + +3. 새 브라우저 탭을 열고 이전 단계에서 식별한 IP 주소를 찾아봅니다. + +4. **nginx에 오신 것을 환영합니다!** 페이지가 표시되는지 확인합니다. + +#### 작업 7: AKS에 내부 서비스 배포 + +이 작업에서는 AKS에 내부 연결 서비스를 배포합니다. + +1. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 nginxintenal.yaml 파일을 열어 콘텐츠를 편집할 수 있습니다. + + ```sh + code ./nginxinternal.yaml + ``` + + >**참고**: 내부* yaml 파일입니다*. + +2. 편집기 창에서 컨테이너 이미지 참조가 포함된 줄까지 아래로 스크롤하여 **``** 자리 표시자를 ACR 이름으로 바꿉니다. + +3. 편집기 창의 오른쪽 위 모서리에서 줄임표 아이콘을 클릭하고 **저장**을 클릭한 **다음 편집**기 닫기를 클릭합니다**.** + +4. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 클러스터에 변경 사항을 적용합니다. + + ```sh + kubectl apply -f nginxinternal.yaml + ``` + +5. Cloud Shell 창 내의 Bash 세션에서 출력을 검토하여 배포 및 서비스가 만들어졌는지 확인합니다. + + ``` + deployment.apps/nginxinternal created + service/nginxinternal created + ``` + +6. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 이름, 유형, IP 주소 및 포트를 포함한 nginxinternal 서비스에 대한 정보를 검색합니다. + + ```sh + kubectl get service nginxinternal + ``` + +7. Cloud Shell 창 내의 Bash 세션에서 출력을 검토합니다. 외부 IP는 이 경우 개인 IP 주소입니다. **보류 중** 상태라면 이전 명령을 다시 실행합니다. + + >**참고**: 이 IP 주소를 기록합니다. 다음 작업에서 필요합니다. + + >**참고**: 내부 서비스 엔드포인트에 액세스하려면 클러스터에서 실행되는 Pod 중 하나에 대화형으로 연결합니다. + + >**참고**: 또는 CLUSTER-IP 주소를 사용할 수 있습니다. + +#### 작업 8: 내부 AKS 호스팅 서비스에 액세스할 수 있는지 확인 + +이 작업에서는 AKS 클러스터에서 실행되는 Pod 중 하나를 사용하여 내부 서비스에 액세스합니다. + +1. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 AKS 클러스터의 기본 네임스페이스에 있는 Pod를 나열합니다. + + ```sh + kubectl get pods + ``` + +2. Pod 목록에서 NAME** 열의 첫 번째 항목을 **복사합니다. + + >**참고**: 이후 단계에서 사용할 Pod입니다. + +3. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 대화형으로 첫 번째 Pod에 연결합니다(`` 자리 표시자를 이전 단계에서 복사한 이름으로 바꿉니다). + + ```sh + kubectl exec -it -- /bin/bash + ``` + +4. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 서비스의 개인 IP 주소를 통해 Nginx 웹 사이트를 사용할 수 있는지 확인합니다(`` 자리 표시자를 이전 작업에서 기록한 IP 주소로 바꿉니다). + + ```sh + curl http:// + ``` + +5. Cloud Shell 창을 닫습니다. + +> 결과: ACR 및 AKS를 구성하고 보호했습니다. + + +**리소스 정리** + +> 더 이상 사용하지 않는 새로 만든 Azure 리소스는 모두 제거하세요. 사용하지 않는 리소스를 제거하면 예상하지 못한 비용이 발생하지 않습니다. + +1. Azure Portal 오른쪽 위의 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. + +2. Cloud Shell 창의 왼쪽 위 드롭다운 메뉴에서 **PowerShell**을 선택하고 메시지가 표시되면 **확인**을 클릭합니다. + +3. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 이 랩에서 만든 리소스 그룹을 제거합니다. + + ```powershell + Remove-AzResourceGroup -Name "AZ500LAB09" -Force -AsJob + ``` + +4. **Cloud Shell** 창을 닫습니다. diff --git a/Instructions/Labs/LAB_07_NSGs.md b/Instructions/Labs/LAB_07_NSGs.md new file mode 100644 index 0000000..0688694 --- /dev/null +++ b/Instructions/Labs/LAB_07_NSGs.md @@ -0,0 +1,339 @@ +--- +lab: + title: 07 - 네트워크 보안 그룹 및 애플리케이션 보안 그룹 + module: Module 02 - Implement Platform Protection +--- + +# 랩 07: 네트워크 보안 그룹 및 애플리케이션 보안 그룹 +# Student용 랩 매뉴얼 + +## 랩 시나리오 + +조직의 가상 네트워킹 인프라를 구현하고 올바르게 작동하는지 테스트하라는 요청이 있습니다. 특히 다음 사항에 주의하십시오. + +- 조직에는 두 개의 서버 그룹이 있습니다. 웹 서버 및 관리 서버. +- 각 서버 그룹은 자체 애플리케이션 보안 그룹에 있어야 합니다. +- 웹 서버가 아닌 관리 서버로 RDP를 할 수 있어야 합니다. +- 웹 서버는 인터넷에서 액세스할 때 IIS 웹 페이지를 표시해야 합니다. +- 네트워크 보안 그룹 규칙을 사용하여 네트워크 액세스를 제어해야 합니다. + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다: + +- 연습 1: 가상 네트워킹 인프라 만들기 +- 연습 2: 가상 머신 배포 및 네트워크 필터 테스트 + +## 네트워크 및 애플리케이션 보안 그룹 다이어그램 + +![이미지](https://user-images.githubusercontent.com/91347931/157526438-6da4f68b-db88-4931-a041-8474e66d3fe5.png) + +## Instructions + +### 연습 1: 가상 네트워킹 인프라 만들기 + +### 예상 소요 시간: 20분 + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 강사에게 이 지역을 수업에서 사용하는지 확인합니다. + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: 하나의 서브넷이 있는 가상 네트워크를 만듭니다. +- 작업 2: 두 개의 애플리케이션 보안 그룹을 만듭니다. +- 작업 3: 네트워크 보안 그룹을 만들고 가상 네트워크 서브넷과 연결합니다. +- 작업 4: 웹 서버의 모든 트래픽 및 관리 서버의 RDP에 인바운드 NSG 보안 규칙을 만듭니다. + +#### 작업 1: 가상 네트워크 만들기 + +이 작업에서는 네트워크 및 애플리케이션 보안 그룹과 함께 사용할 가상 네트워크를 만듭니다. + +1. Azure Portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에 사용 중인 Azure 구독에 Owner 또는 Contributor 역할이 있는 계정을 사용하여 Azure Portal에 로그인합니다. + +2. Azure Portal 내 Azure Portal 페이지 상단의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **가상 네트워크**를 입력하고 **Enter** 키를 누릅니다. + +3. **가상 네트워크** 블레이드에서 **+ 만들기**를 클릭합니다. + +4. **가상 네트워크 만들기** 블레이드의 **기본** 탭에서 다음 설정을 지정하고(다른 설정은 기본값으로 둡니다) **다음: IP 주소**를 클릭합니다. + + |설정|값| + |---|---| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |Resource group|**새로 만들기**를 클릭하고 **AZ500LAB07**을 이름으로 입력합니다.| + |이름|**myVirtualNetwork**| + |지역|**미국 동부**| + +5. **가상 네트워크 만들기** 블레이드의 **IP 주소** 탭에서 **IPv4 주소 공간**을 **10.0.0.0/16**으로 설정하고 필요한 경우 **서브넷 이름** 열에서 **기본값**을 클릭하고 **서브넷 편집** 블레이드에서 다음 설정을 지정하고 **저장**을 클릭합니다. + + |설정|값| + |---|---| + |서브넷 이름|**default**| + |서브넷 주소 범위|**10.0.0.0/24**| + +6. 다시 **가상 네트워크 만들기** 블레이드의 **IP 주소** 탭에서 **검토 + 만들기**를 클릭합니다. + +7. **가상 네트워크 만들기** 블레이드의 **검토 + 만들기** 탭에서 **만들기**를 클릭합니다. + +#### 작업 2: 애플리케이션 보안 그룹 만들기 + +이 작업에서는 애플리케이션 보안 그룹을 만듭니다. + +1. Azure Portal 내 Azure Portal 페이지 상단의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **애플리케이션 보안 그룹**을 입력하고 **Enter** 키를 누릅니다. + +2. **애플리케이션 보안 그룹** 블레이드에서 **+ 만들기**를 클릭합니다. + +3. **애플리케이션 보안 그룹 만들기** 블레이드의 **기본 사항** 탭에서 다음 설정을 지정합니다: + + |설정|값| + |---|---| + |Resource group|**AZ500LAB07**| + |이름|**myAsgWebServers**| + |지역|**미국 동부**| + + >**참고**: 이 그룹은 웹 서버용입니다. + +4. **검토 + 만들기**를 클릭한 다음, **만들기**를 클릭합니다. + +5. **애플리케이션 보안 그룹** 블레이드로 다시 이동하여 **+ 만들기**를 클릭합니다. + +6. **애플리케이션 보안 그룹 만들기** 블레이드의 **기본 사항** 탭에서 다음 설정을 지정합니다: + + |설정|값| + |---|---| + |Resource group|**AZ500LAB07**| + |이름|**myAsgMgmtServers**| + |지역|**미국 동부**| + + >**참고**: 이 그룹은 관리 서버용입니다. + +7. **검토 + 만들기**를 클릭한 다음, **만들기**를 클릭합니다. + +#### 작업 3: 네트워크 보안 그룹을 만들고 NSG를 서브넷에 연결합니다. + +이 작업에서는 네트워크 보안 그룹을 만듭니다. + +1. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **네트워크 보안 그룹**을 입력하고 **Enter** 키를 누릅니다. + +2. **네트워크 보안 그룹** 블레이드에서 **+ 만들기**를 클릭합니다. + +3. **네트워크 보안 그룹 만들기** 블레이드의 **기본** 탭에서 다음 설정을 지정합니다. + + |설정|값| + |---|---| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |Resource group|**AZ500LAB07**| + |이름|**myNsg**| + |지역|**미국 동부**| + +4. **검토 + 만들기**를 클릭한 다음, **만들기**를 클릭합니다. + +5. Azure Portal에서 **네트워크 보안 그룹** 블레이드로 돌아가 **myNsg** 항목을 클릭합니다. + +6. **myNsg** 블레이드의 **설정** 섹션에서 **서브넷**을 클릭한 다음 **+ 연결**을 클릭합니다. + +7. **서브넷 연결** 블레이드에서 다음 설정을 지정하고 **확인**을 클릭합니다. + + |설정|값| + |---|---| + |가상 네트워크|**myVirtualNetwork**| + |서브넷|**default**| + +#### 작업 4: 웹 서버의 모든 트래픽 및 서버의 RDP에 인바운드 NSG 보안 규칙을 만듭니다. + +1. **myNsg** 블레이드의 **설정** 섹션에서 **인바운드 보안 규칙**을 클릭합니다. + +2. 기본 인바운드 보안 규칙을 검토한 다음 **+ 추가**를 클릭합니다. + +3. **인바운드 보안 규칙 추가** 블레이드에서 다음 설정을 지정하여 TCP 포트 80 및 443을 **myAsgWebServers** 애플리케이션 보안 그룹에 허용합니다(다른 모든 값은 기본값으로 남겨 둡니다). + + |설정|값| + |---|---| + |대상|드롭다운 목록에서 **애플리케이션 보안 그룹**을 선택한 다음 **myAsgWebServers**를 클릭합니다| + |대상 포트 범위|**80,443**| + |프로토콜|**TCP**| + |우선 순위|**100**| + |이름|**Allow-Web-All**| + +4. **인바운드 보안 규칙 추가** 블레이드에서 **추가**를 클릭하여 새 인바운드 규칙을 만듭니다. + +5. **myNsg** 블레이드의 **설정** 섹션에서 **인바운드 보안 규칙**을 클릭한 다음 **+ 추가**를 클릭합니다. + +6. **인바운드 보안 규칙 추가** 블레이드에서 다음 설정을 지정하여 RDP 포트(TCP 3389)를 **myAsgMgmtServers** 애플리케이션 보안 그룹에 허용합니다(다른 모든 값은 기본값으로 남겨 둡니다). + + |설정|값| + |---|---| + |대상|드롭다운 목록에서 **애플리케이션 보안 그룹**을 선택한 다음 **myAsgMgmtServers**를 클릭합니다.| + |대상 포트 범위|**3389**| + |프로토콜|**TCP**| + |우선 순위|**110**| + |이름|**Allow-RDP-All**| + +7. **인바운드 보안 규칙 추가** 블레이드에서 **추가**를 클릭하여 새 인바운드 규칙을 만듭니다. + +> 결과: 가상 네트워크, 인바운드 보안 규칙을 가진 네트워크 보안 그리고 두개의 애플리케이션 보안 그룹을 배포하였습니다. + +### 연습 2: 가상 머신 배포 및 네트워크 필터 테스트 + +### 예상 소요 시간: 25분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: 웹 서버로 사용할 가상 머신을 만듭니다. +- 작업 2: 관리 서버로 사용할 가상 머신을 만듭니다. +- 작업 3: 각 가상 머신 네트워크 인터페이스를 애플리케이션 보안 그룹에 연결합니다. +- 작업 4: 네트워크 트래픽 필터링을 테스트합니다. + +#### 작업 1: 웹 서버로 사용할 가상 머신을 만듭니다. + +이 작업에서는 웹 서버로 사용할 가상 머신을 만듭니다. + +1. Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **가상 머신**을 입력하고 **Enter** 키를 누릅니다. + +2. **가상 머신** 블레이드에서 **+ 만들기**를 클릭하고 드롭다운 목록에서 **+ Azure 가상 머신**을 클릭합니다. + +3. **가상 머신 만들기** 블레이드의 **기본 사항** 탭에서 다음 설정을 지정합니다(나머지는 기본값을 그대로 사용). + + |설정|값| + |---|---| + |구독|이 랩에서 사용할 Azure 구독의 이름| + |Resource group|**AZ500LAB07**| + |가상 머신 이름|**myVmWeb**| + |지역|**(미국)미국 동부**| + |이미지|**Windows Server 2022 Datacenter: Azure Edition- x64 Gen2**| + |크기|**표준 D2s v3**| + |사용자 이름|**학생**| + |암호|**랩 04 > 연습 1 > 작업 1 > 9단계에서 만든 개인 암호를 사용하세요.**| + |암호 확인|**암호 다시 입력**| + |공용 인바운드 포트|**없음**| + |기존 Windows Server 라이선스를 사용하시겠습니까? |**아니요**| + + >**참고**: 공용 인바운드 포트의 경우 미리 만들어진 NSG에 의존합니다. + +4. **다음: 디스크 >** 를 클릭하고, **가상 머신 만들기** 블레이드의 **디스크** 탭에서 **OS 디스크 유형**을 **표준 HDD**로 설정하고 **다음: 네트워킹 >** 을 선택합니다. + +5. **가상 머신 만들기** 블레이드의 **네트워킹** 탭에서 이전에 만든 네트워크인 **myVirtualNetwork**를 선택합니다. + +6. **NIC 네트워크 보안 그룹** 아래에서 **없음**을 선택합니다. + +7. **다음: 관리 >** 클릭한 다음 다음: 모니터링 >** 클릭합니다**. **가상 머신** 만들기 블레이드의 모니터링** 탭에서 **다음 설정을 확인합니다. + + |설정|값| + |---|---| + |부트 진단|**관리형 스토리지 계정으로 사용하도록 설정됨(권장)**| + +8. **검토 + 만들기** 블레이드에서 **검토 + 만들기**를 클릭하고 유효성 검사가 성공하였는지 확인한 다음 **만들기**를 클릭합니다. + +#### 작업 2: 관리 서버로 사용할 가상 머신을 만듭니다. + +이 작업에서는 관리 서버로 사용할 가상 머신을 만듭니다. + +1. Azure Portal에서 **가상 머신** 블레이드로 다시 이동하고, **+ 만들기**를 클릭하고, 드롭다운 목록에서 **+ Azure 가상 머신**을 클릭합니다. + +2. **가상 머신 만들기** 블레이드의 **기본 사항** 탭에서 다음 설정을 지정합니다(나머지는 기본값을 그대로 사용). + + |설정|값| + |---|---| + |구독|이 랩에서 사용할 Azure 구독의 이름| + |Resource group|**AZ500LAB07**| + |가상 머신 이름|**myVMMgmt**| + |지역|(미국)미국 동부| + |이미지|**Windows Server 2022 Datacenter: Azure Edition - x64 Gen2**| + |크기|**표준 D2s v3**| + |사용자 이름|**학생**| + |암호|**랩 04 > 연습 1 > 작업 1 > 9단계에서 만든 개인 암호를 사용하세요.**| + |공용 인바운드 포트|**없음**| + |이미 Windows Server 라이선스가 있으신가요?|**아니요**| + + >**참고**: 공용 인바운드 포트의 경우 미리 만들어진 NSG에 의존합니다. + +3. **다음: 디스크 >** 를 클릭하고, **가상 머신 만들기** 블레이드의 **디스크** 탭에서 **OS 디스크 유형**을 **표준 HDD**로 설정하고 **다음: 네트워킹 >** 을 선택합니다. + +4. **가상 머신 만들기** 블레이드의 **네트워킹** 탭에서 이전에 만든 네트워크인 **myVirtualNetwork**를 선택합니다. + +5. **NIC 네트워크 보안 그룹** 아래에서 **없음**을 선택합니다. + +6. **다음: 관리 >** 클릭한 다음 다음: 모니터링 >** 클릭합니다**. **가상 머신** 만들기 블레이드의 모니터링** 탭에서 **다음 설정을 확인합니다. + + |설정|값| + |---|---| + |부트 진단|**관리형 스토리지 계정으로 사용하도록 설정됨(권장)**| + +7. **검토 + 만들기** 블레이드에서 **검토 + 만들기**를 클릭하고 유효성 검사가 성공하였는지 확인한 다음 **만들기**를 클릭합니다. + + >**참고**: 가상 머신이 모두 프로비저닝될 때까지 기다린 후에 계속 진행합니다. + +#### 작업 3: 각 가상 머신 네트워크 인터페이스를 애플리케이션 보안 그룹에 연결 + +이 작업에서는 각 가상 머신 네트워크 인터페이스를 해당 애플리케이션 보안 그룹과 연결합니다. myVMWeb 가상 머신 인터페이스는 myAsgWebServers ASG에 연결됩니다. myVMMgmt 가상 머신 인터페이스는 myAsgMgmtServers ASG에 연결됩니다. + +1. Azure Portal에서 **가상 머신** 블레이드로 돌아가서 두 가상 머신 모두 **실행** 상태에 나열되었는지 확인합니다. + +2. 가상 머신 목록에서 **myVMWeb** 항목을 클릭합니다. + +3. myVMWeb** 블레이드의 **** 네트워킹** 섹션에서 네트워크 설정을** 클릭한 **다음 myVMWeb \| 네트워킹 설정** 블레이드에서 **애플리케이션 보안 그룹** 탭을 **클릭합니다. + +4. + **애플리케이션 보안 그룹** 추가를 **클릭하고 애플리케이션 보안 그룹** 목록에서 myAsgWebServers**를 선택한 **다음 저장**을 클릭합니다**. + +5. **가상 머신** 블레이드로 돌아가서 가상 머신 목록에서 **myVMMgmt** 항목을 클릭합니다. + +6. myVMMgmt** 블레이드의 **** 네트워킹 섹션에서 네트워킹** 설정을** 클릭한 **다음 myVMMgmt \| 네트워킹 설정** 블레이드에서 **애플리케이션 보안 그룹** 탭을 **클릭합니다. + +7. + **애플리케이션 보안 그룹** 추가를 클릭하고 애플리케이션 **보안 그룹** 목록에서 myAsgMgmtServers**를 선택한 **다음 저장**을 클릭합니다**. + +#### 작업 4: 네트워크 트래픽 필터링 테스트 + +이 작업에서는 네트워크 트래픽 필터를 테스트합니다. myVMMgmnt 가상 머신에 RDP를 할 수 있어야 합니다. 인터넷에서 myVMWeb 가상 머신으로 연결하고 기본 IIS 웹 페이지를 볼 수 있어야 합니다. + +1. **myVMMgmt** 가상 머신 블레이드로 돌아갑니다. + +2. **myVMMgmt** 블레이드에서 **연결**을 클릭하고 드롭다운 메뉴에서 **RDP**를 클릭합니다. + +3. **RDP 파일 다운로드**를 클릭하고 원격 데스크톱을 통해 **myVMMgmt** Azure VM에 연결하는 데 사용합니다. 인증하라는 메시지가 표시되면 다음 자격 증명을 입력합니다. + + |설정|값| + |---|---| + |사용자 이름|**Student**| + |암호|**랩 04 > 연습 1 > 작업 1 > 9단계에서 만든 개인 암호를 사용하세요.**| + + >**참고**: 원격 데스크톱 연결이 성공했는지 확인합니다. 이 시점에서 원격 데스크톱을 통해 myVMMgmt에 연결할 수 있다는 것을 확인하였습니다. + +4. Azure Portal에서 **myVMWeb** 가상 머신 블레이드로 이동합니다. + +5. myVMWeb 블레이드의 ****페이로드** 섹션에서 실행 명령을** 클릭한 **다음 RunPowerShellScript**를 클릭합니다**.** + +6. **명령 스크립트 실행** 창에서 다음을 실행하여 **myVmWeb**에 웹 서버 역활을 설치합니다. + + ```powershell + Install-WindowsFeature -name Web-Server -IncludeManagementTools + ``` + + >**참고**: 설치가 완료될 때까지 기다립니다. 이 과정은 몇 분 정도 걸릴 수 있습니다. 이 시점에서 HTTP/HTTPS를 통해 myVMWeb에 액세스할 수 있는지 확인할 수 있습니다. + +7. Azure Portal에서 **myVMWeb** 블레이드로 이동합니다. + +8. **myVMWeb** 블레이드에서 myVmWeb Azure VM의 **공용 IP 주소**를 식별합니다. + +9. 다른 브라우저 탭을 열고 이전 단계에서 식별한 IP 주소로 이동합니다. + + >**참고**: 포트 80은 **myAsgWebServers** 애플리케이션 보안 그룹의 설정에 따라 인터넷에서 인바운드가 허용되므로 기본 IIS 시작 페이지가 브라우저 페이지에 표시되어야 합니다. myVMWeb Azure VM의 네트워크 인터페이스는 해당 애플리케이션 보안 그룹과 연결됩니다. + +> 결과: NSG 및 ASG 구성이 작동하고 트래픽이 올바르게 관리되고 있는지 확인했습니다. + +**리소스 정리** + +> 더 이상 사용하지 않는 새로 만든 Azure 리소스는 모두 제거하세요. 사용하지 않는 리소스를 제거하면 예상하지 못한 비용이 발생하지 않습니다. + +1. Azure Portal 오른쪽 상단에 있는 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. 메시지가 표시되면 **PowerShell** 및 **스토리지 만들기**를 선택합니다. + +2. Cloud Shell 창의 왼쪽 위 모서리에 있는 드롭다운 메뉴에서 **PowerShell**이 선택되었는지 확인합니다. + +3. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 이 랩에서 만든 리소스 그룹을 제거합니다. + + ```powershell + Remove-AzResourceGroup -Name "AZ500LAB07" -Force -AsJob + ``` + +4. **Cloud Shell** 창을 닫습니다. diff --git a/Instructions/Labs/LAB_08_SecuringAzureSQLDatabase.MD b/Instructions/Labs/LAB_08_SecuringAzureSQLDatabase.MD new file mode 100644 index 0000000..466d113 --- /dev/null +++ b/Instructions/Labs/LAB_08_SecuringAzureSQLDatabase.MD @@ -0,0 +1,191 @@ +--- +lab: + title: 08 - Azure SQL Database 보안 + module: Module 03 - Secure data and applications +--- + +# 랩 08: Azure SQL Database 보안 +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +Azure SQL 데이터베이스의 보안 기능을 검토하라는 요청을 받았습니다. 특히 다음 사항에 관심이 있습니다. + +- SQL 삽입 및 데이터 반출과 같은 공격으로부터 보호합니다. +- 데이터베이스 정보를 검색하고 기밀과 같은 범주로 분류하는 기능 +- 데이터베이스 서버 및 데이터베이스 쿼리 및 로그 이벤트를 감사하는 기능. + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다. + +- 연습 1: SQL Database 보안 기능 구현 + +## Azure SQL Database 보안 다이어그램 + +![이미지](https://user-images.githubusercontent.com/91347931/157533836-7250fa58-a109-4882-a55b-d3fa3baf34ab.png) + +## Instructions + +## 랩 파일: + +- **\\Allfiles\\Labs\\11\\azuredeploy.json** + +### 연습 1: SQL Database 보안 기능 구현 + +### 예상 소요 시간: 30분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: Azure SQL Database 배포 +- 작업 2: 고급 데이터 보호 구성 +- 작업 3: 데이터 분류 구성 +- 작업 4: 감사 구성 + +#### 작업 1: Azure SQL Database 배포 + +이 작업에서는 템플릿을 사용하여 랩 인프라를 배포합니다. + +1. Azure portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에 사용 중인 Azure 구독에 Owner 또는 Contributor 역할이 있는 계정을 사용하여 Azure Portal에 로그인합니다. + +2. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **사용자 지정 템플릿 배포**를 입력하고 **Enter** 키를 누릅니다. + +3. **사용자 지정 배포** 블레이드에서 **편집기에서 사용자 고유의 탬플릿 빌드** 옵션을 클릭합니다. + +4. **템플릿 편집** 블레이드에서 **파일 로드**를 클릭하고, **\\Allfiles\\Labs\\11\\azuredeploy.json** 파일을 찾아 **열기**를 클릭합니다. + + >**참고**: 템플릿의 내용을 검토하고 Azure SQL 데이터베이스를 배포합니다. + +5. **템플릿 편집** 블레이드에서 **저장**을 클릭합니다. + +6. **사용자 지정 배포** 블레이드에서 다음 설정이 구성되었는지 확인합니다 (다른 설정은 기본값으로 유지). + + |설정|값| + |---|---| + |구독|이 랩에서 사용할 Azure 구독의 이름| + |Resource group|**새로 만들기**를 클릭하고 **AZ500LAB11**을 이름으로 입력합니다.| + |위치|**(미국) 미국 동부**| + +7. **검토 + 만들기**를 클릭한 다음, **만들기**를 클릭합니다. + + >**참고**: 배포가 완료될 때까지 기다리세요. + +#### 작업 2: 고급 데이터 보호 구성 + +1. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **리소스 그룹**을 입력하고 **Enter** 키를 누릅니다. + +2. **리소스 그룹** 블레이드의 리소스 그룹 목록에서 **AZ500LAB11** 항목을 클릭합니다. + +3. **AZ500LAB11** 블레이드에서 새로 만든 SQL Server를 나타내는 항목을 클릭합니다. + +4. SQL 서버 블레이드의 **보안** 섹션에서 **클라우드용 Microsoft Defender**를 클릭하고 **Microsoft Defender for SQL 사용**을 선택합니다. + + >**참고**: Azure Defender for SQL이 성공적으로 사용하도록 설정되었다는 알림이 표시될 때까지 기다립니다. + +5. SQL Server 블레이드의 보안 섹션에 **있는 클라우드용 Microsoft Defender** 페이지의 **Microsoft Defender for SQL: Enabled at the subscription-level (Configure)** 매개 변수, 클릭 **(구성)**.** ** + + >**참고**: (구성)**이 표시되지 않는 경우 **브라우저를 새로 고칩니다. + +6. **서버 설정** 블레이드에서 가격 책정 및 평가 기간, **취약성 평가 설정 및 **ADVANCED THREAT PROTECTION 설정**에 대한 정보를 검토합니다**. + +7. **클라우드용 Microsoft Defender** 블레이드로 돌아와 **권장 사항** 및 **보안 경고**를 검토합니다. + + >**참고**: 권장 사항이 클라우드용 Microsoft Defender** 블레이드에 **표시되는 데 10~15분이 걸릴 수 있습니다. 대기하는 대신 다음 작업으로 진행하지만 모든 다시 기본 작업을 완료한 후 이 블레이드로 돌아가는 것이 좋습니다. + + +#### 작업 3: 데이터 분류 구성 + +이 작업에서는 GPDR 및 데이터 보호 규정 준수에 대한 SQL 데이터베이스의 정보를 검색하고 분류합니다. + +1. SQL 서버 블레이드의 **설정** 섹션에서 **SQL Databases**를 클릭합니다. + +2. 데이터베이스 목록에서 AZ500LabDb** 항목을 선택합니다**. + +3. AZ500LabDb** SQL 데이터베이스 블레이드의 **보안** 섹션에서 데이터 검색 및 분류**를 클릭합니다**.** + +4. **데이터 검색 및 분류 블레이드에서 분류**** 탭을 **클릭합니다. + + >**참고**: 분류 엔진은 데이터베이스에서 잠재적으로 중요한 데이터가 포함된 열을 검색하고 권장되는 열 분류 목록을 제공합니다. + +5. 블레이드 위쪽의 파란색 막대에 분류 권장 사항이 표시된 15개의** 열을 찾은 문자 메시지를 **클릭합니다. + +6. 나열된 열 및 권장 민감도 레이블을 검토합니다. + +7. **모든** 검사 상자를 사용하도록 설정한 다음 선택한 권장 사항** 수락을 클릭합니다**. + + >**참고**: 또는 특정 열만 선택하고 다른 열은 해제할 수 있습니다. + + >**참고**: 정보 유형 및 민감도 레이블을 변경하는 옵션이 있습니다. + +8. 검토가 완료되면 저장**을 클릭합니다**. + + >**참고**: 분류를 완료하고 새 분류 메타데이터를 사용하여 데이터베이스 열에 영구적으로 레이블을 지정합니다. + +9. **데이터 검색 및 분류** 블레이드 **개요** 탭으로 돌아와 최신 분류 정보를 반영하여 업데이트되었음을 확인합니다. + +#### 작업 4: 감사 구성 + +이 작업에서는 먼저 서버 수준 감사를 구성한 다음 데이터베이스 수준 감사를 구성합니다. + +1. Azure Portal에서 SQL Server 블레이드로 다시 이동합니다. + +2. SQL Server 블레이드의 **보안** 섹션에서 감사를** 클릭합니다**. + + >**참고**: 서버 수준 감사입니다. 기본 감사 설정에는 데이터베이스에 대해 실행된 모든 쿼리 및 저장 프로시저뿐만 아니라 성공 및 실패한 로그인도 포함됩니다. + +3. **Azure SQL 감사 사용** 스위치를 **ON**으로 설정하여 감사를 사용하도록 설정합니다. + +4. **Storage** 검사 상자를 선택하면 구독** 및 **스토리지 계정에** 대한 **입력란이 표시됩니다. + +5. **드롭다운 목록에서 구독**을 선택합니다. + +6. Storage 계정을** 클릭하고 **새로** 만들기를 선택합니다**. + +7. 스토리지 계정 만들기 블레이드의 ****이름** 상자에 3~24개의 소문자와 숫자로 구성된 전역적으로 고유한 이름을 입력하고 확인을** 클릭합니다**.** + + >**참고**: 스토리지 계정을 사용할 수 있게 되기 전에 브라우저를 새로 고쳐야 할 수 있습니다. + +8. **감사** 블레이드로 돌아와 **고급 속성**에서 **보존 기간(일)** 을 **5**로 설정합니다. + +9. 감사 블레이드에서 **저장**을 클릭하여 감사 설정을 저장합니다. + + >**참고**: 잘못된 스토리지 컨테이너 경로에 대한 오류 메시지가 표시되면 스토리지 계정이 아직 프로비전되지 않았을 수 있습니다. 몇 분 정도 기다렸다가 Storage 계정을 클릭하고 **스토리지 계정**** 선택 블레이드에서 **새로 만든 스토리지 계정을 선택하고 감사 블레이드에서 다시 저장**을 클릭합니다**. + +10. 서버 블레이드**의 설정** 섹션에서 SQL Database를** 클릭합니다**. + +11. 데이터베이스 목록에서 AZ500LabDb** 항목을 선택합니다**. + +12. **AZ500LabDb** SQL 데이터베이스 블레이드의 **보안** 섹션에서 감사를** 클릭합니다**. + + >**참고**: 데이터베이스 수준 감사입니다. 서버 수준 감사가 이미 활성화되어 있습니다. + + >**참고**: 감사는 Azure Storage 계정, Log Analytics 작업 영역 또는 이벤트 허브에 기록할 수 있습니다. 이러한 옵션의 조합을 구성할 수 있습니다. + + >**참고**: 서버에서 스토리지 기반 감사를 사용하도록 설정하면 데이터베이스 설정에 관계없이 항상 데이터베이스에 적용됩니다. +13. Azure Portal의 SQL 데이터베이스 개요 페이지에서 왼쪽 메뉴에서 쿼리 편집기(미리 보기)**를 선택합니다**. 로그인하려고 하면 암호, IP 주소에 대한 방화벽 규칙이 실패할 수 있으며 모든 항목이 감사됩니다. 성공적인 로그인도 시도하고 쿼리를 실행하면 감사 로그에서 더 많은 분리를 찾을 수 있습니다. + +14. DB, 감사로 다시 전환하고 감사 로그** 보기를 클릭합니다**. + +15. 감사 레코드** 블레이드에서 **서버 감사와 데이터베이스 감사 간에 전환할 수 있습니다. + +> 결과: SQL 서버 및 데이터베이스를 만들고, 데이터 분류를 구성하고, 감사를 수행했습니다. + + +**리소스 정리** + +> 더 이상 사용하지 않는 새로 만든 Azure 리소스는 모두 제거하세요. 사용하지 않는 리소스를 제거하면 예상하지 못한 비용이 발생하지 않습니다. + +1. Azure Portal 오른쪽 위의 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. 메시지가 표시되면 **PowerShell**, 그리고 **스토리지 만들기**를 클릭합니다. + +2. Cloud Shell 창의 왼쪽 위 모서리에 있는 드롭다운 메뉴에서 **PowerShell**이 선택되었는지 확인합니다. + +3. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 이 랩에서 만든 리소스 그룹을 제거합니다. + + ```powershell + Remove-AzResourceGroup -Name "AZ500LAB11" -Force -AsJob + ``` +4. **Cloud Shell** 창을 닫습니다. diff --git a/Instructions/Labs/LAB_09_ConfiguringandSecuringACRandAKS.MD b/Instructions/Labs/LAB_09_ConfiguringandSecuringACRandAKS.MD new file mode 100644 index 0000000..a8b4716 --- /dev/null +++ b/Instructions/Labs/LAB_09_ConfiguringandSecuringACRandAKS.MD @@ -0,0 +1,375 @@ +--- +lab: + title: 09 - ACR 및 AKS 구성 및 보안 + module: Module 02 - Implement Platform Protection +--- + +# 랩 09: ACR 및 AKS 구성 및 보안 +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +Azure Container Registry 및 Azure Kubernetes Service를 사용하여 개념 증명을 배포하라는 요청을 받았습니다. 특히 개념 증명은 다음을 보여 주어야 합니다. + +- Dockerfile을 사용하여 이미지 빌드 +- Azure Container Registry를 사용하여 이미지 저장 +- Azure Kubernetes Service 구성 +- 내부 및 외부 모두에서 컨테이너 애플리케이션 보안 및 액세스 + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다. + +- 연습 1: ACR 및 AKS 구성 및 보안 + +## 랩: ACR 및 AKS 구성 및 보안 + +![이미지](https://user-images.githubusercontent.com/91347931/157532250-1104a829-792a-4b6d-beff-fe976e2d5d4b.png) + +## 소개 + +## 랩 파일: + +- **\\Allfiles\\Labs\\09\\nginxexternal.yaml** +- **\\Allfiles\\Labs\\09\\nginxinternal.yaml** + +### 연습 1: ACR 및 AKS 구성 및 보안 + +### 예상 소요 시간: 45분 + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 강사에게 이 지역을 수업에서 사용하는지 확인합니다. + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: Azure Container Registry 만들기 +- 작업 2: Dockerfile 만들기, 컨테이너 빌드 및 Azure Container Registry에 푸시 +- 작업 3: Azure Kubernetes Service 클러스터 만들기 +- 작업 4: ACR에 액세스할 수 있는 AKS 클러스터 권한 부여 +- 작업 5: AKS에 외부 서비스 배포 +- 작업 6: 외부 AKS 호스팅 서비스에 액세스할 수 있는지 확인 +- 작업 7: AKS에 내부 서비스 배포 +- 작업 8: 내부 AKS 호스팅 서비스에 액세스할 수 있는지 확인 + +#### 작업 1: Azure Container Registry 만들기 + +이 작업에서는 랩에 대한 리소스 그룹을 Azure Container Registry로 만듭니다. + +1. Azure portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에 사용 중인 Azure 구독의 소유자 또는 기여자 역할이 있는 계정과 해당 구독과 연결된 Microsoft Entra 테넌트의 전역 관리이스트레이터 역할을 사용하여 Azure Portal에 로그인합니다. + +2. Azure Portal 오른쪽 위의 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. 메시지가 표시되면 Bash** 및 **스토리지** 만들기를 클릭합니다**. + +3. Cloud Shell 창의 왼쪽 위 모서리에 있는 드롭다운 메뉴에서 Bash**가 선택되어 있는지 확인**합니다. + +4. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 이 랩에 대한 새 리소스 그룹을 만듭니다. + + ```sh + az group create --name AZ500LAB09 --location eastus + ``` + +5. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 리소스 그룹이 생성되었는지 확인합니다. + + ``` + az group list --query "[?name=='AZ500LAB09']" -o table + ``` + +6. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 새 ACR(Azure Container Registry) 인스턴스를 만듭니다(ACR의 이름은 전역적으로 고유해야 함). + + ```sh + az acr create --resource-group AZ500LAB09 --name az500$RANDOM$RANDOM --sku Basic + ``` + +7. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 새 ACR이 생성되었는지 확인합니다. + + ```sh + az acr list --resource-group AZ500LAB09 + ``` + + >**참고**: ACR의 이름을 기록합니다. 다음 작업에서 필요합니다. + +#### 작업 2: Dockerfile 만들기, 컨테이너 빌드 및 Azure Container Registry에 푸시 + +이 작업에서는 Dockerfile을 만들고, Dockerfile에서 이미지를 빌드하고, ACR에 이미지를 배포합니다. + +1. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 Nginx 기반 이미지를 만드는 Dockerfile을 만듭니다. + + ```sh + echo FROM nginx > Dockerfile + ``` + +2. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 Dockerfile에서 이미지를 빌드하고 이미지를 새 ACR로 푸시합니다. + + >**참고**: 명령줄의 끝에 있는 후행 기간이 필요합니다. 현재 디렉터리를 Dockerfile의 위치로 지정합니다. + + ```sh + ACRNAME=$(az acr list --resource-group AZ500LAB09 --query '[].{Name:name}' --output tsv) + + az acr build --resource-group AZ500LAB09 --image sample/nginx:v1 --registry $ACRNAME --file Dockerfile . + ``` + + >**참고**: 명령이 성공적으로 완료되기를 기다립니다. 2분 정도 걸릴 수 있습니다. + +3. Cloud Shell 창을 닫습니다. + +4. Azure Portal에서 AZ500Lab09** 리소스 그룹으로 이동하고**, 리소스 목록에서 이전 작업에서 프로비전한 Azure Container Registry 인스턴스를 나타내는 항목을 클릭합니다. + +5. 컨테이너 레지스트리 블레이드의 **서비스** 섹션에서 리포지**토리를 클릭합니다**. + +6. 리포지토리 목록에 sample/nginx라는 **새 컨테이너 이미지가 포함되어 있는지 확인합니다**. + +7. **샘플/nginx** 항목을 클릭하고 이미지 버전을 식별하는 v1** 태그가 **있는지 확인합니다. + +8. **v1** 항목을 클릭하여 이미지 매니페스트를 봅니다. + + >**참고**: 매니페스트에는 sha256 다이제스트, 매니페스트 생성 날짜 및 플랫폼 항목이 포함됩니다. + +#### 작업 3: Azure Kubernetes Service 클러스터 만들기 + +이 작업에서는 Azure Kubernetes 서비스를 만들고 배포된 리소스를 검토합니다. + +1. Azure Portal의 Azure Portal 페이지 맨 위에 있는 **리소스, 서비스 및 문서** 검색 텍스트 상자에 Kubernetes 서비스를** 입력**하고 Enter** 키를 누릅니**다. + +2. **Kubernetes 서비스** 블레이드에서 **+ 만들기**를 클릭하고, 드롭다운 메뉴에서 **+ Kubernetes 클러스터 만들기**를 클릭합니다. + +3. **Kubernetes 클러스터 만들기** 블레이드의 **기본 사항** 탭에서 **클러스터 사전 설정 구성**을 선택하고, **개발/테스트($)** 를 선택합니다. 이제 다음 설정을 지정합니다(다른 설정은 기본값으로 둡니다). + + |설정|값| + |----|----| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |Resource group|**AZ500LAB09**| + |Kubernetes 클러스터 이름|**MyKubernetesCluster**| + |지역|**(미국) 미국 동부**| + |가용성 영역 |**없음**| + |스케일링 방법|**수동**| + |노드 수|**1**| + +4. **다음: 노드 풀 >** 을 클릭하고, **Kubernetes 클러스터 만들기** 블레이드의 **노드 풀** 탭에서 다음 설정을 지정합니다(다른 설정은 기본값으로 둡니다). + + |설정|값| + |----|----| + |가상 노드 사용|지워진 검사box| + +5. 다음을 클릭합니다 **. 액세스 > **** Kubernetes 클러스터** 만들기 블레이드의 **액세스** 탭에서 기본값을 적용하고 다음: 네트워킹 >** 클릭합니다**. + +6. **Kubernetes 클러스터** 만들기 블레이드의 **네트워킹** 탭에서 다음 설정을 지정합니다(다른 설정은 기본값으로 유지). + + |설정|값| + |----|----| + |네트워크 구성|**Azure CNI**| + |DNS 이름 접두사|**기본값 그대로 유지**| + + >**참고**: AKS는 프라이빗 클러스터로 구성할 수 있습니다. 이렇게 하면 API 서버에 개인 IP를 할당하여 API 서버와 노드 풀 간의 네트워크 트래픽이 프라이빗 네트워크에서만 다시 기본. 자세한 내용은 프라이빗 Azure Kubernetes Service 클러스터[ 만들기 페이지를 참조](https://docs.microsoft.com/en-us/azure/aks/private-clusters)하세요. + +7. 다음: 통합 > 클릭하고 **Kubernetes 클러스터** 만들기 블레이드의 **통합** 탭에서 **컨테이너 모니터링을** 사용 안 함으로 **** 설정합니다**.** + + >**참고**: 프로덕션 시나리오에서 모니터링을 활성화합니다. 이 경우 모니터링은 랩에서 다루지 않으므로 사용하지 않습니다. + +8. **검토 + 만들기**를 클릭한 다음, **만들기**를 클릭합니다. + + >**참고**: 배포가 완료될 때까지 기다리세요. 10분 정도 걸릴 수 있습니다. + +9. 배포가 완료되면 Azure Portal의 Azure Portal 페이지 위쪽에 있는 **리소스, 서비스 및 문서** 검색 텍스트 상자에 리소스 그룹을** 입력**하고 Enter** 키를 누릅니**다. + +10. **리소스 그룹** 블레이드의 리소스 그룹 목록에서 AKS 노드의 구성 요소를 포함하는 MC_AZ500LAB09_MyKubernetesCluster_eastus**이라는 **새 리소스 그룹을 확인합니다. 이 리소스 그룹의 리소스를 검토합니다. + +11. 리소스 그룹 블레이드로 **돌아가서 AZ500LAB09** 항목을 클릭합니다**.** + + >**참고**: 리소스 목록에서 AKS 클러스터 및 해당 가상 네트워크를 확인합니다. + +12. Azure Portal에서 Cloud Shell에서 Bash 세션을 엽니다. + + >**참고**: Cloud Shell 창의 왼쪽 위 모서리에 있는 드롭다운 메뉴에서 Bash**가 선택되어 있는지 확인**합니다. + +13. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 Kubernetes 클러스터에 연결합니다. + + ```sh + az aks get-credentials --resource-group AZ500LAB09 --name MyKubernetesCluster + ``` + +14. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 Kubenetes 클러스터의 노드를 나열합니다. + + ```sh + kubectl get nodes + ``` + + >**참고**: 클러스터 노드의 **상태가** 준비** 상태로 **나열되었는지 확인합니다. + +#### 작업 4: ACR에 액세스하고 가상 네트워크를 관리할 수 있는 AKS 클러스터 권한 부여 + +이 작업에서는 AKS 클러스터에 ACR에 액세스하고 가상 네트워크를 관리할 수 있는 권한을 부여합니다. + +1. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 이 랩의 앞부분에서 만든 Azure Container Registry 인스턴스를 사용하도록 AKS 클러스터를 구성합니다. + + ```sh + ACRNAME=$(az acr list --resource-group AZ500LAB09 --query '[].{Name:name}' --output tsv) + + az aks update -n MyKubernetesCluster -g AZ500LAB09 --attach-acr $ACRNAME + ``` + + >**참고**: 이 명령은 ACR에 'acrpull' 역할 할당을 부여합니다. + + >**참고**: 이 명령을 완료하는 데 몇 분 정도 걸릴 수 있습니다. + +2. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 AKS 클러스터에 해당 가상 네트워크에 기여자 역할을 부여합니다. + + ```sh + RG_AKS=AZ500LAB09 + + AKS_VNET_NAME=AZ500LAB09-vnet + + AKS_CLUSTER_NAME=MyKubernetesCluster + + AKS_VNET_ID=$(az network vnet show --name $AKS_VNET_NAME --resource-group $RG_AKS --query id -o tsv) + + AKS_MANAGED_ID=$(az aks show --name $AKS_CLUSTER_NAME --resource-group $RG_AKS --query identity.principalId -o tsv) + + az role assignment create --assignee $AKS_MANAGED_ID --role "Contributor" --scope $AKS_VNET_ID + ``` + +#### 작업 5: AKS에 외부 서비스 배포 + +이 작업에서는 매니페스트 파일을 다운로드하고, YAML 파일을 편집하고, 변경 내용을 클러스터에 적용합니다. + +1. Cloud Shell 창 내 Bash 세션에서 **파일 업로드/다운로드** 아이콘을 클릭하고, 드롭다운 메뉴에서 **업로드**를 클릭합니다. 그런 다음 **열기** 대화 상자에서 랩 파일을 다운로드한 위치로 이동하여 **\\Allfiles\\Labs\\09\\nginxexternal.yaml**을 선택하고 **열기**를 클릭합니다. 그런 다음 **\\Allfiles\\Labs\\09\\nginxinternal.yaml**을 선택하고 **열기**를 클릭합니다. + +2. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 Azure Container Registry 인스턴스의 이름을 식별합니다. + + ```sh + echo $ACRNAME + ``` + + >**참고**: Azure Container Registry 인스턴스 이름을 기록합니다. 이 이름은 이 작업 뒷부분에서 필요합니다. + +3. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 nginxexternal.yaml 파일을 열어 콘텐츠를 편집할 수 있습니다. + + ```sh + code ./nginxexternal.yaml + ``` + + >**참고**: 외부* yaml 파일입니다*. + +4. 편집기 창에서 **줄 24**까지 아래로 스크롤하여 **``** 자리 표시자를 ACR 이름으로 바꿉니다. + +5. 편집기 창의 오른쪽 위 모서리에서 줄임표 아이콘을 클릭하고 **저장**을 클릭한 **다음 편집**기 닫기를 클릭합니다**.** + +6. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 클러스터에 변경 사항을 적용합니다. + + ```sh + kubectl apply -f nginxexternal.yaml + ``` + +7. Cloud Shell 창 내의 Bash 세션에서 이전 작업에서 실행한 명령의 출력을 검토하여 배포 및 해당 서비스가 만들어졌는지 확인합니다. + + ``` + deployment.apps/nginxexternal created + service/nginxexternal created + ``` + +#### 작업 6: 외부 AKS 호스팅 서비스에 액세스할 수 있는지 확인 + +이 작업에서 공용 IP 주소를 사용하여 컨테이너에 외부에서 액세스할 수 있는지 확인합니다. + +1. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 이름, 유형, IP 주소 및 포트를 포함한 nginxexternal 서비스에 대한 정보를 검색합니다. + + ```sh + kubectl get service nginxexternal + ``` + +2. Cloud Shell 창 내의 Bash 세션에서 출력을 검토하고 외부 IP 열에 값을 기록합니다. 다음 단계에서 필요합니다. + +3. 새 브라우저 탭을 열고 이전 단계에서 식별한 IP 주소를 찾아봅니다. + +4. **nginx에 오신 것을 환영합니다!** 페이지가 표시되는지 확인합니다. + +#### 작업 7: AKS에 내부 서비스 배포 + +이 작업에서는 AKS에 내부 연결 서비스를 배포합니다. + +1. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 nginxintenal.yaml 파일을 열어 콘텐츠를 편집할 수 있습니다. + + ```sh + code ./nginxinternal.yaml + ``` + + >**참고**: 내부* yaml 파일입니다*. + +2. 편집기 창에서 컨테이너 이미지 참조가 포함된 줄까지 아래로 스크롤하여 **``** 자리 표시자를 ACR 이름으로 바꿉니다. + +3. 편집기 창의 오른쪽 위 모서리에서 줄임표 아이콘을 클릭하고 **저장**을 클릭한 **다음 편집**기 닫기를 클릭합니다**.** + +4. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 클러스터에 변경 사항을 적용합니다. + + ```sh + kubectl apply -f nginxinternal.yaml + ``` + +5. Cloud Shell 창 내의 Bash 세션에서 출력을 검토하여 배포 및 서비스가 만들어졌는지 확인합니다. + + ``` + deployment.apps/nginxinternal created + service/nginxinternal created + ``` + +6. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 이름, 유형, IP 주소 및 포트를 포함한 nginxinternal 서비스에 대한 정보를 검색합니다. + + ```sh + kubectl get service nginxinternal + ``` + +7. Cloud Shell 창 내의 Bash 세션에서 출력을 검토합니다. 외부 IP는 이 경우 개인 IP 주소입니다. **보류 중** 상태라면 이전 명령을 다시 실행합니다. + + >**참고**: 이 IP 주소를 기록합니다. 다음 작업에서 필요합니다. + + >**참고**: 내부 서비스 엔드포인트에 액세스하려면 클러스터에서 실행되는 Pod 중 하나에 대화형으로 연결합니다. + + >**참고**: 또는 CLUSTER-IP 주소를 사용할 수 있습니다. + +#### 작업 8: 내부 AKS 호스팅 서비스에 액세스할 수 있는지 확인 + +이 작업에서는 AKS 클러스터에서 실행되는 Pod 중 하나를 사용하여 내부 서비스에 액세스합니다. + +1. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 AKS 클러스터의 기본 네임스페이스에 있는 Pod를 나열합니다. + + ```sh + kubectl get pods + ``` + +2. Pod 목록에서 NAME** 열의 첫 번째 항목을 **복사합니다. + + >**참고**: 이후 단계에서 사용할 Pod입니다. + +3. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 대화형으로 첫 번째 Pod에 연결합니다(`` 자리 표시자를 이전 단계에서 복사한 이름으로 바꿉니다). + + ```sh + kubectl exec -it -- /bin/bash + ``` + +4. Cloud Shell 창 내의 Bash 세션에서 다음을 실행하여 서비스의 개인 IP 주소를 통해 Nginx 웹 사이트를 사용할 수 있는지 확인합니다(`` 자리 표시자를 이전 작업에서 기록한 IP 주소로 바꿉니다). + + ```sh + curl http:// + ``` + +5. Cloud Shell 창을 닫습니다. + +> 결과: ACR 및 AKS를 구성하고 보호했습니다. + + +**리소스 정리** + +> 더 이상 사용하지 않는 새로 만든 Azure 리소스는 모두 제거하세요. 사용하지 않는 리소스를 제거하면 예상하지 못한 비용이 발생하지 않습니다. + +1. Azure Portal 오른쪽 위의 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. + +2. Cloud Shell 창의 왼쪽 위 드롭다운 메뉴에서 **PowerShell**을 선택하고 메시지가 표시되면 **확인**을 클릭합니다. + +3. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 이 랩에서 만든 리소스 그룹을 제거합니다. + + ```powershell + Remove-AzResourceGroup -Name "AZ500LAB09" -Force -AsJob + ``` + +4. **Cloud Shell** 창을 닫습니다. diff --git a/Instructions/Labs/LAB_11_Azure Monitor.md b/Instructions/Labs/LAB_11_Azure Monitor.md index 7b6c591..ada5d8e 100644 --- a/Instructions/Labs/LAB_11_Azure Monitor.md +++ b/Instructions/Labs/LAB_11_Azure Monitor.md @@ -49,7 +49,13 @@ Azure Monitor 에이전트를 사용하여 가상 머신에서 이벤트 및 성 New-AzResourceGroup -Name AZ500LAB131415 -Location 'EastUS' ``` - >**참고**: 이 리소스 그룹은 랩 13, 14 및 15에 사용됩니다. + >**참고**: 이 리소스 그룹은 랩 13, 14 및 15에 사용됩니다. + +5. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 EAH(호스트에서 암호화)를 사용하도록 설정합니다. + + ```powershell + Register-AzProviderFeature -FeatureName "EncryptionAtHost" -ProviderNamespace Microsoft.Compute + ``` 5. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 새 Azure 가상 머신을 만듭니다. diff --git a/Instructions/Labs/LAB_11_PIM.md b/Instructions/Labs/LAB_11_PIM.md new file mode 100644 index 0000000..9f3d5fc --- /dev/null +++ b/Instructions/Labs/LAB_11_PIM.md @@ -0,0 +1,380 @@ +--- +lab: + title: 11 - Azure AD Privileged Identity Management + module: Module 01 - Manage Identity and Access +--- + +# 랩 11: Azure AD Privileged Identity Management +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +Azure PIM(Privileged Identity Management)을 사용하여 JIT(Just-in-Time) 관리를 사용하도록 설정하는 컨셉을 만들고 권한 있는 작업을 수행할 수 있는 사용자 수를 제어하는 방법을 알아봅니다. 특정 요구 사항은 다음과 같습니다. + +- 보안 관리자 역할에 aaduser2 Azure AD 사용자의 영구 할당을 만듭니다. +- aaduser2 Azure AD 사용자를 청구 관리자 및 전역 리더 역할에 사용할 수 있도록 구성합니다. +- 전역 reader 역할 활성화를 구성하여 aaduser3 Azure AD 사용자의 승인 요청 +- 글로벌 리더 역할에 대한 액세스 검토를 구성하고 감사 기능을 검토합니다. + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +> 더 진행하기 전에, 랩 04를 완료했는지 확인합니다. MFA, 조건부 액세스 및 AAD ID 보호 . Azure AD 테넌트, AdatumLab500-04, aaduser1, aaduser2 및 aaduser3 사용자 계정이 필요합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다: + +- 연습 1: PIM 사용자와 역할을 구성합니다. +- 연습 2: 승인 없이 PIM 역할을 활성화합니다. +- 연습 3: 액세스 검토를 만들고 PIM 감사 기능을 검토합니다. + +## Azure AD Privileged Identity Management 다이어그램 + +![이미지](https://user-images.githubusercontent.com/91347931/157522920-264ce57e-5c55-4a9d-8f35-e046e1a1e219.png) + +## Instructions + +### 연습 1 - PIM 사용자 및 역할 구성 + +#### 예상 소요 시간: 15분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: 사용자에게 역할을 부여합니다. +- 작업 2: 적합한 구성원을 활성화하고 추가하려면 승인이 필요하도록 역할을 구성하십시오. +- 작업 3: 사용자에게 역할에 대해 영구적 할당을 제공합니다. + +#### 작업 1: 사용자에게 역할 부여 + +이 작업에서는 Azure AD 디렉터리 역할에 대해 사용자를 적격 상태로 설정합니다. + +1. 에서 **`https://portal.azure.com/`** Azure Portal에 로그인합니다. + + >**참고**: **AdatumLab500-04** Azure AD 테넌트에 로그인되어 있는지 확인합니다. **디렉터리 + 구독** 필터를 사용하여 Azure AD 테넌트 간에 전환할 수 있습니다. 전역 관리자 역할이 있는 사용자로 로그인되었는지 확인합니다. + + >**참고**: AdatumLab500-04 항목이 계속 표시되지 않으면 디렉터리 전환 링크를 클릭하고 AdatumLab500-04 줄을 선택한 다음 전환 단추를 클릭합니다. + +2. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **Azure AD Privileged Identity Management**를 입력하고 **Enter** 키를 누릅니다. + +3. **Privileged Identity Management** 블레이드의 **관리** 섹션에서 **Azure AD 역할**을 클릭합니다. + +4. **AdatumLab500-04 \| 빠른 시작** 블레이드의 **관리** 섹션에서 **역할**을 클릭합니다. + +5. **AdatumLab500-04 \| 역할** 블레이드에서 **+ 할당 추가**를 클릭합니다. + +6. **할당 추가** 블레이드 내 **역할 선택** 드롭다운에서 **대금 청구 관리자**를 선택합니다. + +7. **선택한 구성원이 없음** 링크를 클릭하고 **구성원 선택** 블레이드에서 **aaduser2**를 클릭한 다음 **선택**을 클릭합니다. + +8. **할당 추가** 블레이드로 돌아가 **다음**을 클릭합니다. + +9. **할당 유형**이 **적격**으로 설정되어 있는지 확인하고 **할당**을 클릭합니다. + +10. **AdatumLab500-04 \| 역할** 블레이드로 돌아와 **관리** 섹션에서 **할당**을 클릭합니다. + +11. **AdatumLab500-04 \| 할당** 블레이드로 돌아와 **적격 할당**, **활성 할당** 및 **만료된 할당** 탭을 확인합니다. + +12. **적격 할당** 탭에서 **aaduser2**가 **대금 청구 관리자**로 표시되어 있는지 확인합니다. + + >**참고**: 로그인하는 동안, aaduser2는 청구 관리자 역할을 사용할 수 있는 자격이 있습니다. + +#### 작업 2: 적격 구성원을 활성화하고 추가하기 위해 승인이 필요한 역할 구성 + +1. Azure Portal에서 **Privileged Identity Management** 블레이드로 다시 이동하여 **Azure AD 역할**을 클릭합니다. + +2. **AdatumLab500-04 \| 빠른 시작** 블레이드의 **관리** 섹션에서 **역할**을 클릭합니다. + +3. **AdatumLab500-04 \| 역할** 블레이드에서 **전역 판독기** 역할 항목을 클릭합니다. + +4. **전역 읽기 \| 권한자** 할당 블레이드의 블레이드 도구 모음에서 역할 설정** 아이콘을 클릭하고 **Azure Multi-Factor Authentication 요구 사항을 포함하여 역할에 대한 구성 설정을 검토합니다. + +5. **편집**을 클릭합니다. + +6. **활성화** 탭에서 **활성화를 위한 승인 요청** 체크박스를 허용합니다. + +7. **승인자 선택**을 클릭하고 **구성원 선택** 블레이드에서 **aaduser3**을 클릭한 다음 **선택**을 클릭합니다. + +8. **다음: 할당**을 클릭합니다. + +9. **영구 적격 할당 허용** 체크박스를 해제하고 다른 모든 설정을 기본 값으로 남겨 둡니다. + +10. **다음:알림**을 클릭합니다. + +11. **알림** 설정을 검토하고, 모든 항목을 기본값 설정으로 두고, **업데이트**를 클릭합니다. + + >**참고**: 이제 전역 Reader 역할을 사용하려는 모든 사용자는 aaduser3의 승인이 필요합니다. + +12. **전역 판독기 \| 할당** 블레이드에서 **+ 할당 추가**를 클릭합니다. + +13. **할당 추가** 블레이드에서 **선택한 구성원 없음**을 클릭하고, **구성원 선택** 블레이드에서 **aaduser2**를 클릭한 다음 **선택**을 클릭합니다. + +14. **다음**을 클릭합니다. + +15. **할당 유형**이 **적격**을 확인하고 적격 기간 설정을 검토합니다. + +16. **할당**을 클릭합니다. + + >**참고**: 사용자 aaduser2는 전역 독자 역할을 사용할 수 있습니다. + +#### 작업 3: 사용자에게 역할에 대해 영구적 할당을 제공합니다. + +1. Azure Portal에서 **Privileged Identity Management** 블레이드로 다시 이동하여 **Azure AD 역할**을 클릭합니다. + +2. **AdatumLab500-04 \| 빠른 시작** 블레이드의 **관리** 섹션에서 **역할**을 클릭합니다. + +3. **AdatumLab500-04 \| 역할** 블레이드에서 **+ 할당 추가**를 클릭합니다. + +4. **할당 추가** 블레이드 내 **역할 선택** 드롭다운에서 **보안 관리자**를 선택합니다. + +5. **할당 추가** 블레이드에서 **선택한 구성원이 없음**을 클릭하고, **구성원 선택**에서 **aaduser2**를 클릭한 다음 **선택**을 클릭합니다. + +6. **다음**을 클릭합니다. + +7. **할당 유형** 설정을 검토하고 **할당**을 클릭합니다. + +8. 왼쪽 탐색 패널에서 할당을** 클릭합니다**. 적격 할당 탭의 **보안 관리istrator**에서 **aaduser2** 할당에 대한 **업데이트를** 선택합니다**.** **영구적으로 적격**을 선택하고 **저장**을 클릭합니다. + + >**참고**: 이제 aaduser2 사용자에게 보안 관리자 역할이 영구적으로 할당됩니다. + +### 연습 2 - 승인 유무에 따른 PIM 역할 활성화 + +#### 예상 소요 시간: 15분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: 승인이 필요하지 않은 역할을 활성화합니다. +- 작업 2: 승인이 필요한 역할을 활성화합니다. + +#### 작업 1: 승인이 필요하지 않은 역할을 활성화합니다. + +이 작업에서는 승인이 필요하지 않은 역할을 활성화합니다. + +1. InPrivate 브라우저 창을 엽니다. + +2. InPrivate 브라우저 창에서 Azure Portal로 **`https://portal.azure.com/`** 이동하여 aaduser2** 사용자 계정을 사용하여 **로그인합니다. + + >**참고**: 로그인하려면이 실습의 앞부분에서 기록한 Azure AD 테넌트 DNS 도메인 이름을 포함하여 **aaduser2** 사용자 계정의 정규화된 이름을 제공해야 합니다. 이 사용자 이름은 aaduser2@``.onmicrosoft.com 형식이며, ``은 고유한 Azure AD 테넌트 이름을 나타내는 자리 표시자입니다. + +3. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **Azure AD Privileged Identity Management**를 입력하고 **Enter** 키를 누릅니다. + +4. **Privileged Identity Management** 블레이드의 **작업** 섹션에서 **내 역할**을 클릭합니다. + +5. **aaduser2**에 대한 세 가지 **적격 역할**이 표시됩니다. **전역 읽기 권한자**, **보안 관리자** 및 **대금 청구 관리자**. + +6. **청구 관리자** 역할 항목이 표시된 행에서 **활성화 **를 클릭합니다. + +7. 필요한 경우 **추가 확인이 필요합니다. 계속하려면 클릭하세요** 경고를 클릭하고 지침에 따라 ID를 확인합니다. + +8. **활성화 - 대금 청구 관리자** 블레이드의 **이유** 텍스트 상자에 활성화의 근거를 제시하는 텍스트를 입력한 다음 **활성화**를 클릭합니다. + + >**참고**: PIM에서 역할을 활성화하면 활성화가 적용되기까지 최대 10분이 걸릴 수 있습니다. + + >**참고**: 역할 할당이 활성화되면 브라우저를 새로 고칩니다(잘못된 부분이 있는 경우 로그아웃했다가 **aaduser2** 사용자 계정을 사용하여 Azure Portal에 다시 로그인하면 됨). + +9. **Privileged Identity Management** 블레이드로 다시 이동하여 **작업** 섹션에서 **내 역할**을 클릭합니다. + +10. **내 역할 \| Azure AD 역할** 블레이드에서 **활성 할당** 탭으로 전환합니다. **청구 관리자** 역할이 **활성화됨** 상태입니다. + + >**참고**: 활성화된 역할은 **종료 시간**(적격 기간)의 제한 시간에 도달하면 자동으로 비활성화됩니다. + + >**참고**: 관리자 작업을 일찍 완료하면 역할을 수동으로 비활성화할 수 있습니다. + +11. **활성 할당** 목록의 대금 청구 관리자 역할을 나타내는 행에서 **비활성화** 링크를 클릭합니다. + +12. **비활성화 - 청구 관리자** 블레이드에서 **비활성화**를 다시 클릭하여 확인합니다. + + +#### 작업 2: 승인이 필요한 역할을 활성화합니다. + +이 작업에서는 승인이 필요한 역할을 활성화합니다. + +1. InPrivate 브라우저 창에서 Azure Portal에 **aaduser2** 사용자로 로그인한 상태에서 **Privileged Identity Management\| 빠른 시작** 블레이드로 다시 이동합니다. + +2. **Privileged Identity Management \| 빠른 시작** 블레이드의 **작업** 섹션에서 **내 역할**을 클릭합니다. + +3. **내 역할 \| Azure AD 역할** 블레이드의 **적격 할당** 목록에서 **전역 독자** 역할이 표시된 행에서 **활성화**를 클릭합니다. + +4. **활성화 - 전역 리더** 블레이드에서 **이유** 입력란에 활성화의 근거를 제공하는 텍스트를 입력한 다음 **활성화**를 클릭합니다. + +5. Azure Portal의 도구 모음에서 **알림** 아이콘을 클릭하고 요청이 승인 보류 중임을 알리는 알림을 확인합니다. + + >**참고**: 권한 있는 역할 관리자는 언제든지 요청을 검토하고 취소할 수 있습니다. + +6. **내 역할 \| Azure AD 역할** 블레이드에서 **보안 관리자** 역할을 찾아 **활성화**를 클릭합니다. + +7. 필요한 경우 **추가 확인이 필요합니다. 계속하려면 클릭하세요** 경고를 클릭하고 지침에 따라 ID를 확인합니다. + + >**참고**: 세션당 한 번만 인증하면 됩니다. + +8. Azure Portal 인터페이스에 다시 돌아가면 **활성화 - 보안 관리자**의 **이유** 체크박스에서 활성화에 대한 근거를 제공하는 텍스트를 입력한 다음 **활성화**를 클릭합니다. + + >**참고**: 자동 승인 프로세스가 완료되어야 합니다. + +9. **내 역할 \| Azure AD 역할** 블레이드로 돌아와 **활성 할당** 탭을 클릭하여 **활성 할당** 목록에 **보안 관리자**는 포함되어 있지만 **전역 독자** 역할은 포함되지 않은 것을 확인합니다. + + >**참고**: 이제 전역 독자 역할을 승인합니다. + +10. **aaduser2**로 Azure Portal에서 로그아웃합니다. + +11. InPrivate 브라우저에서 aaduser3**으로 **Azure Portal에** **`https://portal.azure.com/`로그인합니다. + + >**참고**: 사용자 계정을 사용하여 인증하는 데 문제가 발생하는 경우, 사용자 계정을 사용하여 암호를 재설정하거나 로그인 옵션을 다시 구성하여 Azure AD 테넌트에 로그인할 수 있습니다. + +12. Azure Portal에서 **Azure AD Privileged Identity Management**로 이동합니다(Azure Portal 페이지 위쪽의 리소스, 서비스 및 문서 검색 텍스트 상자에 Azure AD Privileged Identity Management를 입력하고 Enter 키를 누릅니다). + +13. **Privileged Identity Management \| 빠른 시작** 블레이드의 **작업** 섹션에서 **요청 승인**을 클릭합니다. + +14. **요청 승인 \| Azure AD 역할** 블레이드의 **역할 활성화 요청** 섹션에서 **aaduser2**에 의한 **전역 독자** 역할에 대한 역할 활성화 요청을 나타내는 항목의 확인란을 선택합니다. + +15. **승인**을 클릭합니다. **요청 승인** 블레이드의 **Justification** 텍스트 상자에 활성화 이유를 입력하고 시작 시간과 종료 시간을 확인한 후에 **확인**을 클릭합니다. + + >**참고**: 요청을 거부할 수도 있습니다. + +16. **aaduser3**로 Azure Portal에서 로그아웃합니다. + +17. InPrivate 브라우저에서 aaduser2로 **Azure Portal에** **`https://portal.azure.com/`로그인합니다.** + +18. Azure Portal에서 **Azure AD Privileged Identity Management**로 이동합니다(Azure Portal 페이지 위쪽의 리소스, 서비스 및 문서 검색 텍스트 상자에 Azure AD Privileged Identity Management를 입력하고 Enter 키를 누릅니다). + +19. **Privileged Identity Management \| 빠른 시작** 블레이드의 **작업** 섹션에서 **내 역할**을 클릭합니다. + +20. **내 역할 \| Azure AD 역할** 블레이드에서 **활성 할당** 탭을 클릭하고 전역 독자 역할이 현재 활성화되어 있는지 확인합니다. + + >**참고**: 업데이트된 활성 할당 목록을 보려면 페이지를 새로 고쳐야 할 수도 있습니다. + +21. 로그아웃한 후 InPrivate 브라우저 창을 닫습니다. + +> 결과: 승인이 필요한 경우와 필요하지 않은 경우의 PIM 역할 활성화를 연습했습니다. + +### 연습 3 - 액세스 검토를 만들고 PIM 감사 기능 검토 + +#### 예상 소요 시간: 10분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: PIM에서 Azure AD 디렉터리 역할용 보안 경고 구성 +- 작업 2: PIM 경고, 요약 정보 및 자세한 감사 정보 검토 + +#### 작업 1: PIM에서 Azure AD 디렉터리 역할용 보안 경고 구성 + +이 작업에서는 "부실" 역할 할당과 관련된 위험을 줄일 수 있습니다. 할당된 역할이 여전히 유효한지 확인하기 위해 PIM 액세스 검토를 만들어 이 작업을 수행합니다. 특히 전역 읽기 권한자를 검토합니다. + +1. 계정을 사용하여 Azure Portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: **AdatumLab500-04** Azure AD 테넌트에 로그인되어 있는지 확인합니다. **디렉터리 + 구독** 필터를 사용하여 Azure AD 테넌트 간에 전환할 수 있습니다. 전역 관리자 역할이 있는 사용자로 로그인되었는지 확인합니다. + + >**참고**: AdatumLab500-04 항목이 계속 표시되지 않으면 디렉터리 전환 링크를 클릭하고 AdatumLab500-04 줄을 선택한 다음 전환 단추를 클릭합니다. + +2. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **Azure AD Privileged Identity Management**를 입력하고 **Enter** 키를 누릅니다. + +3. **Privileged Identity Management** 블레이드로 이동합니다. + +4. **Privileged Identity Management \| 빠른 시작** 블레이드의 **관리** 섹션에서 **Azure AD 역할**을 클릭합니다. + +5. **AdatumLab500-04 \| 빠른 시작** 블레이드의 **관리** 섹션에서 **액세스 검토**를 클릭합니다. + +6. **AdatumLab500-04 \| 액세스 검토** 블레이드에서 **새로 만들기**를 클릭합니다. + +7. **액세스 검토 만들기** 블레이드에서 다음 설정을 지정합니다(다른 설정은 기본값으로 남겨둡니다). + + |설정|값| + |---|---| + |검토 이름|**전역 독자 검토**| + |시작 날짜|오늘 날짜| + |빈도|**한 번**| + |종료 날짜|이번 달 말| + |역할, 권한 있는 역할 선택|**전역 판독기**| + |검토자|**선택한 사용자**| + |검토자 선택|계정| + +8. **액세스 검토 만들기** 블레이드에서 **시작**을 클릭합니다. + + >**참고**: 검토가 배포되고 **AdatumLab500-04 \| 액세스 검토** 블레이드에 표시되려면 1분 정도 걸립니다. 웹 페이지를 새로 고침해야 할 수 있습니다. 검토 상태가 **활성**이 됩니다. + +9. **AdatumLab500-04 \| 액세스 검토** 블레이드의 **전역 판독기 검토** 헤더 아래에서 **전역 독자** 항목을 클릭합니다. + +10. **전역 reader 검토** 블레이드에서 **개요** 페이지를 살펴보고, **진행률** 차트에 **검토되지 않은** 범주의 단일 사용자가 표시됩니다. + +11. **전역 reader 검토** 블레이드의 **관리** 섹션에서 **결과**를 클릭합니다. aaduser2는 이 역할에 액세스할 수 있는 것으로 나열됩니다. + +12. **aaduser2**에서 **보기**를 클릭하여 해당 사용자를 포함하는 PIM 활동을 나타내는 항목이 포함된 자세한 감사 로그를 봅니다. + +13. **AdatumLab500-04 \| 액세스 검토** 블레이드로 다시 이동합니다. + +14. **AdatumLab500-04 \| 액세스 검토** 블레이드의 **작업** 섹션에서 **액세스 검토**를 클릭한 다음 **전역 독자 검토** 항목을 클릭합니다. + +15. **전역 독자 검토** 블레이드에서 **aaduser2**항목을 클릭합니다. + +16. **이유** 입력란에 승인 근거를 입력한 다음, **승인**을 클릭하여 현재 역할 구성원 자격을 유지하거나 **거부**를 클릭하여 취소합니다. + +17. **Privileged Identity Management** 블레이드로 다시 이동한 다음 **관리** 섹션에서 **Azure AD 역할**을 클릭합니다. + +18. **AdatumLab500-04 \| 빠른 시작** 블레이드의 **관리** 섹션에서 **액세스 검토**를 클릭합니다. + +19. **전역 독자** 검토를 나타내는 항목을 선택합니다. 검토 결과를 표시하도록 **진행률**차트가 업데이트되었습니다. + +#### 작업 2: PIM 경고, 요약 정보 및 자세한 감사 정보를 검토합니다. + +이 작업에서는 PIM 경고, 요약 정보 및 자세한 감사 정보를 검토합니다. + +1. **Privileged Identity Management** 블레이드로 다시 이동한 다음 **관리** 섹션에서 **Azure AD 역할**을 클릭합니다. + +2. **AdatumLab500-04 \| 빠른 시작** 블레이드의 **관리** 섹션에서 **경고**를 클릭한 다음 **설정**을 클릭합니다. + +3. **경고 설정** 블레이드에서 미리 구성된 경고 및 위험 수준을 검토합니다. 자세한 내용은 해당 정보를 클릭합니다. + +4. **AdatumLab500-04 \| 빠른 시작** 블레이드로 돌아와 **개요**를 클릭합니다. + +5. **AdatumLab500-04 \| 개요** 블레이드에서 역할 활성화, PIM 활동, 경고, 역할 할당에 대한 요약 정보를 검토합니다. + +6. **AdatumLab500-04 \| 개요** 블레이드의 **활동** 섹션에서 **리소스 감사**를 클릭합니다. + + >**참고**: 감사 기록은 지난 30일 이내에 모든 권한 있는 역할 할당 및 활성화에 사용할 수 있습니다. + +7. **시간**, **요청자**, **작업**, **리소스 이름**, **범위**, **기본 대상** 및 **주제**를 포함한 자세한 정보를 검색할 수 있습니다. + +> 결과: 액세스 검토를 구성하고 감사 정보를 검토했습니다. + +**리소스 정리** + +> 더 이상 사용하지 않는 새로 만든 Azure 리소스는 모두 제거하세요. 사용하지 않는 리소스를 제거하면 예상하지 못한 비용이 발생하지 않습니다. + +1. Azure Portal에서 **디렉터리 + 구독** 필터를 **az500-04-vm1** Azure VM을 배포한 Azure 구독과 연결된 Azure AD 테넌트로 설정합니다. + + >**참고**: 기본 Azure AD 테넌트 항목이 표시되지 않으면 디렉터리 전환 링크를 클릭하고 기본 테넌트 줄을 선택한 다음 전환 단추를 클릭합니다. + +2. Azure Portal 오른쪽 위의 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. 메시지가 표시되면 **PowerShell**, 그리고 **스토리지 만들기**를 클릭합니다. + +3. Cloud Shell 창의 왼쪽 위 모서리에 있는 드롭다운 메뉴에서 **PowerShell**이 선택되었는지 확인합니다. + +4. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 이전 랩에서 만든 리소스 그룹을 제거합니다. + + ```powershell + Remove-AzResourceGroup -Name "AZ500LAB04" -Force -AsJob + ``` + +5. **Cloud Shell** 창을 닫습니다. + +6. Azure Portal로 돌아가서 **디렉터리 + 구독** 필터를 사용하여 **AdatumLab500-04** Azure Active Directory 테넌트로 전환합니다. + +7. **AdatumLab500-04 Azure Active 디렉터리** 블레이드로 이동하고, **관리** 섹션에서 **라이선스**를 클릭합니다. + +8. **라이선스** | 개요 블레이드에서 **모든 제품**을 클릭하고, **Azure Active Directory Premium P2** 확인란을 선택하고 클릭하여 엽니다. + + >**참고**: 랩 4 - 연습 2 - 작업 4 **Azure AD 사용자에게 Azure AD Premium P2 라이선스 할당**은 **aaduser1, aaduser2 및 aaduser3** 사용자에게 Premium 라이선스를 할당하는 것이었습니다. 할당된 사용자로부터 해당 라이선스를 제거해야 합니다. + +9. **Azure Active Directory Premium P2 - 허가된 사용자** 블레이드에서 **Azure Active Directory Premium P2** 라이선스를 할당한 사용자 계정의 확인란을 선택합니다. 위쪽 창에서 **라이선스 제거**를 클릭하고 확인하라는 메시지가 표시되면 **예**를 선택합니다. + +10. Azure Portal에서 **사용자 - 모든 사용자** 블레이드로 이동하여 **aaduser1** 사용자 계정을 나타내는 항목을 클릭합니다. 그런 다음 **aaduser1 - 프로필** 블레이드에서 **삭제**를 클릭하고 삭제를 확인하라는 메시지가 표시되면 **예**를 선택합니다. + +11. 동일한 단계 순서를 반복하여 만든 나머지 사용자 계정을 삭제합니다. + +12. Azure AD 테넌트의 **AdatumLab500-04 - 개요** 블레이드로 이동하고 **테넌트 관리**를 선택한 후 다음 화면에서 **AdatumLab500-04** 옆에 있는 확인란을 선택하고 **삭제**를 선택합니다. **테넌트 'AdatumLab500-04' 삭제** 블레이드에서 **Azure 리소스를 삭제할 권한 얻기** 링크를 선택하고, Azure Active Directory의 **속성** 블레이드에서 **Azure 리소스 권한 관리**를 **예**로 설정한 다음 **저장**을 선택합니다. + +13. Azure Portal에서 로그아웃하고 다시 로그인합니다. + +14. **디렉터리 'AdatumLab500-04' 삭제** 블레이드로 다시 이동하여 **삭제**를 클릭합니다. + + >**참고**: 여전히 테넌트를 삭제할 수 없고 **모든 라이선스 기반 및 구독 삭제** 오류가 throw된다면 테넌트에 연결된 구독 때문일 수 있습니다. 여기서는 **무료 Premium P2 라이선스**가 유효성 검사 오류를 throw할 수 있습니다. M365 관리자>> **사용자 제품** 및 **업무용 앱 스토어** 포털에서 전역 관리자 ID를 사용하여 Premium P2 라이선스의 평가판 구독을 삭제하면 이 문제가 해결됩니다. 또한 테넌트 삭제에는 더 많은 시간이 걸립니다. 평가판 기간이 끝난 후 구독의 종료 날짜를 확인하고 Azure Active Directory를 다시 확인한 다음 테넌트 삭제를 시도합니다. + +> 이 작업과 관련된 자세한 내용은 [https://docs.microsoft.com/en-us/azure/active-directory/users-groups-roles/directory-delete-howto](https://docs.microsoft.com/en-us/azure/active-directory/users-groups-roles/directory-delete-howto)를 참조하세요. diff --git a/Instructions/Labs/LAB_11_SecuringAzureSQLDatabase.MD b/Instructions/Labs/LAB_11_SecuringAzureSQLDatabase.MD new file mode 100644 index 0000000..8f3c13c --- /dev/null +++ b/Instructions/Labs/LAB_11_SecuringAzureSQLDatabase.MD @@ -0,0 +1,191 @@ +--- +lab: + title: 11 - Azure SQL Database 보안 + module: Module 03 - Secure data and applications +--- + +# 랩 11: Azure SQL Database 보안 +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +Azure SQL 데이터베이스의 보안 기능을 검토하라는 요청을 받았습니다. 특히 다음 사항에 관심이 있습니다. + +- SQL 삽입 및 데이터 반출과 같은 공격으로부터 보호합니다. +- 데이터베이스 정보를 검색하고 기밀과 같은 범주로 분류하는 기능 +- 데이터베이스 서버 및 데이터베이스 쿼리 및 로그 이벤트를 감사하는 기능. + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다. + +- 연습 1: SQL Database 보안 기능 구현 + +## Azure SQL Database 보안 다이어그램 + +![이미지](https://user-images.githubusercontent.com/91347931/157533836-7250fa58-a109-4882-a55b-d3fa3baf34ab.png) + +## Instructions + +## 랩 파일: + +- **\\Allfiles\\Labs\\11\\azuredeploy.json** + +### 연습 1: SQL Database 보안 기능 구현 + +### 예상 소요 시간: 30분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: Azure SQL Database 배포 +- 작업 2: 고급 데이터 보호 구성 +- 작업 3: 데이터 분류 구성 +- 작업 4: 감사 구성 + +#### 작업 1: Azure SQL Database 배포 + +이 작업에서는 템플릿을 사용하여 랩 인프라를 배포합니다. + +1. Azure portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에 사용 중인 Azure 구독에 Owner 또는 Contributor 역할이 있는 계정을 사용하여 Azure Portal에 로그인합니다. + +2. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **사용자 지정 템플릿 배포**를 입력하고 **Enter** 키를 누릅니다. + +3. **사용자 지정 배포** 블레이드에서 **편집기에서 사용자 고유의 탬플릿 빌드** 옵션을 클릭합니다. + +4. **템플릿 편집** 블레이드에서 **파일 로드**를 클릭하고, **\\Allfiles\\Labs\\11\\azuredeploy.json** 파일을 찾아 **열기**를 클릭합니다. + + >**참고**: 템플릿의 내용을 검토하고 Azure SQL 데이터베이스를 배포합니다. + +5. **템플릿 편집** 블레이드에서 **저장**을 클릭합니다. + +6. **사용자 지정 배포** 블레이드에서 다음 설정이 구성되었는지 확인합니다 (다른 설정은 기본값으로 유지). + + |설정|값| + |---|---| + |구독|이 랩에서 사용할 Azure 구독의 이름| + |Resource group|**새로 만들기**를 클릭하고 **AZ500LAB11**을 이름으로 입력합니다.| + |위치|**(미국) 미국 동부**| + +7. **검토 + 만들기**를 클릭한 다음, **만들기**를 클릭합니다. + + >**참고**: 배포가 완료될 때까지 기다리세요. + +#### 작업 2: 고급 데이터 보호 구성 + +1. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **리소스 그룹**을 입력하고 **Enter** 키를 누릅니다. + +2. **리소스 그룹** 블레이드의 리소스 그룹 목록에서 **AZ500LAB11** 항목을 클릭합니다. + +3. **AZ500LAB11** 블레이드에서 새로 만든 SQL Server를 나타내는 항목을 클릭합니다. + +4. SQL 서버 블레이드의 **보안** 섹션에서 **클라우드용 Microsoft Defender**를 클릭하고 **Microsoft Defender for SQL 사용**을 선택합니다. + + >**참고**: Azure Defender for SQL이 성공적으로 사용하도록 설정되었다는 알림이 표시될 때까지 기다립니다. + +5. SQL Server 블레이드의 보안 섹션에 **있는 클라우드용 Microsoft Defender** 페이지의 **Microsoft Defender for SQL: Enabled at the subscription-level (Configure)** 매개 변수, 클릭 **(구성)**.** ** + + >**참고**: (구성)**이 표시되지 않는 경우 **브라우저를 새로 고칩니다. + +6. **서버 설정** 블레이드에서 가격 책정 및 평가 기간, **취약성 평가 설정 및 **ADVANCED THREAT PROTECTION 설정**에 대한 정보를 검토합니다**. + +7. **클라우드용 Microsoft Defender** 블레이드로 돌아와 **권장 사항** 및 **보안 경고**를 검토합니다. + + >**참고**: 권장 사항이 클라우드용 Microsoft Defender** 블레이드에 **표시되는 데 10~15분이 걸릴 수 있습니다. 대기하는 대신 다음 작업으로 진행하지만 모든 다시 기본 작업을 완료한 후 이 블레이드로 돌아가는 것이 좋습니다. + + +#### 작업 3: 데이터 분류 구성 + +이 작업에서는 GPDR 및 데이터 보호 규정 준수에 대한 SQL 데이터베이스의 정보를 검색하고 분류합니다. + +1. SQL 서버 블레이드의 **설정** 섹션에서 **SQL Databases**를 클릭합니다. + +2. 데이터베이스 목록에서 AZ500LabDb** 항목을 선택합니다**. + +3. AZ500LabDb** SQL 데이터베이스 블레이드의 **보안** 섹션에서 데이터 검색 및 분류**를 클릭합니다**.** + +4. **데이터 검색 및 분류 블레이드에서 분류**** 탭을 **클릭합니다. + + >**참고**: 분류 엔진은 데이터베이스에서 잠재적으로 중요한 데이터가 포함된 열을 검색하고 권장되는 열 분류 목록을 제공합니다. + +5. 블레이드 위쪽의 파란색 막대에 분류 권장 사항이 표시된 15개의** 열을 찾은 문자 메시지를 **클릭합니다. + +6. 나열된 열 및 권장 민감도 레이블을 검토합니다. + +7. **모든** 검사 상자를 사용하도록 설정한 다음 선택한 권장 사항** 수락을 클릭합니다**. + + >**참고**: 또는 특정 열만 선택하고 다른 열은 해제할 수 있습니다. + + >**참고**: 정보 유형 및 민감도 레이블을 변경하는 옵션이 있습니다. + +8. 검토가 완료되면 저장**을 클릭합니다**. + + >**참고**: 분류를 완료하고 새 분류 메타데이터를 사용하여 데이터베이스 열에 영구적으로 레이블을 지정합니다. + +9. **데이터 검색 및 분류** 블레이드 **개요** 탭으로 돌아와 최신 분류 정보를 반영하여 업데이트되었음을 확인합니다. + +#### 작업 4: 감사 구성 + +이 작업에서는 먼저 서버 수준 감사를 구성한 다음 데이터베이스 수준 감사를 구성합니다. + +1. Azure Portal에서 SQL Server 블레이드로 다시 이동합니다. + +2. SQL Server 블레이드의 **보안** 섹션에서 감사를** 클릭합니다**. + + >**참고**: 서버 수준 감사입니다. 기본 감사 설정에는 데이터베이스에 대해 실행된 모든 쿼리 및 저장 프로시저뿐만 아니라 성공 및 실패한 로그인도 포함됩니다. + +3. **Azure SQL 감사 사용** 스위치를 **ON**으로 설정하여 감사를 사용하도록 설정합니다. + +4. **Storage** 검사 상자를 선택하면 구독** 및 **스토리지 계정에** 대한 **입력란이 표시됩니다. + +5. **드롭다운 목록에서 구독**을 선택합니다. + +6. Storage 계정을** 클릭하고 **새로** 만들기를 선택합니다**. + +7. 스토리지 계정 만들기 블레이드의 ****이름** 상자에 3~24개의 소문자와 숫자로 구성된 전역적으로 고유한 이름을 입력하고 확인을** 클릭합니다**.** + + >**참고**: 스토리지 계정을 사용할 수 있게 되기 전에 브라우저를 새로 고쳐야 할 수 있습니다. + +8. **감사** 블레이드로 돌아와 **고급 속성**에서 **보존 기간(일)** 을 **5**로 설정합니다. + +9. 감사 블레이드에서 **저장**을 클릭하여 감사 설정을 저장합니다. + + >**참고**: 잘못된 스토리지 컨테이너 경로에 대한 오류 메시지가 표시되면 스토리지 계정이 아직 프로비전되지 않았을 수 있습니다. 몇 분 정도 기다렸다가 Storage 계정을 클릭하고 **스토리지 계정**** 선택 블레이드에서 **새로 만든 스토리지 계정을 선택하고 감사 블레이드에서 다시 저장**을 클릭합니다**. + +10. 서버 블레이드**의 설정** 섹션에서 SQL Database를** 클릭합니다**. + +11. 데이터베이스 목록에서 AZ500LabDb** 항목을 선택합니다**. + +12. **AZ500LabDb** SQL 데이터베이스 블레이드의 **보안** 섹션에서 감사를** 클릭합니다**. + + >**참고**: 데이터베이스 수준 감사입니다. 서버 수준 감사가 이미 활성화되어 있습니다. + + >**참고**: 감사는 Azure Storage 계정, Log Analytics 작업 영역 또는 이벤트 허브에 기록할 수 있습니다. 이러한 옵션의 조합을 구성할 수 있습니다. + + >**참고**: 서버에서 스토리지 기반 감사를 사용하도록 설정하면 데이터베이스 설정에 관계없이 항상 데이터베이스에 적용됩니다. +13. Azure Portal의 SQL 데이터베이스 개요 페이지에서 왼쪽 메뉴에서 쿼리 편집기(미리 보기)**를 선택합니다**. 로그인하려고 하면 암호, IP 주소에 대한 방화벽 규칙이 실패할 수 있으며 모든 항목이 감사됩니다. 성공적인 로그인도 시도하고 쿼리를 실행하면 감사 로그에서 더 많은 분리를 찾을 수 있습니다. + +14. DB, 감사로 다시 전환하고 감사 로그** 보기를 클릭합니다**. + +15. 감사 레코드** 블레이드에서 **서버 감사와 데이터베이스 감사 간에 전환할 수 있습니다. + +> 결과: SQL 서버 및 데이터베이스를 만들고, 데이터 분류를 구성하고, 감사를 수행했습니다. + + +**리소스 정리** + +> 더 이상 사용하지 않는 새로 만든 Azure 리소스는 모두 제거하세요. 사용하지 않는 리소스를 제거하면 예상하지 못한 비용이 발생하지 않습니다. + +1. Azure Portal 오른쪽 위의 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. 메시지가 표시되면 **PowerShell**, 그리고 **스토리지 만들기**를 클릭합니다. + +2. Cloud Shell 창의 왼쪽 위 모서리에 있는 드롭다운 메뉴에서 **PowerShell**이 선택되었는지 확인합니다. + +3. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 이 랩에서 만든 리소스 그룹을 제거합니다. + + ```powershell + Remove-AzResourceGroup -Name "AZ500LAB11" -Force -AsJob + ``` +4. **Cloud Shell** 창을 닫습니다. diff --git a/Instructions/Labs/LAB_12_Microsoft Defender for Cloud.md b/Instructions/Labs/LAB_12_Microsoft Defender for Cloud.md new file mode 100644 index 0000000..2ad32c3 --- /dev/null +++ b/Instructions/Labs/LAB_12_Microsoft Defender for Cloud.md @@ -0,0 +1,113 @@ +--- +lab: + title: 12 - 클라우드용 Microsoft Defender + module: Module 04 - Microsoft Defender for Cloud +--- + +# 랩 12: 클라우드용 Microsoft Defender +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +클라우드 기반 환경용 Microsoft Defender의 개념 증명을 만들라는 요청을 받았습니다. 특히 다음을 수행해야 합니다. + +- Azure 리소스를 모니터링하도록 클라우드용 Microsoft Defender를 구성합니다. +- 가상 머신을 위한 클라우드용 Microsoft Defender 권장 사항을 검토합니다. +- 게스트 구성 및 Just-In-Time VM 액세스에 대한 권장 사항을 구현합니다. +- 보안 점수를 사용하여 보다 안전한 인프라를 만드는 진행 상황을 확인하는 방법을 검토합니다. + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다. + +- 연습 1: 클라우드용 Microsoft Defender 구현 + +## 클라우드용 Microsoft Defender 다이어그램 + +![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/c31055cc-de95-41f6-adef-f09d756a68eb) + +## 지침 + +### 연습 1: 클라우드용 Microsoft Defender 구현 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: 클라우드용 Microsoft Defender 구성 +- 작업 2: 클라우드용 Microsoft Defender 권장 사항 검토 +- 작업 3: Just-In-Time VM 액세스를 사용하도록 설정하는 클라우드용 Microsoft Defender 권장 사항 구현 + +#### 작업 1: 클라우드용 Microsoft Defender 구성 + +이 작업에서는 클라우드용 Microsoft Defender를 온보딩하고 구성합니다. + +1. Azure portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에 사용 중인 Azure 구독에 Owner 또는 Contributor 역할이 있는 계정을 사용하여 Azure Portal에 로그인합니다. + +2. Azure Portal에서 페이지 위쪽에 있는 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **클라우드용 Microsoft Defender**을 입력하고 **Enter** 키를 누릅니다. + +3. 왼쪽 탐색 패널에서 [시작]을** 클릭합니다**. **클라우드용 Microsoft Defender \| 시작** 블레이드에서 업그레이드**를 클릭합니다**. + +4. **클라우드용 Microsoft Defender \| 시작** 블레이드의 에이전트 설치 탭에서 아래로 스크롤하여 에이전트 설치를** 클릭합니다**. + +5. 클라우드용 Microsoft Defender 시작 블레이드의 업그레이드** 탭 >>에서 향상된 보안 기능**으로 작업 영역 선택 섹션이 표시될 때까지 **아래로 스크롤한 >> Log Analytics 작업 영역을 선택하여 Microsoft Defender 계획을** 설정한 **다음 큰 파란색 업그레이드 단추를 클릭합니다.**** \| ** + + >**참고**: Microsoft Defender 계획의 일부로 사용할 수 있는 모든 기능을 검토합니다. + +6. 클라우드용 Microsoft Defender** 이동하고 **관리 섹션 아래의 왼쪽 탐색 패널에서 환경 설정** 클릭합니다**. + +7. **클라우드용 Microsoft Defender \| 환경 설정** 블레이드에서 아래로 스크롤하여 구독이 나타날 때까지 확장하고 관련 구독을 클릭합니다. + +8. 설정 Defender 계획** 블레이드에서 모든 계획** 사용을 선택하고 **필요한 경우 저장**을 클릭합니다**. \| ** + +9. 클라우드용 Microsoft Defender \| 환경 설정** 블레이드로 **돌아가서 구독이 나타날 때까지 확장하고 이전 랩에서 만든 Log Analytics 작업 영역을 나타내는 항목을 클릭합니다. + +10. **설정 \| Defender 계획** 블레이드에서 모든 옵션이 "켜기"되었는지 확인합니다. 필요한 경우 모든 계획 사용을 클릭한 **다음 저장**을 클릭합니다**.** + +11. 설정 \| Defender 계획** 블레이드에서 **데이터 컬렉션을** 선택합니다**. 모든 이벤트를** 클릭하고 ****저장**합니다. + +#### 작업 2: 클라우드용 Microsoft Defender 권장 사항 검토 + +이 작업에서는 클라우드용 Microsoft Defender 권장 사항을 검토합니다. + +1. Azure Portal에서 **클라우드용 Microsoft Defender\| 개요** 블레이드로 다시 이동합니다. + +2. **클라우드용 Microsoft Defender \| 개요** 블레이드에서 **보안 점수** 타일을 검토합니다. + + >**참고**: 사용 가능한 경우 현재 점수를 기록합니다. + +3. 클라우드용 Microsoft Defender \| 개요 블레이드로 **돌아가서 평가된 리소스를** 클릭합니다****. + +4. 인벤토리** 블레이드에서 **myVM** 항목을 클릭합니다**. + + >**참고**: 항목이 표시될 때까지 몇 분 정도 기다렸다가 브라우저 페이지를 새로 고쳐야 할 수 있습니다. + +5. 리소스 상태** 블레이드의 ****권장 사항** 탭에서 myVM**에 대한 **권장 사항 목록을 검토합니다. + +#### 작업 3: Just-In-Time VM 액세스를 사용하도록 설정하는 클라우드용 Microsoft Defender 권장 사항 구현 + +이 작업에서는 가상 머신에서 Just-In-Time VM 액세스를 사용하도록 설정하는 클라우드용 Microsoft Defender 권장 사항을 구현합니다. + +1. Azure Portal에서 클라우드용 Microsoft Defender 개요 블레이드로 **돌아가서 왼쪽 탐색 패널의 Cloud Security**에서 **워크로드 보호를** 클릭합니다**.** \| + +2. 클라우드용 Microsoft Defender 워크로드 보호** 블레이드에서 고급 보호** 섹션까지 **아래로 스크롤하고 Just-In-Time VM 액세스** 타일을 클릭합니다**. \| ** + +3. **Just-In-Time VM 액세스** 블레이드의 **가상 머신** 섹션에서 구성**되지 않음을 선택한 **다음 myVM** 항목에 대한 **검사 상자를 선택합니다. + + >**참고**: 몇 분 정도 기다렸다가 브라우저 페이지를 새로 고치고 항목이 표시되도록 구성되지 않음**을 다시 선택**해야 할 수 있습니다. + +4. **가상 머신** 섹션의 맨 오른쪽에 있는 **1 VM에서 JIT 사용** 옵션을 클릭합니다. + +5. **JIT VM 액세스 구성** 블레이드의 포트 **22**를 참조하는 행의 맨 오른쪽에 있는 줄임표 단추를 클릭한 다음 삭제**를 클릭합니다**. + +6. **JIT VM 액세스 구성** 블레이드에서 저장**을 클릭합니다**. + + >**참고**: 도구 모음에서 알림 아이콘을 클릭하고 알림 블레이드를** 확인**하여 **구성 진행률을 모니터링합니다**. + + >**참고**: 이 랩에서 권장 사항을 구현하는 데 보안 점수가 반영되려면 다소 시간이 걸릴 수 있습니다. 보안 점수를 주기적으로 검사 이러한 기능 구현의 영향을 확인합니다. + +> 결과: 온보더 클라우드용 Microsoft Defender 가상 머신 권장 사항을 구현했습니다. + + >**Note**: Do not remove the resources from this lab as they are needed for the Microsoft Sentinel lab. diff --git a/Instructions/Labs/LAB_12_SecuringAzureSQLDatabase.MD b/Instructions/Labs/LAB_12_SecuringAzureSQLDatabase.MD new file mode 100644 index 0000000..67ce8da --- /dev/null +++ b/Instructions/Labs/LAB_12_SecuringAzureSQLDatabase.MD @@ -0,0 +1,192 @@ +--- +lab: + title: 12 - Azure SQL Database 보안 + module: Module 03 - Secure data and applications +--- + +# 랩 12: Azure SQL Database 보안 +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +Azure SQL 데이터베이스의 보안 기능을 검토하라는 요청을 받았습니다. 특히 다음 사항에 관심이 있습니다. + +- SQL 삽입 및 데이터 반출과 같은 공격으로부터 보호합니다. +- 데이터베이스 정보를 검색하고 기밀과 같은 범주로 분류하는 기능 +- 데이터베이스 서버 및 데이터베이스 쿼리 및 로그 이벤트를 감사하는 기능. + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다. + +- 연습 1: SQL Database 보안 기능 구현 + +## Azure SQL Database 보안 다이어그램 + +![이미지](https://user-images.githubusercontent.com/91347931/157533836-7250fa58-a109-4882-a55b-d3fa3baf34ab.png) + +## Instructions + +## 랩 파일: + +- **\\Allfiles\\Labs\\11\\azuredeploy.json** + +### 연습 1: SQL Database 보안 기능 구현 + +### 예상 소요 시간: 30분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: Azure SQL Database 배포 +- 작업 2: 고급 데이터 보호 구성 +- 작업 3: 데이터 분류 구성 +- 작업 4: 감사 구성 + +#### 작업 1: Azure SQL Database 배포 + +이 작업에서는 템플릿을 사용하여 랩 인프라를 배포합니다. + +1. Azure portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에 사용 중인 Azure 구독에 Owner 또는 Contributor 역할이 있는 계정을 사용하여 Azure Portal에 로그인합니다. + +2. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **사용자 지정 템플릿 배포**를 입력하고 **Enter** 키를 누릅니다. + +3. **사용자 지정 배포** 블레이드에서 **편집기에서 사용자 고유의 탬플릿 빌드** 옵션을 클릭합니다. + +4. **템플릿 편집** 블레이드에서 **파일 로드**를 클릭하고, **\\Allfiles\\Labs\\11\\azuredeploy.json** 파일을 찾아 **열기**를 클릭합니다. + + >**참고**: 템플릿의 내용을 검토하고 Azure SQL 데이터베이스를 배포합니다. + +5. **템플릿 편집** 블레이드에서 **저장**을 클릭합니다. + +6. **사용자 지정 배포** 블레이드에서 다음 설정이 구성되었는지 확인합니다 (다른 설정은 기본값으로 유지). + + |설정|값| + |---|---| + |구독|이 랩에서 사용할 Azure 구독의 이름| + |Resource group|**새로 만들기**를 클릭하고 **AZ500LAB11**을 이름으로 입력합니다.| + |위치|**(미국) 미국 동부**| + +7. **검토 + 만들기**를 클릭한 다음, **만들기**를 클릭합니다. + + >**참고**: 배포가 완료될 때까지 기다리세요. + +#### 작업 2: 고급 데이터 보호 구성 + +1. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **리소스 그룹**을 입력하고 **Enter** 키를 누릅니다. + +2. **리소스 그룹** 블레이드의 리소스 그룹 목록에서 **AZ500LAB11** 항목을 클릭합니다. + +3. **AZ500LAB11** 블레이드에서 새로 만든 SQL Server를 나타내는 항목을 클릭합니다. + +4. SQL 서버 블레이드의 **보안** 섹션에서 **클라우드용 Microsoft Defender**를 클릭하고 **Microsoft Defender for SQL 사용**을 선택합니다. + + >**참고**: Azure Defender for SQL이 성공적으로 사용하도록 설정되었다는 알림이 표시될 때까지 기다립니다. + +5. SQL Server 블레이드의 보안 섹션에 **있는 클라우드용 Microsoft Defender** 페이지의 **Microsoft Defender for SQL: Enabled at the subscription-level (Configure)** 매개 변수, 클릭 **(구성)**.** ** + + >**참고**: (구성)**이 표시되지 않는 경우 **브라우저를 새로 고칩니다. + +6. **서버 설정** 블레이드에서 가격 책정 및 평가 기간, **취약성 평가 설정 및 **ADVANCED THREAT PROTECTION 설정**에 대한 정보를 검토합니다**. + +7. **클라우드용 Microsoft Defender** 블레이드로 돌아와 **권장 사항** 및 **보안 경고**를 검토합니다. + + >**참고**: 권장 사항이 클라우드용 Microsoft Defender** 블레이드에 **표시되는 데 10~15분이 걸릴 수 있습니다. 대기하는 대신 다음 작업으로 진행하지만 모든 다시 기본 작업을 완료한 후 이 블레이드로 돌아가는 것이 좋습니다. + + +#### 작업 3: 데이터 분류 구성 + +이 작업에서는 GPDR 및 데이터 보호 규정 준수에 대한 SQL 데이터베이스의 정보를 검색하고 분류합니다. + +1. SQL 서버 블레이드의 **설정** 섹션에서 **SQL Databases**를 클릭합니다. + +2. 데이터베이스 목록에서 AZ500LabDb** 항목을 선택합니다**. + +3. AZ500LabDb** SQL 데이터베이스 블레이드의 **보안** 섹션에서 데이터 검색 및 분류**를 클릭합니다**.** + +4. **데이터 검색 및 분류 블레이드에서 분류**** 탭을 **클릭합니다. + + >**참고**: 분류 엔진은 데이터베이스에서 잠재적으로 중요한 데이터가 포함된 열을 검색하고 권장되는 열 분류 목록을 제공합니다. + +5. 블레이드 위쪽의 파란색 막대에 분류 권장 사항이 표시된 15개의** 열을 찾은 문자 메시지를 **클릭합니다. + +6. 나열된 열 및 권장 민감도 레이블을 검토합니다. + +7. **모든** 검사 상자를 사용하도록 설정한 다음 선택한 권장 사항** 수락을 클릭합니다**. + + >**참고**: 또는 특정 열만 선택하고 다른 열은 해제할 수 있습니다. + + >**참고**: 정보 유형 및 민감도 레이블을 변경하는 옵션이 있습니다. + +8. 검토가 완료되면 저장**을 클릭합니다**. + + >**참고**: 분류를 완료하고 새 분류 메타데이터를 사용하여 데이터베이스 열에 영구적으로 레이블을 지정합니다. + +9. **데이터 검색 및 분류** 블레이드 **개요** 탭으로 돌아와 최신 분류 정보를 반영하여 업데이트되었음을 확인합니다. + +#### 작업 4: 감사 구성 + +이 작업에서는 먼저 서버 수준 감사를 구성한 다음 데이터베이스 수준 감사를 구성합니다. + +1. Azure Portal에서 SQL Server 블레이드로 다시 이동합니다. + +2. SQL Server 블레이드의 **보안** 섹션에서 감사를** 클릭합니다**. + + >**참고**: 서버 수준 감사입니다. 기본 감사 설정에는 데이터베이스에 대해 실행된 모든 쿼리 및 저장 프로시저뿐만 아니라 성공 및 실패한 로그인도 포함됩니다. + +3. **Azure SQL 감사 사용** 스위치를 **ON**으로 설정하여 감사를 사용하도록 설정합니다. + +4. **Storage** 검사 상자를 선택하면 구독** 및 **스토리지 계정에** 대한 **입력란이 표시됩니다. + +5. **드롭다운 목록에서 구독**을 선택합니다. + +6. Storage 계정을** 클릭하고 **새로** 만들기를 선택합니다**. + +7. 스토리지 계정 만들기 블레이드의 ****이름** 상자에 3~24개의 소문자와 숫자로 구성된 전역적으로 고유한 이름을 입력하고 확인을** 클릭합니다**.** + + >**참고**: 스토리지 계정을 사용할 수 있게 되기 전에 브라우저를 새로 고쳐야 할 수 있습니다. + +8. **감사** 블레이드로 돌아와 **고급 속성**에서 **보존 기간(일)** 을 **5**로 설정합니다. + +9. 감사 블레이드에서 **저장**을 클릭하여 감사 설정을 저장합니다. + + >**참고**: 잘못된 스토리지 컨테이너 경로에 대한 오류 메시지가 표시되면 스토리지 계정이 아직 프로비전되지 않았을 수 있습니다. 몇 분 정도 기다렸다가 Storage 계정을 클릭하고 **스토리지 계정**** 선택 블레이드에서 **새로 만든 스토리지 계정을 선택하고 감사 블레이드에서 다시 저장**을 클릭합니다**. + +10. 서버 블레이드**의 설정** 섹션에서 SQL Database를** 클릭합니다**. + +11. 데이터베이스 목록에서 AZ500LabDb** 항목을 선택합니다**. + +12. **AZ500LabDb** SQL 데이터베이스 블레이드의 **보안** 섹션에서 감사를** 클릭합니다**. + + >**참고**: 데이터베이스 수준 감사입니다. 서버 수준 감사가 이미 활성화되어 있습니다. + + >**참고**: 감사는 Azure Storage 계정, Log Analytics 작업 영역 또는 이벤트 허브에 기록할 수 있습니다. 이러한 옵션의 조합을 구성할 수 있습니다. + + >**참고**: 서버에서 스토리지 기반 감사를 사용하도록 설정하면 데이터베이스 설정에 관계없이 항상 데이터베이스에 적용됩니다. + +13. 감사 로그** 보기를 클릭합니다**. + +14. 감사 레코드** 블레이드에서 **서버 감사와 데이터베이스 감사 간에 전환할 수 있습니다. + + >**참고**: 이 SQL 서버 및 데이터베이스는 최근에 만들어졌으므로 이 시점에서 모든 이벤트를 사용할 수 없을 것입니다. + +> 결과: SQL 서버 및 데이터베이스를 만들고, 데이터 분류를 구성하고, 감사를 수행했습니다. + + +**리소스 정리** + +> 더 이상 사용하지 않는 새로 만든 Azure 리소스는 모두 제거하세요. 사용하지 않는 리소스를 제거하면 예상하지 못한 비용이 발생하지 않습니다. + +1. Azure Portal 오른쪽 위의 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. 메시지가 표시되면 **PowerShell**, 그리고 **스토리지 만들기**를 클릭합니다. + +2. Cloud Shell 창의 왼쪽 위 모서리에 있는 드롭다운 메뉴에서 **PowerShell**이 선택되었는지 확인합니다. + +3. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 이 랩에서 만든 리소스 그룹을 제거합니다. + + ```powershell + Remove-AzResourceGroup -Name "AZ500LAB11" -Force -AsJob + ``` +4. **Cloud Shell** 창을 닫습니다. diff --git a/Instructions/Labs/LAB_12_SecuringAzureStorage.MD b/Instructions/Labs/LAB_12_SecuringAzureStorage.MD new file mode 100644 index 0000000..b1583ef --- /dev/null +++ b/Instructions/Labs/LAB_12_SecuringAzureStorage.MD @@ -0,0 +1,489 @@ +--- +lab: + title: ' 12 - 서비스 엔드포인트 및 스토리지 보안' + module: Module 03 - Secure data and applications +--- + +# 랩 12: 서비스 엔드포인트 및 스토리지 보안 +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +Azure 파일 공유 보안을 보여 주는 개념 증명을 만들라는 요청을 받았습니다. 특히 다음을 수행해야 합니다. + +- Azure Storage로 향하는 트래픽이 항상 Azure 백본 네트워크 내에 유지되도록 스토리지 엔드포인트를 만듭니다. +- 특정 서브넷의 리소스만 스토리지에 액세스할 수 있도록 스토리지 엔드포인트를 구성합니다. +- 특정 서브넷 외부의 리소스가 스토리지에 액세스할 수 없는지 확인합니다. + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다. + +- 연습 1: 서비스 엔드포인트 및 보안 스토리지 + +## 서비스 엔드포인트 및 스토리지 보안 다이어그램 + +![이미지](https://user-images.githubusercontent.com/91347931/157534883-29664a05-85d1-4c70-99a7-f16d2360755d.png) + +## 지침 + +### 연습 1: 서비스 엔드포인트 및 보안 스토리지 + +### 예상 소요 시간: 45분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: 가상 네트워크 만들기 +- 작업 2: 가상 네트워크에 서브넷 추가 및 스토리지 엔드포인트 구성 +- 작업 3: 서브넷에 대한 액세스를 제한하도록 네트워크 보안 그룹 구성 +- 작업 4: 공용 서브넷에서 rdp를 허용하도록 네트워크 보안 그룹 구성 +- 작업 5: 파일 공유를 통해 스토리지 계정 만들기 +- 작업 6: 지정된 서브넷에 가상 머신 배포 +- 작업 7: 프라이빗 서브넷에서 스토리지 연결을 테스트하여 액세스가 허용되는지 확인 +- 작업 8: 공용 서브넷에서 스토리지 연결을 테스트하여 액세스가 거부되는지 확인 + +#### 작업 1: 가상 네트워크 만들기 + +이 작업에서는 가상 네트워크를 만듭니다. + +1. Azure portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에 사용 중인 Azure 구독에 Owner 또는 Contributor 역할이 있는 계정을 사용하여 Azure Portal에 로그인합니다. + +2. Azure Portal 내 Azure Portal 페이지 상단의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **가상 네트워크**를 입력하고 **Enter** 키를 누릅니다. + +3. **가상 네트워크** 블레이드에서  **+ 만들기**를 클릭합니다. + +4. **가상 네트워크 만들기** 블레이드의 **기본** 탭에서 다음 설정을 지정하고(다른 설정은 기본값으로 둡니다) **다음: IP 주소**를 클릭합니다. + + |설정|값| + |---|---| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |Resource group|**새로 만들기**를 클릭하고 **AZ500LAB12**를 이름으로 입력합니다.| + |이름|**myVirtualNetwork**| + |지역|**(미국) 미국 동부**| + +5. 가상 네트워크** 만들기 블레이드의 **IP 주소** 탭에서 IPv4 주소 공간을** **10.0.0.0/16**으로 설정하고 **서브넷 이름** 열에서 **기본값**을 클릭하고 **서브넷** 편집 블레이드에서 **다음 설정을 지정하고 저장**을 클릭합니다**.** + + |설정|값| + |---|---| + |서브넷 이름|**공용**| + |서브넷 주소 범위|**10.0.0.0/24**| + +6. 다시 **가상 네트워크 만들기** 블레이드의 **IP 주소** 탭에서 **검토 + 만들기**를 클릭합니다. + +7. **가상 네트워크 만들기** 블레이드의 **검토 + 만들기** 탭에서 **만들기**를 클릭합니다. + +#### 작업 2: 가상 네트워크에 서브넷 추가 및 스토리지 엔드포인트 구성 + +이 작업에서는 다른 서브넷을 만들고 해당 서브넷에서 서비스 엔드포인트를 사용하도록 설정합니다. 서비스 엔드포인트는 서비스 단위, 서브넷 단위로 활성화됩니다. + +1. Azure Portal에서 Virtual Networks** 블레이드로 **다시 이동합니다. + +2. 가상 네트워크 블레이드에서 **myVirtualNetwork** 항목을 클릭합니다**.** + +3. **myVirtualNetwork** 블레이드의 **설정** 섹션에서 서브넷을** 클릭합니다**. + +4. **myVirtualNetwork \| 서브넷** 블레이드에서 **+ 서브넷**을 클릭합니다. + +5. 서브넷** 추가 블레이드에서 **다음 설정을 지정합니다(다른 설정은 기본값으로 유지). + + |설정|값| + |---|---| + |서브넷 이름|**프라이빗** + | + |서브넷 주소 범위|**10.0.1.0/24**| + |서비스 엔드포인트|**Microsoft.Storage**| + +6. 서브넷** 추가 블레이드에서 **저장**을 클릭하여 **새 서브넷을 추가합니다. + + >**참고**: 이제 가상 네트워크에는 공용 및 프라이빗이라는 두 개의 서브넷이 있습니다. + +#### 작업 3: 서브넷에 대한 액세스를 제한하도록 네트워크 보안 그룹 구성 + +이 작업에서는 두 개의 아웃바운드 보안 규칙(스토리지 및 인터넷)과 하나의 RDP(인바운드 보안 규칙)가 있는 네트워크 보안 그룹을 만듭니다. 또한 네트워크 보안 그룹을 프라이빗 서브넷과 연결합니다. 이렇게 하면 해당 서브넷에 연결된 Azure VM의 아웃바운드 트래픽이 제한됩니다. + +1. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **네트워크 보안 그룹**을 입력하고 **Enter** 키를 누릅니다. + +2. **네트워크 보안 그룹** 블레이드에서 **+ 만들기**를 클릭합니다. + +3. **네트워크 보안 그룹 만들기** 블레이드의 **기본** 탭에서 다음 설정을 지정합니다. + + |설정|값| + |---|---| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |Resource group|**AZ500LAB12**| + |이름|**myNsgPrivate**| + |지역|**미국 동부**| + +4. **검토 + 만들기**를 클릭한 다음, **만들기**를 클릭합니다. + + >**참고**: 다음 단계에서는 Azure Storage 서비스에 대한 통신을 허용하는 아웃바운드 보안 규칙을 만듭니다. + +5. Azure Portal에서 네트워크 보안 그룹 블레이드로 **돌아가서 myNsgPrivate** 항목을 클릭합니다**.** + +6. **myNsgPrivate** 블레이드의 **설정** 섹션에서 아웃바운드 보안 규칙을** 클릭합니다**. + +7. **myNsgPrivate \| 아웃바운드 보안 규칙** 블레이드에서 **+ 추가**를 클릭합니다. + +8. **아웃바운드 보안 규칙** 추가 블레이드에서 다음 설정을 지정하여 Azure Storage에 대한 아웃바운드 트래픽을 명시적으로 허용합니다(다른 모든 값은 기본 설정으로 유지). + + |설정|값| + |---|---| + |원본|**서비스 태그**| + |원본 서비스 태그|**VirtualNetwork**| + |원본 포트 범위|**\***| + |대상|**서비스 태그**| + |대상 서비스 태그|**스토리지**| + |대상 포트 범위|**\***| + |프로토콜|**모두**| + |작업|**허용**| + |우선 순위|**1000**| + |이름|**Allow-Storage-All**| + +9. **아웃바운드 보안 규칙** 추가 블레이드에서 추가**를 클릭하여 **새 아웃바운드 규칙을 만듭니다. + +10. myNsgPrivate** 블레이드의 **설정** 섹션에서 아웃바운드 보안 규칙을** 클릭한 **다음 + 추가**를 클릭합니다**.** + +11. **아웃바운드 보안 규칙** 추가 블레이드에서 다음 설정을 지정하여 인터넷에 대한 아웃바운드 트래픽을 명시적으로 거부합니다(다른 모든 값은 기본 설정으로 유지). + + |설정|값| + |---|---| + |원본|**서비스 태그**| + |원본 서비스 태그|**VirtualNetwork**| + |원본 포트 범위|**\***| + |대상|**서비스 태그**| + |대상 서비스 태그|**인터넷**| + |대상 포트 범위|**\***| + |프로토콜|**모두**| + |작업|**Deny**| + |우선 순위|**1100**| + |이름|**Deny-Internet-All**| + + >**참고**: 이 규칙은 아웃바운드 인터넷 통신을 허용하는 모든 네트워크 보안 그룹의 기본 규칙을 재정의합니다. + + >**참고**: 다음 단계에서는 서브넷에 대한 RDP(원격 데스크톱 프로토콜) 트래픽을 허용하는 인바운드 보안 규칙을 만듭니다. 이 규칙은 인터넷의 모든 인바운드 트래픽을 거부하는 기본 보안 규칙을 재정의합니다. 이후 단계에서 연결을 테스트할 수 있도록 서브넷에 대한 원격 데스크톱 연결이 허용됩니다. + +12. **myNsgPrivate** 블레이드의 **설정** 섹션에서 **인바운드 보안 규칙**을 클릭한 다음 **+ 추가**를 클릭합니다. + +13. **인바운드 보안 규칙** 추가 블레이드에서 다음 설정을 지정합니다(다른 모든 값은 기본값으로 유지). + + |설정|값| + |---|---| + |원본|**임의**| + |원본 포트 범위|**\***| + |대상|**서비스 태그**| + |대상 서비스 태그|**VirtualNetwork**| + |대상 포트 범위|**3389**| + |프로토콜|**TCP**| + |작업|**허용**| + |우선 순위|**1200**| + |이름|**Allow-RDP-All**| + +14. **인바운드 보안 규칙 추가** 블레이드에서 **추가**를 클릭하여 새 인바운드 규칙을 만듭니다. + + >**참고**: 이제 네트워크 보안 그룹을 프라이빗 서브넷과 연결합니다. + +15. 서브넷 블레이드에서 **+ 연결을** 선택하고 **서브넷**** 연결 섹션에서 다음 설정을 **지정한 다음 확인을** 클릭합니다**. + + |설정|값| + |---|---| + |가상 네트워크|**myVirtualNetwork**| + |서브넷|**프라이빗** + | + +#### 작업 4: 공용 서브넷에서 rdp를 허용하도록 네트워크 보안 그룹 구성 + +이 작업에서는 하나의 인바운드 보안 규칙(RDP)이 있는 네트워크 보안 그룹을 만듭니다. 또한 네트워크 보안 그룹을 공용 서브넷과 연결합니다. 이렇게 하면 공용 VM에 대한 RDP 액세스가 허용됩니다. + +1. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **네트워크 보안 그룹**을 입력하고 **Enter** 키를 누릅니다. + +2. **네트워크 보안 그룹** 블레이드에서 **+ 만들기**를 클릭합니다. + +3. **네트워크 보안 그룹 만들기** 블레이드의 **기본** 탭에서 다음 설정을 지정합니다. + + |설정|값| + |---|---| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |Resource group|**AZ500LAB12**| + |이름|**myNsgPublic**| + |지역|**미국 동부**| + +4. **검토 + 만들기**를 클릭한 다음, **만들기**를 클릭합니다. + + >**참고**: 다음 단계에서는 Azure Storage 서비스에 대한 통신을 허용하는 아웃바운드 보안 규칙을 만듭니다. + +5. Azure 포털에서 **네트워크 보안 그룹** 블레이드로 돌아가 **myNsgPublic** 항목을 클릭합니다. + +6. myNsgPublic** 블레이드의 **설정** 섹션에서 인바운드 보안 규칙을** 클릭한 **다음 + 추가**를 클릭합니다**.** + +7. **인바운드 보안 규칙** 추가 블레이드에서 다음 설정을 지정합니다(다른 모든 값은 기본값으로 유지). + + |설정|값| + |---|---| + |원본|**임의**| + |원본 포트 범위|**\***| + |대상|**서비스 태그**| + |대상 서비스 태그|**VirtualNetwork**| + |대상 포트 범위|**3389**| + |프로토콜|**TCP**| + |작업|**허용**| + |우선 순위|**1200**| + |이름|**Allow-RDP-All**| + +8. **인바운드 보안 규칙 추가** 블레이드에서 **추가**를 클릭하여 새 인바운드 규칙을 만듭니다. + + >**참고**: 이제 네트워크 보안 그룹을 공용 서브넷과 연결합니다. + +9. 서브넷 블레이드에서 **+ 연결을** 선택하고 **서브넷**** 연결 섹션에서 다음 설정을 **지정한 다음 확인을** 클릭합니다**. + + |설정|값| + |---|---| + |가상 네트워크|**myVirtualNetwork**| + |서브넷|**공용**| + +#### 작업 5: 파일 공유를 통해 스토리지 계정 만들기 + +이 작업에서는 파일 공유를 사용하여 스토리지 계정을 만들고 스토리지 계정 키를 가져옵니다. + +1. Azure Portal 페이지의 맨 위에 있는 **리소스, 서비스 및 문서** 검색 텍스트 상자에 Storage 계정을** 입력**하고 Enter** 키를 누릅니**다. + +2. **스토리지 계정** 블레이드에서  **+ 만들기**를 클릭합니다. + +3. **스토리지 계정 만들기** 블레이드의 **기본** 탭에서 다음 설정을 지정합니다(나머지는 기본값을 그대로 유지). + + |설정|값| + |---|---| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |Resource group|**AZ500LAB12**| + |스토리지 계정 이름|3~24자 사이의 문자와 숫자로 구성된 전역적으로 고유한 이름| + |위치|**(미국) 미국 동부**| + |성능|**표준(범용 v2 계정)**| + |다시 배포|**LRS(로컬 중복 스토리지)**| + +4. **스토리지 계정** 만들기 블레이드의 **기본 사항** 탭에서 검토 + 만들기**를 클릭하고 **유효성 검사 프로세스가 완료되기를 기다렸다가 만들기**를 클릭합니다**. + + >**참고**: 스토리지 계정이 만들어질 때까지 기다립니다. 이 작업은 2분 정도 걸립니다. + +5. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **리소스 그룹**을 입력하고 **Enter** 키를 누릅니다. + +6. **리소스 그룹** 블레이드의 리소스 그룹 목록에서 **AZ500LAB12** 항목을 클릭합니다. + +7. **AZ500LAB12** 리소스 그룹 블레이드의 리소스 목록에서 새로 만든 스토리지 계정을 나타내는 항목을 클릭합니다. + +8. 스토리지 계정 **개요** 블레이드에서 **데이터 스토리지** 탭 아래의 **파일 공유**를 클릭한 다음 **+ 파일 공유**를 클릭합니다. + +9. 새 파일 공유 블레이드의 **백업 탭에서 백업** 사용 옵션을 선택 취소 **** 합니다. + +10. 새 파일 공유** 블레이드에서 **다음 설정을 지정합니다. + + |설정|값| + |---|---| + |속성|**my-file-share**| + +11. 새 파일 공유 블레이드에서 **만들기**를 클릭합니다**.** + + >**참고**: 이제 Azure 파일 공유에 대한 드라이브 매핑을 만드는 PowerShell 스크립트를 검색하고 기록합니다. + +12. 스토리지 계정 블레이드의 파일 공유 목록에서 내 파일 공유**를 클릭합니다**. + +13. **내 파일 공유** 블레이드에서 커넥트** 클릭합니다**. + +14. **커넥트** 블레이드의 **Windows** 탭에서 파일 공유에 대한 Z 드라이브 매핑을 만드는 PowerShell 스크립트를 복사합니다. + + >**참고**: 이 스크립트를 기록합니다. 프라이빗** 서브넷의 Azure 가상 머신**에서 파일 공유를 매핑하려면 이 랩의 뒷부분에서 필요합니다. + +15. 스토리지 계정 블레이드로 다시 이동한 다음 **보안 + 네트워킹** 섹션에서 네트워킹을** 클릭합니다**. + +16. **방화벽 및 가상 네트워크** 블레이드 아래에서 **선택한 가상 네트워크 및 IP 주소에서 사용** 옵션을 선택하고 **+ 기존 가상 네트워크 추가** 링크를 클릭합니다. + +17. 네트워크** 추가 블레이드에서 **다음 설정을 지정합니다. + + |설정|값| + |---|---| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |가상 네트워크|**myVirtualNetwork**| + |서브넷|**프라이빗** + | + +18. 네트워크 추가 블레이드에서 **추가**를 클릭합니다**.** + +19. 스토리지 계정 블레이드로 돌아가서 저장**을 클릭합니다**. + + >**참고**: 랩의 이 시점에서 가상 네트워크, 네트워크 보안 그룹 및 파일 공유가 있는 스토리지 계정을 구성했습니다. + +#### 작업 6: 지정된 서브넷에 가상 머신 배포 + +이 작업에서는 프라이빗 서브넷에 하나씩, 공용 서브넷에 하나씩 두 개의 가상 머신을 만듭니다. + +>**참고**: 첫 번째 가상 머신은 프라이빗 서브넷에 연결됩니다. + +1. Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **가상 머신**을 입력하고 **Enter** 키를 누릅니다. + +2. **가상 머신** 창에서 **+ 만들기**를 클릭하고 드롭다운 목록에서 **+ Azure 가상 머신**을 클릭합니다. + +3. **가상 머신 만들기** 블레이드의 **기본 사항** 탭에서 다음 설정을 지정합니다(나머지는 기본값을 그대로 사용). + + |설정|값| + |---|---| + |구독|이 랩에서 사용할 Azure 구독의 이름| + |Resource group|**AZ500LAB12**| + |가상 머신 이름|**myVmPrivate**| + |지역|**(미국)미국 동부**| + |이미지|**Windows Server 2022 Datacenter: Azure Edition - Gen 2**| + |사용자 이름|**localadmin**| + |암호|**랩 04 > 연습 1 > 작업 1 > 9단계에서 만든 개인 암호를 사용하세요.**| + |공용 인바운드 포트|**없음**| + |이미 Windows Server 라이선스가 있으신가요?|**선택되지 않음**| + + >**참고**: 공용 인바운드 포트의 경우 미리 만들어진 NSG에 의존합니다. + +4. **다음: 디스크 >** 를 클릭하고, **가상 머신 만들기** 블레이드의 **디스크** 탭에서 **OS 디스크 유형**을 **표준 HDD**로 설정하고 **다음: 네트워킹 >** 을 선택합니다. + +5. 다음을 클릭합니다 **. 네트워킹 >** 가상 머신** 만들기 블레이드의 **네트워킹** 탭에서 **다음 설정을 지정합니다(다른 설정은 기본값으로 유지). + + |설정|값| + |---|---| + |가상 네트워크|**myVirtualNetwork**| + |서브넷|**개인(10.0.1.0/24)**| + |공용 IP|**(new)myVmPrivate-ip**| + |NIC 네트워크 보안 그룹 추가|**없음**| + +6. **다음: 관리 >** 가상 머신** 만들기 블레이드의 **관리** 탭에서 **기본 설정을 적용하고 검토 + 만들기**를 클릭합니다**. + +7. 검토 + 만들기 블레이드에서 **유효성 검사가 성공했는지 확인하고 만들기**를 클릭합니다**.** + + >**참고**: 두 번째 가상 머신은 공용 서브넷에 연결됩니다. + +8. **가상 머신** 창에서 **+ 추가**를 클릭하고 드롭다운 목록에서 **+ Azure 가상 머신**을 클릭합니다. + +9. **가상 머신 만들기** 블레이드의 **기본 사항** 탭에서 다음 설정을 지정합니다(나머지는 기본값을 그대로 사용). + + |설정|값| + |---|---| + |구독|이 랩에서 사용할 Azure 구독의 이름| + |Resource group|**AZ500LAB12**| + |가상 머신 이름|**myVmPublic**| + |지역|**(미국)미국 동부**| + |이미지|**Windows Server 2022 Datacenter: Azure Edition - Gen 2**| + |사용자 이름|**localadmin**| + |암호|**랩 04 > 연습 1 > 작업 1 > 9단계에서 만든 개인 암호를 사용하세요.**| + |공용 인바운드 포트|**없음**| + |이미 Windows Server 라이선스가 있으신가요?|**선택되지 않음**| + + >**참고**: 공용 인바운드 포트의 경우 미리 만들어진 NSG에 의존합니다. + +10. **다음: 디스크 >** 를 클릭하고, **가상 머신 만들기** 블레이드의 **디스크** 탭에서 **OS 디스크 유형**을 **표준 HDD**로 설정하고 **다음: 네트워킹 >** 을 선택합니다. + +11. 다음을 클릭합니다 **. 네트워킹 >** 가상 머신** 만들기 블레이드의 **네트워킹** 탭에서 **다음 설정을 지정합니다(다른 설정은 기본값으로 유지). + + |설정|값| + |---|---| + |가상 네트워크|**myVirtualNetwork**| + |서브넷|**공용(10.0.0.0/24)**| + |공용 IP|**(new)myVmPublic-ip**| + |NIC 네트워크 보안 그룹 추가|**없음**| + +12. **다음: 관리 >** 가상 머신** 만들기 블레이드의 **관리** 탭에서 **기본 설정을 적용하고 검토 + 만들기**를 클릭합니다**. + +13. 검토 + 만들기 블레이드에서 **유효성 검사가 성공했는지 확인하고 만들기**를 클릭합니다**.** + + >**참고**: myVMPrivate** Azure VM의 **배포가 완료되면 다음 작업을 계속할 수 있습니다. + +#### 작업 7: 프라이빗 서브넷에서 스토리지 연결을 테스트하여 액세스가 허용되는지 확인 + +이 작업에서는 원격 데스크톱을 통해 myVMPrivate 가상 머신에 연결하고 드라이브를 파일 공유에 매핑합니다. + +1. 가상 머신** 블레이드로 **다시 이동합니다. + +2. 가상 머신 블레이드에서 **myVMPrivate** 항목을 클릭합니다**.** + +3. myVMPrivate 블레이드에서 **커넥트** 클릭하고 **드롭다운 메뉴에서 RDP**를 클릭합니다**.** + +4. RDP 파일** 다운로드를 클릭하고 **이를 사용하여 원격 데스크톱을 **통해 myVMPrivate** Azure VM에 연결합니다. 인증하라는 메시지가 표시되면 다음 자격 증명을 입력합니다. + + |설정|값| + |---|---| + |사용자 이름|**localadmin**| + |암호|**랩 04 > 연습 1 > 작업 1 > 9단계에서 만든 개인 암호를 사용하세요.**| + + >**참고**: 원격 데스크톱 세션이 열릴 때까지 기다렸다가 로드할 서버 관리자. + + >**참고**: 이제 원격 데스크톱 세션 내의 Azure 파일 공유에 드라이브 Z를 Windows Server 2022 컴퓨터에 매핑합니다. + +5. myVMPrivate에 대한 **원격 데스크톱 세션 내에서 시작을** 클릭한 **다음 Windows PowerShell ISE**를 클릭합니다**.** + +6. **Windows PowerShell ISE** 창 내에서 스크립트** 창을 연 **다음, 이 랩의 앞부분에서 기록한 PowerShell 스크립트를 붙여넣고 실행합니다. 스크립트의 형식은 다음과 같습니다. + + ```powershell + $connectTestResult = Test-NetConnection -ComputerName .file.core.windows.net -Port 445 + if ($connectTestResult.TcpTestSucceeded) { + # Save the password so the drive will persist on reboot + cmd.exe /C "cmdkey /add:`".file.core.windows.net`" /user:`"localhost\`" /pass:`"`"" + # Mount the drive + New-PSDrive -Name Z -PSProvider FileSystem -Root "\\.file.core.windows.net\my-file-share" -Persist + } else { + Write-Error -Message "Unable to reach the Azure storage account via port 445. Check to make sure your organization or ISP is not blocking port 445, or use Azure P2S VPN, Azure S2S VPN, or Express Route to tunnel SMB traffic over a different port." + } + ``` + >**참고**: `` 자리 표시자는 파일 공유 `` 를 호스팅하는 스토리지 계정의 이름과 기본 키 하나를 나타냅니다. + +7. 파일 탐색기 시작하고 Z: 드라이브 매핑이 성공적으로 만들어졌는지 확인합니다. + +8. 다음으로, Windows PowerShell ISE** 콘솔의 **콘솔 창에서 다음을 실행하여 가상 머신에 인터넷에 대한 아웃바운드 연결이 없는지 확인합니다. + + ```powershell + Test-NetConnection -ComputerName www.bing.com -Port 80 + ``` + + >**참고**: 프라이빗 서브넷과 연결된 네트워크 보안 그룹이 인터넷에 대한 아웃바운드 액세스를 허용하지 않으므로 테스트가 실패합니다. + +9. myVMPrivate** Azure VM에 대한 **원격 데스크톱 세션을 종료합니다. + + >**참고**: 이 시점에서 프라이빗 서브넷의 가상 머신이 스토리지 계정에 액세스할 수 있음을 확인했습니다. + +#### 작업 8: 공용 서브넷에서 스토리지 연결을 테스트하여 액세스가 거부되는지 확인 + +1. 가상 머신** 블레이드로 **다시 이동합니다. + +2. 가상 머신 블레이드에서 **myVMPublic** 항목을 클릭합니다**.** + +3. myVMPublic 블레이드에서 **커넥트** 클릭하고 **드롭다운 메뉴에서 RDP**를 클릭합니다**.** + +4. RDP 파일** 다운로드를 클릭하고 **이를 사용하여 원격 데스크톱을 **통해 myVMPublic** Azure VM에 연결합니다. 인증하라는 메시지가 표시되면 다음 자격 증명을 입력합니다. + + |설정|값| + |---|---| + |사용자 이름|**localadmin**| + |암호|**랩 04 > 연습 1 > 작업 1 > 9단계에서 만든 개인 암호를 사용하세요.**| + + >**참고**: 원격 데스크톱 세션이 열릴 때까지 기다렸다가 로드할 서버 관리자. + + >**참고**: 이제 원격 데스크톱 세션 내의 Azure 파일 공유에 드라이브 Z를 Windows Server 2022 컴퓨터에 매핑합니다. + +5. myVMPublic에 대한 **원격 데스크톱 세션 내에서 시작을** 클릭한 **다음 Windows PowerShell ISE**를 클릭합니다**.** + +6. **Windows PowerShell ISE** 창 내에서 스크립트** 창을 연 **다음 원격 데스크톱 세션 내에서 실행한 것과 동일한 PowerShell 스크립트를 myVMPrivate** Azure VM에 **붙여넣고 실행합니다. + + >**참고**: 이번에는 New-PSDrive: 액세스 거부** 오류가 표시됩니다**. + + >**참고**: myVmPublic* 가상 머신이 공용 서브넷에 배포되어 액세스가 거부*되었습니다. 공용 서브넷에는 Azure Storage에 대해 사용하도록 설정된 서비스 엔드포인트가 없습니다. 스토리지 계정은 프라이빗 서브넷의 네트워크 액세스만 허용합니다. + +7. 다음으로, Windows PowerShell ISE** 콘솔의 **콘솔 창에서 다음을 실행하여 가상 머신에 인터넷에 대한 아웃바운드 연결이 있는지 확인합니다. + + ```powershell + Test-NetConnection -ComputerName www.bing.com -Port 80 + ``` + + >**참고**: 공용 서브넷에서 인터넷을 거부하는 아웃바운드 보안 규칙이 없으므로 테스트가 성공합니다. + +8. myVMPublic** Azure VM에 대한 **원격 데스크톱 세션을 종료합니다. + + >**참고**: 이 시점에서 공용 서브넷의 가상 머신이 스토리지 계정에 액세스할 수 없지만 인터넷에 액세스할 수 있음을 확인했습니다. + + +**리소스 정리** + +> 더 이상 사용하지 않는 새로 만든 Azure 리소스는 모두 제거하세요. 사용하지 않는 리소스를 제거하면 예상하지 못한 비용이 발생하지 않습니다. diff --git a/Instructions/Labs/LAB_13_Azure Monitor.md b/Instructions/Labs/LAB_13_Azure Monitor.md new file mode 100644 index 0000000..25677bf --- /dev/null +++ b/Instructions/Labs/LAB_13_Azure Monitor.md @@ -0,0 +1,214 @@ +--- +lab: + title: 13 - Azure Monitor + module: Module 04 - Manage security operations +--- + +# 랩 13: Azure Monitor + +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +Azure Monitor 에이전트를 사용하여 가상 머신에서 이벤트 및 성능 카운터를 수집하라는 요청을 받았습니다. + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다: + +- 연습 1: Azure 가상 머신 배포 +- 연습 2: Log Analytics 작업 영역 만들기 +- 연습 3: Azure Storage 계정 만들기 +- 연습 4: 데이터 콜렉션 규칙을 만듭니다. + +## 지침 + +### 연습 1: Azure 가상 머신 배포 + +### 운동 타이밍: 10분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: Azure 가상 머신을 배포합니다. + +#### 작업 1: Azure 가상 머신 배포 + +1. Azure portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에 사용 중인 Azure 구독에 Owner 또는 Contributor 역할이 있는 계정을 사용하여 Azure Portal에 로그인합니다. + +2. Azure Portal 오른쪽 상단에 있는 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. 메시지가 표시되면 **PowerShell** 및 **스토리지 만들기**를 선택합니다. + +3. Cloud Shell 창의 왼쪽 위 모서리에 있는 드롭다운 메뉴에서 **PowerShell**이 선택되었는지 확인합니다. + +4. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 이 랩에서 사용할 리소스 그룹을 만듭니다. + + ```powershell + New-AzResourceGroup -Name AZ500LAB131415 -Location 'EastUS' + ``` + + >**참고**: 이 리소스 그룹은 랩 13, 14 및 15에 사용됩니다. + +5. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 새 Azure 가상 머신을 만듭니다. + + ```powershell + New-AzVm -ResourceGroupName "AZ500LAB131415" -Name "myVM" -Location 'EastUS' -VirtualNetworkName "myVnet" -SubnetName "mySubnet" -SecurityGroupName "myNetworkSecurityGroup" -PublicIpAddressName "myPublicIpAddress" -PublicIpSku Standard -OpenPorts 80,3389 -Size Standard_DS1_v2 + ``` + +6. 자격 증명에 대한 메시지가 표시되면: + + |설정|값| + |---|---| + |사용자 |**localadmin**| + |암호|**랩 04 > 연습 1 > 작업 1 > 9단계에서 만든 개인 암호를 사용하세요.**| + + >**참고**: 배포가 완료될 때까지 기다립니다. + +7. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 **myVM**이라는 가상 머신이 생성되고 해당 **ProvisioningState**가 **성공**인지 확인합니다. + + ```powershell + Get-AzVM -Name 'myVM' -ResourceGroupName 'AZ500LAB131415' | Format-Table + ``` + +8. Cloud Shell 창을 닫습니다. + +### 연습 2: Log Analytics 작업 영역 만들기 + +### 운동 타이밍: 10분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: Log Analytics 작업 영역을 만듭니다. + +#### 작업 1: Log Analytics 작업 영역 만들기 + +이 작업에서는 Log Analytics 작업 영역을 만듭니다. + +1. Azure Portal에서 Azure Portal 페이지 위쪽의 **검색 리소스, 서비스 및 문서** 텍스트 상자에서 **Log Analytics 작업 영역**을 입력하고 **Enter** 키를 누릅니다. + +2. **Log Analytics 작업 영역** 블레이드에서  **+ 만들기**를 클릭합니다. + +3. **Log Analytics 작업 영역 만들기** 블레이드의 **기본** 탭에서 다음 설정을 지정합니다(다른 설정을 기본값으로 남겨둡니다). + + |설정|값| + |---|---| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |리소스 그룹|**AZ500LAB131415**| + |이름|유효하며 전역적으로 고유한 이름| + |지역|**미국 동부**| + +4. **검토 + 만들기**를 선택합니다. + +5. **Log Analytics 작업 영역 만들기** 블레이드의 **검토 + 만들기** 탭에서 **만들기**를 클릭합니다. + +### 연습 3: Azure Storage 계정 만들기 + +### 예상 소요 시간: 10분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: Azure Storage 계정을 만듭니다. + +#### 작업 1: Azure Storage 계정 만들기 + +이 작업에서는 스토리지 계정을 만듭니다. + +1. Azure Portal 페이지의 맨 위에 있는 **리소스, 서비스 및 문서** 검색 텍스트 상자에 Storage 계정을** 입력**하고 Enter** 키를 누릅니**다. + +2. Azure Portal의 **Storage 계정** 블레이드에서 + 만들기** 단추를 클릭하여 **새 스토리지 계정을 만듭니다. + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/73eb9241-d642-455a-a1ff-b504670395c0) + +3. **스토리지 계정 만들기** 블레이드의 **기본** 탭에서 다음 설정을 지정합니다(나머지는 기본값을 그대로 유지). + + |설정|값| + |---|---| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |리소스 그룹|**AZ500LAB131415**| + |스토리지 계정 이름|3~24자 사이의 문자와 숫자로 구성된 전역적으로 고유한 이름| + |위치|**(미국) 미국 동부**| + |성능|**표준(범용 v2 계정)**| + |다시 배포|**LRS(로컬 중복 스토리지)**| + +4. 스토리지 계정** 만들기 블레이드의 기본 사항** 탭에서 **검토를** 클릭하고 **유효성 검사 프로세스가 완료되기를 기다린 다음 만들기**를 클릭합니다**.** + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/d443821c-2ddf-4794-87fa-bfc092980eba) + + >**참고**: 스토리지 계정이 만들어질 때까지 기다립니다. 이 작업은 2분 정도 걸립니다. + +### 연습 3: 데이터 수집 규칙 만들기 + +### 예상 소요 시간: 15분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: 데이터 수집 규칙을 만듭니다. + +#### 작업 1: 데이터 수집 규칙을 만듭니다. + +이 작업에서는 데이터 수집 규칙을 만듭니다. + +1. Azure Portal 페이지의 맨 위에 있는 **리소스, 서비스 및 문서** 검색 텍스트 상자에 Monitor**를 입력**하고 Enter** 키를 누릅니**다. + +2. **모니터 설정** 블레이드에서 데이터 수집 규칙을 클릭합니다 **.** + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/d43e8f94-efb2-4255-9320-210c976fd45e) + + +3. **데이터 수집 규칙** 만들기 블레이드의 기본** 사항 탭에서 **다음 설정을 지정합니다. + + |설정|값| + |---|---| + |**규칙 세부 정보**| + |규칙 이름|**DCR1**| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |리소스 그룹|**AZ500LAB131415**| + |지역|**미국 동부**| + |플랫폼 유형|**Windows**| + |데이터 컬렉션 엔드포인트|*비워 둡니다.*| + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/9b58c4ce-b7a8-4acf-8289-d95b270a6083) + + +4. 다음: 리소스 > 레이블이 지정된 **단추를 클릭하여 계속 진행합니다** . + +5. 리소스 탭에서 **+ 리소스** 추가를 선택한 **다음, 데이터 수집 엔드포인트를 사용하도록 검사 **.**** + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/c8388619-c254-4c80-a1ff-dde2f35ed350) + +6. 다음: 수집 및 배달 >** 레이블이 지정된 **단추를 클릭하여 계속 진행합니다. + +7. + 데이터 원본** 추가를 클릭한 **다음 **데이터 원본** 추가 페이지에서 데이터 원본 유형** 드롭다운 메뉴를 변경**하여 성능 카운터를 표시**합니다.** 다음 기본 설정을 그대로 둡니다. + + |설정|값| + |---|---| + |**성능 카운터**|**샘플 속도(초)**| + |CPU|60| + |메모리|60| + |디스크|60| + |네트워크|60| + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/a24e44ad-1d10-4533-80e2-bae1b3f6564d) + +8. 다음: 대상 >** 레이블이 지정된 **단추를 클릭하여 계속 진행합니다. + +9. **대상 유형** 드롭다운 메뉴를 변경하여 Azure Monitor 로그를 표시**합니다.** **구독** 창에서 구독*이 *표시되는지 확인하고 이전에 만든 Log Analytics 작업 영역을 반영하도록 계정 또는 네임스페이스** 드롭다운 메뉴를 변경**합니다. + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/481843f5-94c4-4a8f-bf51-a10d49130bf8) + +10. 페이지 아래쪽에서 **데이터 원본** 추가를 클릭합니다. + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/964091e7-bbbc-4ca8-8383-bb2871a1e7f0) + +13. **검토 + 만들기**를 클릭합니다. + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/50dd8407-a106-4540-9e14-ae40a3c04830) + +14. **만들기**를 클릭합니다. + +> 결과: Azure Monitor 에이전트를 사용하여 가상 머신에서 이벤트 및 성능 카운터를 수집하기 위해 Azure 가상 머신, Log Analytics 작업 영역, Azure Storage 계정 및 데이터 수집 규칙을 배포했습니다. + +>**참고**: 클라우드용 Microsoft Defender 랩 및 Microsoft Sentinel 랩에 필요하므로 이 랩에서 리소스를 제거하지 마세요. + diff --git a/Instructions/Labs/LAB_13_Deploy an Azure VM and Log Analytics workspace.md b/Instructions/Labs/LAB_13_Deploy an Azure VM and Log Analytics workspace.md new file mode 100644 index 0000000..16860c9 --- /dev/null +++ b/Instructions/Labs/LAB_13_Deploy an Azure VM and Log Analytics workspace.md @@ -0,0 +1,101 @@ +--- +lab: + title: 13 - Azure VM 및 Log Analytics 작업 영역 배포 + module: Module 04 - Manage security operations +--- + +# 랩 13: Azure VM 및 Log Analytics 작업 영역 배포 + +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +Azure 가상 machione 및 Log Analytics 작업 영역을 만들라는 요청을 받았습니다. + +- Azure 가상 머신 배포 +- Log Analytics 작업 영역을 만듭니다. + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다. + +- 연습 1: Azure 가상 머신 만들기 + +## 지침 + +### 연습 1: Azure 가상 머신 배포 + +### 운동 타이밍: 10분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: Azure 가상 머신 배포 + +#### 작업 1: Azure 가상 머신 배포 + +1. Azure portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에 사용 중인 Azure 구독에 Owner 또는 Contributor 역할이 있는 계정을 사용하여 Azure Portal에 로그인합니다. + +2. Azure Portal 오른쪽 상단에 있는 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. 메시지가 표시되면 **PowerShell** 및 **스토리지 만들기**를 선택합니다. + +3. Cloud Shell 창의 왼쪽 위 모서리에 있는 드롭다운 메뉴에서 **PowerShell**이 선택되었는지 확인합니다. + +4. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 이 랩에서 사용할 리소스 그룹을 만듭니다. + + ```powershell + New-AzResourceGroup -Name AZ500LAB131415 -Location 'EastUS' + ``` + + >**참고**: 이 리소스 그룹은 랩 13, 14 및 15에 사용됩니다. + +5. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 새 Azure 가상 머신을 만듭니다. + + ```powershell + New-AzVm -ResourceGroupName "AZ500LAB131415" -Name "myVM" -Location 'EastUS' -VirtualNetworkName "myVnet" -SubnetName "mySubnet" -SecurityGroupName "myNetworkSecurityGroup" -PublicIpAddressName "myPublicIpAddress" -PublicIpSku Standard -OpenPorts 80,3389 -Size Standard_DS1_v2 + ``` + +6. 자격 증명에 대한 메시지가 표시되면: + + |설정|값| + |---|---| + |사용자 |**localadmin**| + |암호|**랩 04 > 연습 1 > 작업 1 > 9단계에서 만든 개인 암호를 사용하세요.**| + + >**참고**: 배포가 완료될 때까지 기다립니다. + +7. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 **myVM**이라는 가상 머신이 생성되고 해당 **ProvisioningState**가 **성공**인지 확인합니다. + + ```powershell + Get-AzVM -Name 'myVM' -ResourceGroupName 'AZ500LAB131415' | Format-Table + ``` + +8. Cloud Shell 창을 닫습니다. + +#### 작업 2: Log Analytics 작업 영역 만들기 + +이 작업에서는 Log Analytics 작업 영역을 만듭니다. + +1. Azure Portal에서 Azure Portal 페이지 위쪽의 **검색 리소스, 서비스 및 문서** 텍스트 상자에서 **Log Analytics 작업 영역**을 입력하고 **Enter** 키를 누릅니다. + +2. **Log Analytics 작업 영역** 블레이드에서  **+ 만들기**를 클릭합니다. + +3. **Log Analytics 작업 영역 만들기** 블레이드의 **기본** 탭에서 다음 설정을 지정합니다(다른 설정을 기본값으로 남겨둡니다). + + |설정|값| + |---|---| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |리소스 그룹|**AZ500LAB131415**| + |이름|유효하며 전역적으로 고유한 이름| + |지역|**미국 동부**| + +4. **검토 + 만들기**를 선택합니다. + +5. **Log Analytics 작업 영역 만들기** 블레이드의 **검토 + 만들기** 탭에서 **만들기**를 클릭합니다. + +> 결과: Azure 가상 머신을 배포하고 Log Analytics 작업 영역을 만들었습니다. + +>**참고**: 클라우드용 Microsoft Defender 랩 및 Microsoft Sentinel 랩에 필요하므로 이 랩에서 리소스를 제거하지 마세요. + diff --git a/Instructions/Labs/LAB_13_Microsoft Sentinel.md b/Instructions/Labs/LAB_13_Microsoft Sentinel.md new file mode 100644 index 0000000..3cf8ac3 --- /dev/null +++ b/Instructions/Labs/LAB_13_Microsoft Sentinel.md @@ -0,0 +1,284 @@ +--- +lab: + title: 13 - Microsoft Sentinel + module: Module 04 - Manage Security Operations +--- + +# 랩 13: Microsoft Sentinel +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +**참고:** **Azure Sentinel**의 이름이 **Microsoft Sentinel**로 변경됨 + +Microsoft Sentinel 기반 위협 탐지 및 응답의 개념 증명을 만들라는 메시지가 표시됩니다. 특히 다음을 수행해야 합니다. + +- Azure Activity 및 클라우드용 Microsoft Defender에서 데이터 수집을 시작합니다. +- 기본 제공 및 사용자 지정 경고 추가 +- 플레이북을 사용하여 인시던트에 대한 응답을 자동화하는 방법을 검토합니다. + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다. + +- 연습 1: Microsoft Sentinel 구현 + +## Microsoft Sentinel 다이어그램 + +![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/509aa70d-de11-4470-a289-877fbfecbc00) + +## Instructions + +## 랩 파일: + +- **\\Allfiles\\Labs\\15\\changeincidentseverity.json** + +### 연습 1: Microsoft Sentinel 구현 + +### 예상 소요 시간: 30분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: Microsoft Sentinel 온보딩 +- 작업 2: Azure 활동을 Sentinel에 연결 +- 작업 3: Azure 활동 데이터 커넥터를 사용하는 규칙을 만듭니다. +- 작업 4: 플레이북 만들기 +- 작업 5: 사용자 지정 경고를 만들고 플레이북을 자동 응답으로 구성합니다. +- 작업 6: 인시던트를 호출하고 연결된 작업을 검토합니다. + +#### 작업 1: Azure Sentinel 온보딩 + +이 작업에서는 Microsoft Sentinel을 온보딩하고 Log Analytics 작업 영역을 연결합니다. + +1. Azure portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에 사용 중인 Azure 구독에 Owner 또는 Contributor 역할이 있는 계정을 사용하여 Azure Portal에 로그인합니다. + +2. Azure Portal에서 페이지 상단에 있는 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **Microsoft Sentinel**을 입력하고 **Enter** 키를 누릅니다. + + >**참고**: Azure 대시보드에서 Microsoft Sentinel 작업을 처음 시도하는 경우 다음 단계를 완료하세요. Azure Portal에서 페이지 상단에 있는 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **** 을 입력하고 **Enter** 키를 누릅니다. **서비스** 보기에서 **Microsoft Sentinel**을 선택합니다. + +3. **Microsoft Sentinel** 블레이드에서 **+ 만들기**를 클릭합니다. + +4. **작업 영역에 Microsoft Sentinel 추가** 블레이드에서, Azure Monitor 랩에서 만든 Log Analytics 작업 영역을 선택하고 **추가**를 클릭합니다. + + >**참고**: Azure Sentinel에는 작업 영역에 대한 매우 구체적인 요구 사항이 있습니다. 예를 들어 클라우드용 Microsoft Defender에서 만든 작업 영역을 사용할 수 없습니다. [빠른 시작: Azure Sentinel 온보딩](https://docs.microsoft.com/en-us/azure/sentinel/quickstart-onboard)에서 알아보기 + +#### 작업 2: Azure Sentinel을 구성하여 Azure Activity 데이터 커넥터를 사용합니다. + +이 작업에서는 Sentinel을 구성하여 Azure 활동 데이터 커넥터를 사용합니다. + +1. Azure Portal**의 Microsoft Sentinel \| 개요** 블레이드의 **콘텐츠 관리** 섹션에서 콘텐츠 허브**를 클릭합니다**. + +2. **Microsoft Sentinel \| 콘텐츠 허브** 블레이드에서 사용 가능한 콘텐츠 목록을 검토합니다. + +3. 검색 창에 Azure를 입력**하고 Azure 활동을** 나타내는 **항목을** 선택합니다. 맨 오른쪽에서 설명을 검토한 다음 설치**를 클릭합니다**. + +4. 설치 성공** 알림을 기다립니다**. 왼쪽 탐색 패널**의 구성** 섹션에서 데이터 커넥터를** 클릭합니다**. + +5. **Microsoft Sentinel \| 데이터 커넥터** 블레이드에서 새로 고침**을 클릭하고 **사용 가능한 커넥터 목록을 검토합니다. Azure 활동 커넥터를 **나타내는 항목을 선택하고(필요한 경우 < 사용하여 \<왼쪽 메뉴 모음 숨기기), 설명을 검토하고 맨 오른쪽에서 상태 다음 커넥터 페이지** 열기를 클릭합니다**.** + +6. **Azure 활동** 블레이드의 **지침** 탭을 선택해야 하고 **필수 구성 요소**를 기록한 다음 **구성**으로 스크롤합니다. 커넥터 업데이트를 설명하는 정보를 살펴봅니다. Azure Pass 구독은 레거시 연결 방법을 사용하지 않기 때문에 1단계를 건너뛰고(**모든 연결 끊기** 단추가 회색으로 표시됨) 2단계로 진행할 수 있습니다. + +7. 2단계인 **진단 설정 새 파이프라인을 통해 구독 연결**에서 "Azure Policy 할당 마법사를 시작하고 지침을 따름" 지침을 검토한 다음 **Azure Policy 할당 마법사 시작\>** 을 클릭합니다. + +8. **지정된 Log Analytics 작업 영역으로 스트림하도록 Azure 활동 로그 구성**(정책 할당 페이지)의 **기본 사항** 탭에서 **범위 줄임표(...)** 단추를 클릭합니다. **범위** 페이지의 드롭다운 구독 목록에서 Azure Pass 구독을 선택하고 페이지 아래쪽의 **선택** 단추를 클릭합니다. + + >**참고**: 리소스 그룹은 선택하지 *마세요*. + +9. **[기본]** 탭 아래쪽**의 [다음**] 단추를 두 번 클릭하여 [매개 변수]** 탭으로 이동합니다**. 매개 변수** 탭에서 ****기본 Log Analytics 작업 영역 elipsis(...)** 단추를 클릭합니다. **기본 Log Analytics 작업 영역** 페이지에서 Azure pass 구독이 선택됐는지 확인하고 **작업 영역** 드롭다운을 사용하여 Sentinel에 사용할 Log Analytics 작업 영역을 선택합니다. 완료되면 페이지 아래쪽에 있는 **선택** 단추를 클릭합니다. + +10. **매개 변수** 탭 아래쪽에 있는 **다음** 단추를 클릭하고 **수정** 탭으로 진행합니다. **수정** 탭에서 **수정 작업 만들기** 체크박스를 선택합니다. 그러면 **수정할 정책** 드롭다운에서 "지정된 Log Analytics 작업 영역으로 스트림하도록 Azure 활동 로그 구성"을 사용할 수 있습니다. **시스템 할당 ID 위치** 드롭다운에서 이전에 Log Analytics 작업 영역으로 선택한 지역(예: 미국 동부)을 선택합니다. + +11. **수정** 탭 아래쪽에 있는 **다음** 단추를 클릭하고 **비준수 메시지** 탭으로 진행합니다. 원할 경우 비준수 메시지를 입력하고 **비준수 메시지** 탭 아래쪽에 있는 **검토 + 만들기** 단추를 클릭합니다. + +12. **만들기** 단추를 클릭합니다. 다음 3가지 성공 상태 메시지를 볼 수 있을 것입니다. **정책 할당 만들기 성공, 역할 할당 만들기 성공 및 수정 작업 만들기 성공** + + >**참고**: 알림, 종 아이콘을 통해 3가지 성공 작업을 확인할 수 있습니다. + +13. **Azure 활동** 창에 **데이터 수신됨** 그래프가 표시되는지 확인합니다. 브라우저 창을 새로 고쳐야 할 수도 있습니다. + + >**참고**: 상태에 "연결됨"이 표시되고 데이터 수신됨 그래프가 표시되기까지 15분 이상 걸릴 수 있습니다. + +#### 작업 3: Azure 활동 데이터 커넥터를 사용하는 규칙을 만듭니다. + +이 작업에서는 Azure 활동 데이터 커넥터를 사용하는 규칙을 검토하고 만듭니다. + +1. **Microsoft Sentinel \| 구성** 블레이드에서 **Analytics**을 클릭합니다. + +2. **Microsoft Sentinel \| Analytics** 블레이드에서 **규칙 템플릿** 탭을 클릭합니다. + + >**참고**: 만들 수 있는 규칙 유형을 검토합니다. 각 규칙은 특정 데이터 원본과 연결됩니다. + +3. 규칙 템플릿 목록에서 검색 창 양식에 **의심스러움**을 입력한 후 **Azure 활동** 데이터 원본과 연결된 **Change-Incident-Severity** 항목을 클릭합니다. 그런 다음 규칙 템플릿 속성이 표시된 창에서 필요하면 페이지 오른쪽으로 스크롤하여 **규칙 만들기**를 클릭합니다. + + >**참고**: 이 규칙은 중간 심각도를 가지고 있습니다. + +4. **분석 규칙 마법사의 **일반** 탭 - 새 예약된 규칙** 블레이드 만들기, 기본 설정 적용, 다음: 규칙 논리 >** 설정 클릭 ** + +5. **분석 규칙 마법사의 **규칙 논리** 설정 탭 - 새 예약된 규칙** 블레이드 만들기, 기본 설정 적용, 다음: 인시던트 설정(미리 보기) >** 클릭합니다**. + +6. **분석 규칙 마법사의 **인시던트 설정** 탭 - 새 예약된 규칙** 블레이드 만들기, 기본 설정 적용, 다음: 자동화된 응답 >** 클릭합니다**. + + >**참고**: 여기서 논리 앱으로 구현된 플레이북을 규칙에 추가하여 문제를 자동으로 수정할 수 있습니다. + +7. **분석 규칙 마법사의 **자동화된 응답** 탭 - 새 예약된 규칙** 블레이드 만들기, 기본 설정 적용, 다음: 검토 및 >** 만들기를 클릭합니다**. + +8. **분석 규칙 마법사의 **검토 및 만들기** 탭 - 새 예약된 규칙** 만들기 블레이드에서 저장**을 클릭합니다**. + + >**참고**: 이제 활성 규칙이 만들어졌습니다. + +#### 작업 4: 플레이북 만들기 + +이 작업에서는 플레이북을 만듭니다. 보안 플레이북은 Microsoft Sentinel에서 경고에 대한 대응으로 호출할 수 있는 작업 모음입니다. + +1. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **사용자 지정 템플릿 배포**를 입력하고 **Enter** 키를 누릅니다. + +2. **사용자 지정 배포** 블레이드에서 **편집기에서 사용자 고유의 탬플릿 빌드** 옵션을 클릭합니다. + +3. **템플릿 편집** 블레이드에서 **로드 파일**을 클릭하고 **\\Allfiles\\Labs\\15\\changeincidentseverity.json** 파일을 찾아 **열기**를 클릭합니다. + + >**참고**: [https://github.com/Azure/Azure-Sentinel/tree/master/Playbooks](https://github.com/Azure/Azure-Sentinel/tree/master/Playbooks)에서 샘플 플레이북을 확인할 수 있습니다. + +4. **템플릿 편집** 블레이드에서 **저장**을 클릭합니다. + +5. **사용자 지정 배포** 블레이드에서 다음 설정이 구성되었는지 확인합니다 (다른 설정은 기본값으로 유지). + + |설정|값| + |---|---| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |리소스 그룹|**AZ500LAB131415**| + |위치|**(미국) 미국 동부**| + |플레이북 이름|**Change-Incident-Severity**| + |사용자 이름|메일 주소| + +6. **검토 + 만들기**를 클릭한 다음, **만들기**를 클릭합니다. + + >**참고**: 배포가 완료될 때까지 기다리세요. + +7. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **리소스 그룹**을 입력하고 **Enter** 키를 누릅니다. + +8. **리소스 그룹** 블레이드의 리소스 그룹 목록에서 **AZ500LAB131415** 항목을 클릭합니다. + +9. **AZ500LAB131415** 리소스 그룹 블레이드의 리소스 목록에서 새로 만들어진 **Change-Incident-Severity** 논리 앱을 나타내는 항목을 클릭합니다. + +10. **Change-Incident-Severity** 블레이드에서 **편집**을 클릭합니다. + + >**참고**: Logic Apps 디자이너** 블레이드에서 **4개의 각 블레이드에 경고가 표시됩니다. 즉, 각각의 연결을 검토하고 구성해야 합니다. + +11. Logic Apps 디자이너** 블레이드에서 **첫 번째 **** 단계를 클릭합니다. + +12. **새로 추가**를 클릭하고 **테넌트** 드롭다운 목록의 항목에 사용자의 Azure AD 테넌트 이름이 포함되어 있는지 확인하고 **로그인**을 클릭합니다. + +13. 메시지가 표시되면 이 랩에서 사용하고 있는 Azure 구독에 대한 Owner 또는 Contributor 역할이 포함된 사용자 계정을 사용하여 로그인합니다. + +14. 두 번째 **** 단계를 클릭하고, s 목록에서 이전 단계에서 만든 항목을 나타내는 두 번째 항목을 선택합니다. + +15. 두 **** 단계를 다시 기본 위해 이전 단계를 반복합니다. + + >**참고**: 모든 단계에 경고가 표시되지 않는지 확인합니다. + +16. **Logic Apps 디자이너** 블레이드에서 **저장**을 클릭하여 변경 사항을 저장합니다. + +#### 작업 5: 사용자 지정 경고 만들기 및 플레이북 자동 응답으로 구성 + +1. Azure Portal에서 **Microsoft Sentinel \| 개요** 블레이드로 다시 이동합니다. + +2. **\| 개요** 블레이드의 **구성** 섹션에서 **** 을 클릭합니다. + +3. **Microsoft Sentinel \| Analytics** 블레이드에서 **+ 만들기**를 클릭하고 드롭다운 메뉴에서 **예약된 쿼리 규칙**을 클릭합니다. + +4. **분석 규칙 마법사의 **일반** 탭에서 - 새 예약된 규칙** 블레이드를 만들고 다음 설정을 지정합니다(다른 설정은 기본값으로 유지). + + |설정|값| + |---|---| + |Name|**플레이북 데모**| + |전술|**Initial Access**| + +5. **다음: 규칙 논리 설정>** 을 선택합니다. + +6. **분석 규칙 마법사의 **규칙 논리** 설정 탭 - 새 예약된 규칙 블레이드 만들기의 **규칙** 쿼리** 텍스트 상자에 다음 규칙 쿼리를 붙여넣습니다. + + ``` + AzureActivity + | where ResourceProviderValue =~ "Microsoft.Security" + | where OperationNameValue =~ "Microsoft.Security/locations/jitNetworkAccessPolicies/delete" + ``` + + >**참고**: 이 규칙은 Just-In-Time VM 액세스 정책의 제거를 식별합니다. + + >**참고** 구문 분석 오류가 표시된 경우 IntelliSense가 쿼리에 값을 추가했을 수 있습니다. 쿼리가 일치하는지 확인하고 그렇지 않으면 쿼리를 메모장에 붙여넣은 다음 메모장에서 규칙 쿼리로 붙여넣습니다. + + +7. **분석 규칙 마법사의 **규칙 논리** 설정 탭 - 새 예약된 규칙** 블레이드 만들기의 **쿼리 예약** 섹션에서 5분**마다** 실행 쿼리를 **설정합니다**. + +8. **분석 규칙 마법사의 **규칙 논리** 설정 탭 - 새 예약된 규칙** 블레이드 만들기, 다시 기본 설정의 기본값 적용, 다음: 인시던트 설정 >** 클릭합니다**. + +9. **분석 규칙 마법사의 **인시던트 설정** 탭 - 새 예약된 규칙** 블레이드 만들기, 기본 설정 적용, 다음: 자동화된 응답 >** 클릭합니다**. + +10. **분석 규칙 마법사의 **자동화된 응답** 탭 - 새 예약된 규칙** 만들기 블레이드의 Automation 규칙**에서 **+ 새로** 추가를 클릭합니다**. + +11. **새 자동화 규칙** 만들기 창에서 Automation 규칙 이름****에 대한 **변경 심각도 플레이북** 실행을 입력**합니다. 트리거** 필드에서 드롭다운 메뉴를 클릭하고 경고가 생성**되는 시기를 선택합니다**. + +12. 새 자동화 규칙 만들기 창의 **작업**에서 **메모를 읽은 다음 플레이북 권한** 관리를 클릭합니다**.** 권한 관리 창에서 **이전에 만든 **리소스 그룹 AZ500LAB1314151 옆에 있는 검사** 상자를 선택한 다음 적용**을 클릭합니다**.** + +13. 새 자동화 규칙 만들기 창의 **작업**에서 **두 번째 드롭다운 메뉴를 클릭하고 인시던트 심각도** 변경 논리 앱을 선택합니다**.** **새 자동화 규칙** 만들기 창에서 적용**을 클릭합니다**. + +14. **분석 규칙 마법사의 **자동화된 응답** 탭 - 새 예약된 규칙** 만들기 블레이드**에서 다음: 검토 및 만들기 >** 클릭하고 저장을 클릭합니다 **.** + + >**참고**: 이제 **플레이북 데모**라는 새로운 활성 규칙이 만들어졌습니다. 규칙 논리로 식별된 이벤트가 발생하면 중간 심각도 경고가 발생하여 해당 인시던트를 생성합니다. + +#### 작업 6: 인시던트를 호출하고 연결된 작업을 검토합니다. + +1. Azure Portal에서 **클라우드용 Microsoft Defender\| 개요** 블레이드로 이동합니다. + + >**참고**: 보안 점수를 확인합니다. 지금쯤이면 업데이트되어 있어야 합니다. + +2. 클라우드용 Microsoft Defender 개요 블레이드의 왼쪽 탐색 창에서 Cloud Security** 아래**의 워크로드 보호를** 클릭합니다**.** \| ** + +3. **클라우드용 Microsoft Defender \| 워크로드 보호** 블레이드에서 아래로 스크롤하고 고급 보호**에서 **Just-In-Time VM 액세스** 타일을 클릭합니다**. + +4. **Just-In-Time VM 액세스** 블레이드의 myVM** 가상 머신을 참조하는 **행의 오른쪽에서 줄임표(...)** 단추를 클릭하고 **제거**를 클릭한 **다음 예를** 클릭합니다**. + + >**참고:** VM이 **Just-In-Time VM**에 나열되지 않은 경우 **Virutal Machine** 블레이드로 이동하여 **구성**을 클릭하고 **Just-In-Time VM 액세스**에서 **Just-In-Time VM 사용** 옵션을 클릭합니다. 위의 단계를 반복하여 **클라우드용 Microsoft Defender**로 다시 이동하고 페이지를 새로 고치면 VM이 표시됩니다. + +5. Azure Portal에서 페이지 상단에 있는 **리소르, 서비스 및 문서 검색** 텍스트 상자에서 **활동 로그**를 입력하고 **Enter** 키를 누릅니다. + +6. **활동 로그** 블레이드로 이동하고 **JIT 네트워크 액세스 정책 삭제** 항목을 메모합니다. + + >**참고**: 표시되는 데 몇 분 정도 걸릴 수 있습니다. **페이지가 표시되지 않으면 새로 고칩니다** . + +7. Azure Portal에서 **Microsoft Sentinel \| 개요** 블레이드로 다시 이동합니다. + +8. **Microsoft Sentinel \| 개요** 블레이드에서 대시보드를 검토하고 Just-In-Time VM 액세스 정책 삭제에 해당하는 인시던트가 표시되는지 확인합니다. + + >**참고**: **Microsoft Sentinel \| 개요** 블레이드에 경고가 표시되려면 최대 5분이 소요될 수 있습니다. 해당 시점에 경고가 표시되지 않는 경우 이전 작업에서 참조된 쿼리 규칙을 실행하여 Just-In-Time 액세스 정책 삭제 작업이 Microsoft Sentinel 인스턴스와 연결된 Log Analytics 작업 영역으로 전파되었는지 확인합니다. 그렇지 않은 경우 Just-In-Time VM 액세스 정책을 다시 만들고 다시 삭제합니다. + +9. **Microsoft Sentinel \| 개요** 블레이드의 **위협 관리** 섹션에서 **인시던트**를 클릭합니다. + +10. 블레이드에 중간 또는 높은 심각도 수준의 인시던트가 표시되었는지 확인합니다. + + >**참고**: **Microsoft Sentinel \| 인시던트** 블레이드에 인시던트가 표시되려면 최대 5분이 소요될 수 있습니다. + + >**참고**: **Microsoft Sentinel \| 플레이북** 블레이드를 검토합니다. 그곳에서 성공한 실행과 실패한 실행의 횟수를 확인할 수 있습니다. + + >**참고**: 인시던트에 다른 심각도 수준 및 상태를 할당할 수 있는 옵션이 있습니다. + +> 결과: Microsoft Sentinel 작업 영역을 만들고, Azure 활동 로그에 연결하고, Just-In-Time VM 액세스 정책 제거에 대한 응답으로 트리거되는 플레이북 및 사용자 지정 경고를 만들고, 구성이 유효한지 확인했습니다. + +**리소스 정리** + +> 더 이상 사용하지 않는 새로 만든 Azure 리소스는 모두 제거하세요. 사용하지 않는 리소스를 제거하면 예상하지 못한 비용이 발생하지 않습니다. + +1. Azure Portal 오른쪽 위의 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. 메시지가 표시되면 **PowerShell**, 그리고 **스토리지 만들기**를 클릭합니다. + +2. Cloud Shell 창의 왼쪽 위 모서리에 있는 드롭다운 메뉴에서 **PowerShell**이 선택되었는지 확인합니다. + +3. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 이 랩에서 만든 리소스 그룹을 제거합니다. + + ```powershell + Remove-AzResourceGroup -Name "AZ500LAB131415" -Force -AsJob + ``` +4. **Cloud Shell** 창을 닫습니다. diff --git a/Instructions/Labs/LAB_13_SecuringAzureStorage.MD b/Instructions/Labs/LAB_13_SecuringAzureStorage.MD new file mode 100644 index 0000000..dd8d7fe --- /dev/null +++ b/Instructions/Labs/LAB_13_SecuringAzureStorage.MD @@ -0,0 +1,502 @@ +--- +lab: + title: ' 13 - 서비스 엔드포인트 및 스토리지 보안' + module: Module 03 - Secure data and applications +--- + +# 랩 13: 서비스 엔드포인트 및 스토리지 보안 +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +Azure 파일 공유 보안을 보여 주는 개념 증명을 만들라는 요청을 받았습니다. 특히 다음을 수행해야 합니다. + +- Azure Storage로 향하는 트래픽이 항상 Azure 백본 네트워크 내에 유지되도록 스토리지 엔드포인트를 만듭니다. +- 특정 서브넷의 리소스만 스토리지에 액세스할 수 있도록 스토리지 엔드포인트를 구성합니다. +- 특정 서브넷 외부의 리소스가 스토리지에 액세스할 수 없는지 확인합니다. + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다. + +- 연습 1: 서비스 엔드포인트 및 보안 스토리지 + +## 서비스 엔드포인트 및 스토리지 보안 다이어그램 + +![이미지](https://user-images.githubusercontent.com/91347931/157534883-29664a05-85d1-4c70-99a7-f16d2360755d.png) + +## 지침 + +### 연습 1: 서비스 엔드포인트 및 보안 스토리지 + +### 예상 소요 시간: 45분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: 가상 네트워크 만들기 +- 작업 2: 가상 네트워크에 서브넷 추가 및 스토리지 엔드포인트 구성 +- 작업 3: 서브넷에 대한 액세스를 제한하도록 네트워크 보안 그룹 구성 +- 작업 4: 공용 서브넷에서 rdp를 허용하도록 네트워크 보안 그룹 구성 +- 작업 5: 파일 공유를 통해 스토리지 계정 만들기 +- 작업 6: 지정된 서브넷에 가상 머신 배포 +- 작업 7: 프라이빗 서브넷에서 스토리지 연결을 테스트하여 액세스가 허용되는지 확인 +- 작업 8: 공용 서브넷에서 스토리지 연결을 테스트하여 액세스가 거부되는지 확인 + +#### 작업 1: 가상 네트워크 만들기 + +이 작업에서는 가상 네트워크를 만듭니다. + +1. Azure portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에 사용 중인 Azure 구독에 Owner 또는 Contributor 역할이 있는 계정을 사용하여 Azure Portal에 로그인합니다. + +2. Azure Portal 내 Azure Portal 페이지 상단의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **가상 네트워크**를 입력하고 **Enter** 키를 누릅니다. + +3. **가상 네트워크** 블레이드에서  **+ 만들기**를 클릭합니다. + +4. **가상 네트워크 만들기** 블레이드의 **기본** 탭에서 다음 설정을 지정하고(다른 설정은 기본값으로 둡니다) **다음: IP 주소**를 클릭합니다. + + |설정|값| + |---|---| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |Resource group|**새로 만들기**를 클릭하고 **AZ500LAB12**를 이름으로 입력합니다.| + |이름|**myVirtualNetwork**| + |지역|**(미국) 미국 동부**| + +5. 가상 네트워크** 만들기 블레이드의 **IP 주소** 탭에서 IPv4 주소 공간을** **10.0.0.0/16**으로 설정하고 **서브넷 이름** 열에서 **기본값**을 클릭하고 **서브넷** 편집 블레이드에서 **다음 설정을 지정하고 저장**을 클릭합니다**.** + + |설정|값| + |---|---| + |서브넷 이름|**공용**| + |서브넷 주소 범위|**10.0.0.0/24**| + +6. 다시 **가상 네트워크 만들기** 블레이드의 **IP 주소** 탭에서 **검토 + 만들기**를 클릭합니다. + +7. **가상 네트워크 만들기** 블레이드의 **검토 + 만들기** 탭에서 **만들기**를 클릭합니다. + +#### 작업 2: 가상 네트워크에 서브넷 추가 및 스토리지 엔드포인트 구성 + +이 작업에서는 다른 서브넷을 만들고 해당 서브넷에서 서비스 엔드포인트를 사용하도록 설정합니다. 서비스 엔드포인트는 서비스 단위, 서브넷 단위로 활성화됩니다. + +1. Azure Portal에서 Virtual Networks** 블레이드로 **다시 이동합니다. + +2. 가상 네트워크 블레이드에서 **myVirtualNetwork** 항목을 클릭합니다**.** + +3. **myVirtualNetwork** 블레이드의 **설정** 섹션에서 서브넷을** 클릭합니다**. + +4. **myVirtualNetwork \| 서브넷** 블레이드에서 **+ 서브넷**을 클릭합니다. + +5. 서브넷** 추가 블레이드에서 **다음 설정을 지정합니다(다른 설정은 기본값으로 유지). + + |설정|값| + |---|---| + |서브넷 이름|**프라이빗** + | + |서브넷 주소 범위|**10.0.1.0/24**| + |서비스 엔드포인트|**Microsoft.Storage**| + +6. 서브넷** 추가 블레이드에서 **저장**을 클릭하여 **새 서브넷을 추가합니다. + + >**참고**: 이제 가상 네트워크에는 공용 및 프라이빗이라는 두 개의 서브넷이 있습니다. + +#### 작업 3: 서브넷에 대한 액세스를 제한하도록 네트워크 보안 그룹 구성 + +이 작업에서는 두 개의 아웃바운드 보안 규칙(스토리지 및 인터넷)과 하나의 RDP(인바운드 보안 규칙)가 있는 네트워크 보안 그룹을 만듭니다. 또한 네트워크 보안 그룹을 프라이빗 서브넷과 연결합니다. 이렇게 하면 해당 서브넷에 연결된 Azure VM의 아웃바운드 트래픽이 제한됩니다. + +1. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **네트워크 보안 그룹**을 입력하고 **Enter** 키를 누릅니다. + +2. **네트워크 보안 그룹** 블레이드에서 **+ 만들기**를 클릭합니다. + +3. **네트워크 보안 그룹 만들기** 블레이드의 **기본** 탭에서 다음 설정을 지정합니다. + + |설정|값| + |---|---| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |Resource group|**AZ500LAB12**| + |이름|**myNsgPrivate**| + |지역|**미국 동부**| + +4. **검토 + 만들기**를 클릭한 다음, **만들기**를 클릭합니다. + + >**참고**: 다음 단계에서는 Azure Storage 서비스에 대한 통신을 허용하는 아웃바운드 보안 규칙을 만듭니다. + +5. Azure Portal에서 네트워크 보안 그룹 블레이드로 **돌아가서 myNsgPrivate** 항목을 클릭합니다**.** + +6. **myNsgPrivate** 블레이드의 **설정** 섹션에서 아웃바운드 보안 규칙을** 클릭합니다**. + +7. **myNsgPrivate \| 아웃바운드 보안 규칙** 블레이드에서 **+ 추가**를 클릭합니다. + +8. **아웃바운드 보안 규칙** 추가 블레이드에서 다음 설정을 지정하여 Azure Storage에 대한 아웃바운드 트래픽을 명시적으로 허용합니다(다른 모든 값은 기본 설정으로 유지). + + |설정|값| + |---|---| + |원본|**서비스 태그**| + |원본 서비스 태그|**VirtualNetwork**| + |원본 포트 범위|**\***| + |대상|**서비스 태그**| + |대상 서비스 태그|**스토리지**| + |대상 포트 범위|**\***| + |프로토콜|**모두**| + |작업|**허용**| + |우선 순위|**1000**| + |이름|**Allow-Storage-All**| + +9. **아웃바운드 보안 규칙** 추가 블레이드에서 추가**를 클릭하여 **새 아웃바운드 규칙을 만듭니다. + +10. myNsgPrivate** 블레이드의 **설정** 섹션에서 아웃바운드 보안 규칙을** 클릭한 **다음 + 추가**를 클릭합니다**.** + +11. **아웃바운드 보안 규칙** 추가 블레이드에서 다음 설정을 지정하여 인터넷에 대한 아웃바운드 트래픽을 명시적으로 거부합니다(다른 모든 값은 기본 설정으로 유지). + + |설정|값| + |---|---| + |원본|**서비스 태그**| + |원본 서비스 태그|**VirtualNetwork**| + |원본 포트 범위|**\***| + |대상|**서비스 태그**| + |대상 서비스 태그|**인터넷**| + |대상 포트 범위|**\***| + |프로토콜|**모두**| + |작업|**Deny**| + |우선 순위|**1100**| + |이름|**Deny-Internet-All**| + + >**참고**: 이 규칙은 아웃바운드 인터넷 통신을 허용하는 모든 네트워크 보안 그룹의 기본 규칙을 재정의합니다. + + >**참고**: 다음 단계에서는 서브넷에 대한 RDP(원격 데스크톱 프로토콜) 트래픽을 허용하는 인바운드 보안 규칙을 만듭니다. 이 규칙은 인터넷의 모든 인바운드 트래픽을 거부하는 기본 보안 규칙을 재정의합니다. 이후 단계에서 연결을 테스트할 수 있도록 서브넷에 대한 원격 데스크톱 연결이 허용됩니다. + +12. **myNsgPrivate** 블레이드의 **설정** 섹션에서 **인바운드 보안 규칙**을 클릭한 다음 **+ 추가**를 클릭합니다. + +13. **인바운드 보안 규칙** 추가 블레이드에서 다음 설정을 지정합니다(다른 모든 값은 기본값으로 유지). + + |설정|값| + |---|---| + |원본|**임의**| + |원본 포트 범위|**\***| + |대상|**서비스 태그**| + |대상 서비스 태그|**VirtualNetwork**| + |대상 포트 범위|**3389**| + |프로토콜|**TCP**| + |작업|**허용**| + |우선 순위|**1200**| + |이름|**Allow-RDP-All**| + +14. **인바운드 보안 규칙 추가** 블레이드에서 **추가**를 클릭하여 새 인바운드 규칙을 만듭니다. + + >**참고**: 이제 네트워크 보안 그룹을 프라이빗 서브넷과 연결합니다. + +15. 서브넷 블레이드에서 **+ 연결을** 선택하고 **서브넷**** 연결 섹션에서 다음 설정을 **지정한 다음 확인을** 클릭합니다**. + + |설정|값| + |---|---| + |가상 네트워크|**myVirtualNetwork**| + |서브넷|**프라이빗** + | + +#### 작업 4: 공용 서브넷에서 rdp를 허용하도록 네트워크 보안 그룹 구성 + +이 작업에서는 하나의 인바운드 보안 규칙(RDP)이 있는 네트워크 보안 그룹을 만듭니다. 또한 네트워크 보안 그룹을 공용 서브넷과 연결합니다. 이렇게 하면 공용 VM에 대한 RDP 액세스가 허용됩니다. + +1. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **네트워크 보안 그룹**을 입력하고 **Enter** 키를 누릅니다. + +2. **네트워크 보안 그룹** 블레이드에서 **+ 만들기**를 클릭합니다. + +3. **네트워크 보안 그룹 만들기** 블레이드의 **기본** 탭에서 다음 설정을 지정합니다. + + |설정|값| + |---|---| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |Resource group|**AZ500LAB12**| + |이름|**myNsgPublic**| + |지역|**미국 동부**| + +4. **검토 + 만들기**를 클릭한 다음, **만들기**를 클릭합니다. + + >**참고**: 다음 단계에서는 Azure Storage 서비스에 대한 통신을 허용하는 아웃바운드 보안 규칙을 만듭니다. + +5. Azure 포털에서 **네트워크 보안 그룹** 블레이드로 돌아가 **myNsgPublic** 항목을 클릭합니다. + +6. myNsgPublic** 블레이드의 **설정** 섹션에서 인바운드 보안 규칙을** 클릭한 **다음 + 추가**를 클릭합니다**.** + +7. **인바운드 보안 규칙** 추가 블레이드에서 다음 설정을 지정합니다(다른 모든 값은 기본값으로 유지). + + |설정|값| + |---|---| + |원본|**임의**| + |원본 포트 범위|**\***| + |대상|**서비스 태그**| + |대상 서비스 태그|**VirtualNetwork**| + |대상 포트 범위|**3389**| + |프로토콜|**TCP**| + |작업|**허용**| + |우선 순위|**1200**| + |이름|**Allow-RDP-All**| + +8. **인바운드 보안 규칙 추가** 블레이드에서 **추가**를 클릭하여 새 인바운드 규칙을 만듭니다. + + >**참고**: 이제 네트워크 보안 그룹을 공용 서브넷과 연결합니다. + +9. 서브넷 블레이드에서 **+ 연결을** 선택하고 **서브넷**** 연결 섹션에서 다음 설정을 **지정한 다음 확인을** 클릭합니다**. + + |설정|값| + |---|---| + |가상 네트워크|**myVirtualNetwork**| + |서브넷|**공용**| + +#### 작업 5: 파일 공유를 통해 스토리지 계정 만들기 + +이 작업에서는 파일 공유를 사용하여 스토리지 계정을 만들고 스토리지 계정 키를 가져옵니다. + +1. Azure Portal 페이지의 맨 위에 있는 **리소스, 서비스 및 문서** 검색 텍스트 상자에 Storage 계정을** 입력**하고 Enter** 키를 누릅니**다. + +2. **스토리지 계정** 블레이드에서  **+ 만들기**를 클릭합니다. + +3. **스토리지 계정 만들기** 블레이드의 **기본** 탭에서 다음 설정을 지정합니다(나머지는 기본값을 그대로 유지). + + |설정|값| + |---|---| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |Resource group|**AZ500LAB12**| + |스토리지 계정 이름|3~24자 사이의 문자와 숫자로 구성된 전역적으로 고유한 이름| + |위치|**(미국) 미국 동부**| + |성능|**표준(범용 v2 계정)**| + |다시 배포|**LRS(로컬 중복 스토리지)**| + +4. **스토리지 계정** 만들기 블레이드의 **기본 사항** 탭에서 검토 + 만들기**를 클릭하고 **유효성 검사 프로세스가 완료되기를 기다렸다가 만들기**를 클릭합니다**. + + >**참고**: 스토리지 계정이 만들어질 때까지 기다립니다. 이 작업은 2분 정도 걸립니다. + +5. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **리소스 그룹**을 입력하고 **Enter** 키를 누릅니다. + +6. **리소스 그룹** 블레이드의 리소스 그룹 목록에서 **AZ500LAB12** 항목을 클릭합니다. + +7. **AZ500LAB12** 리소스 그룹 블레이드의 리소스 목록에서 새로 만든 스토리지 계정을 나타내는 항목을 클릭합니다. + +8. 스토리지 계정 **개요** 블레이드에서 **데이터 스토리지** 탭 아래의 **파일 공유**를 클릭한 다음 **+ 파일 공유**를 클릭합니다. + +9. 새 파일 공유 블레이드의 **백업 탭에서 백업** 사용 옵션을 선택 취소 **** 합니다. + +10. 새 파일 공유** 블레이드에서 **다음 설정을 지정합니다. + + |설정|값| + |---|---| + |속성|**my-file-share**| + +11. 새 파일 공유 블레이드에서 **만들기**를 클릭합니다**.** + + >**참고**: 이제 Azure 파일 공유에 대한 드라이브 매핑을 만드는 PowerShell 스크립트를 검색하고 기록합니다. + +12. 스토리지 계정 블레이드의 파일 공유 목록에서 내 파일 공유**를 클릭합니다**. + +13. **내 파일 공유** 블레이드에서 커넥트** 클릭합니다**. + +14. **커넥트** 블레이드의 **Windows** 탭에서 파일 공유에 대한 Z 드라이브 매핑을 만드는 PowerShell 스크립트를 복사합니다. + + >**참고**: 이 스크립트를 기록합니다. 프라이빗** 서브넷의 Azure 가상 머신**에서 파일 공유를 매핑하려면 이 랩의 뒷부분에서 필요합니다. + +15. 스토리지 계정 블레이드로 다시 이동한 다음 **보안 + 네트워킹** 섹션에서 네트워킹을** 클릭합니다**. + +16. **방화벽 및 가상 네트워크** 블레이드 아래에서 **선택한 가상 네트워크 및 IP 주소에서 사용** 옵션을 선택하고 **+ 기존 가상 네트워크 추가** 링크를 클릭합니다. + +17. 네트워크** 추가 블레이드에서 **다음 설정을 지정합니다. + + |설정|값| + |---|---| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |가상 네트워크|**myVirtualNetwork**| + |서브넷|**프라이빗** + | + +18. 네트워크 추가 블레이드에서 **추가**를 클릭합니다**.** + +19. 스토리지 계정 블레이드로 돌아가서 저장**을 클릭합니다**. + + >**참고**: 랩의 이 시점에서 가상 네트워크, 네트워크 보안 그룹 및 파일 공유가 있는 스토리지 계정을 구성했습니다. + +#### 작업 6: 지정된 서브넷에 가상 머신 배포 + +이 작업에서는 프라이빗 서브넷에 하나씩, 공용 서브넷에 하나씩 두 개의 가상 머신을 만듭니다. + +>**참고**: 첫 번째 가상 머신은 프라이빗 서브넷에 연결됩니다. + +1. Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **가상 머신**을 입력하고 **Enter** 키를 누릅니다. + +2. **가상 머신** 창에서 **+ 만들기**를 클릭하고 드롭다운 목록에서 **+ Azure 가상 머신**을 클릭합니다. + +3. **가상 머신 만들기** 블레이드의 **기본 사항** 탭에서 다음 설정을 지정합니다(나머지는 기본값을 그대로 사용). + + |설정|값| + |---|---| + |구독|이 랩에서 사용할 Azure 구독의 이름| + |Resource group|**AZ500LAB12**| + |가상 머신 이름|**myVmPrivate**| + |지역|**(미국)미국 동부**| + |이미지|**Windows Server 2022 Datacenter: Azure Edition - Gen 2**| + |사용자 이름|**localadmin**| + |암호|**랩 04 > 연습 1 > 작업 1 > 9단계에서 만든 개인 암호를 사용하세요.**| + |공용 인바운드 포트|**없음**| + |이미 Windows Server 라이선스가 있으신가요?|**선택되지 않음**| + + >**참고**: 공용 인바운드 포트의 경우 미리 만들어진 NSG에 의존합니다. + +4. **다음: 디스크 >** 를 클릭하고, **가상 머신 만들기** 블레이드의 **디스크** 탭에서 **OS 디스크 유형**을 **표준 HDD**로 설정하고 **다음: 네트워킹 >** 을 선택합니다. + +5. 다음을 클릭합니다 **. 네트워킹 >** 가상 머신** 만들기 블레이드의 **네트워킹** 탭에서 **다음 설정을 지정합니다(다른 설정은 기본값으로 유지). + + |설정|값| + |---|---| + |가상 네트워크|**myVirtualNetwork**| + |서브넷|**개인(10.0.1.0/24)**| + |공용 IP|**(new)myVmPrivate-ip**| + |NIC 네트워크 보안 그룹 추가|**없음**| + +6. **다음: 관리 >** 가상 머신** 만들기 블레이드의 **관리** 탭에서 **기본 설정을 적용하고 검토 + 만들기**를 클릭합니다**. + +7. 검토 + 만들기 블레이드에서 **유효성 검사가 성공했는지 확인하고 만들기**를 클릭합니다**.** + + >**참고**: 두 번째 가상 머신은 공용 서브넷에 연결됩니다. + +8. **가상 머신** 창에서 **+ 추가**를 클릭하고 드롭다운 목록에서 **+ Azure 가상 머신**을 클릭합니다. + +9. **가상 머신 만들기** 블레이드의 **기본 사항** 탭에서 다음 설정을 지정합니다(나머지는 기본값을 그대로 사용). + + |설정|값| + |---|---| + |구독|이 랩에서 사용할 Azure 구독의 이름| + |Resource group|**AZ500LAB12**| + |가상 머신 이름|**myVmPublic**| + |지역|**(미국)미국 동부**| + |이미지|**Windows Server 2022 Datacenter: Azure Edition - Gen 2**| + |사용자 이름|**localadmin**| + |암호|**랩 04 > 연습 1 > 작업 1 > 9단계에서 만든 개인 암호를 사용하세요.**| + |공용 인바운드 포트|**없음**| + |이미 Windows Server 라이선스가 있으신가요?|**선택되지 않음**| + + >**참고**: 공용 인바운드 포트의 경우 미리 만들어진 NSG에 의존합니다. + +10. **다음: 디스크 >** 를 클릭하고, **가상 머신 만들기** 블레이드의 **디스크** 탭에서 **OS 디스크 유형**을 **표준 HDD**로 설정하고 **다음: 네트워킹 >** 을 선택합니다. + +11. 다음을 클릭합니다 **. 네트워킹 >** 가상 머신** 만들기 블레이드의 **네트워킹** 탭에서 **다음 설정을 지정합니다(다른 설정은 기본값으로 유지). + + |설정|값| + |---|---| + |가상 네트워크|**myVirtualNetwork**| + |서브넷|**공용(10.0.0.0/24)**| + |공용 IP|**(new)myVmPublic-ip**| + |NIC 네트워크 보안 그룹 추가|**없음**| + +12. **다음: 관리 >** 가상 머신** 만들기 블레이드의 **관리** 탭에서 **기본 설정을 적용하고 검토 + 만들기**를 클릭합니다**. + +13. 검토 + 만들기 블레이드에서 **유효성 검사가 성공했는지 확인하고 만들기**를 클릭합니다**.** + + >**참고**: myVMPrivate** Azure VM의 **배포가 완료되면 다음 작업을 계속할 수 있습니다. + +#### 작업 7: 프라이빗 서브넷에서 스토리지 연결을 테스트하여 액세스가 허용되는지 확인 + +이 작업에서는 원격 데스크톱을 통해 myVMPrivate 가상 머신에 연결하고 드라이브를 파일 공유에 매핑합니다. + +1. 가상 머신** 블레이드로 **다시 이동합니다. + +2. 가상 머신 블레이드에서 **myVMPrivate** 항목을 클릭합니다**.** + +3. myVMPrivate 블레이드에서 **커넥트** 클릭하고 **드롭다운 메뉴에서 RDP**를 클릭합니다**.** + +4. RDP 파일** 다운로드를 클릭하고 **이를 사용하여 원격 데스크톱을 **통해 myVMPrivate** Azure VM에 연결합니다. 인증하라는 메시지가 표시되면 다음 자격 증명을 입력합니다. + + |설정|값| + |---|---| + |사용자 이름|**localadmin**| + |암호|**랩 04 > 연습 1 > 작업 1 > 9단계에서 만든 개인 암호를 사용하세요.**| + + >**참고**: 원격 데스크톱 세션이 열릴 때까지 기다렸다가 로드할 서버 관리자. + + >**참고**: 이제 원격 데스크톱 세션 내의 Azure 파일 공유에 드라이브 Z를 Windows Server 2022 컴퓨터에 매핑합니다. + +5. myVMPrivate에 대한 **원격 데스크톱 세션 내에서 시작을** 클릭한 **다음 Windows PowerShell ISE**를 클릭합니다**.** + +6. **Windows PowerShell ISE** 창 내에서 스크립트** 창을 연 **다음, 이 랩의 앞부분에서 기록한 PowerShell 스크립트를 붙여넣고 실행합니다. 스크립트의 형식은 다음과 같습니다. + + ```powershell + $connectTestResult = Test-NetConnection -ComputerName .file.core.windows.net -Port 445 + if ($connectTestResult.TcpTestSucceeded) { + # Save the password so the drive will persist on reboot + cmd.exe /C "cmdkey /add:`".file.core.windows.net`" /user:`"localhost\`" /pass:`"`"" + # Mount the drive + New-PSDrive -Name Z -PSProvider FileSystem -Root "\\.file.core.windows.net\my-file-share" -Persist + } else { + Write-Error -Message "Unable to reach the Azure storage account via port 445. Check to make sure your organization or ISP is not blocking port 445, or use Azure P2S VPN, Azure S2S VPN, or Express Route to tunnel SMB traffic over a different port." + } + ``` + >**참고**: `` 자리 표시자는 파일 공유 `` 를 호스팅하는 스토리지 계정의 이름과 기본 키 하나를 나타냅니다. + +7. 파일 탐색기 시작하고 Z: 드라이브 매핑이 성공적으로 만들어졌는지 확인합니다. + +8. 다음으로, Windows PowerShell ISE** 콘솔의 **콘솔 창에서 다음을 실행하여 가상 머신에 인터넷에 대한 아웃바운드 연결이 없는지 확인합니다. + + ```powershell + Test-NetConnection -ComputerName www.bing.com -Port 80 + ``` + + >**참고**: 프라이빗 서브넷과 연결된 네트워크 보안 그룹이 인터넷에 대한 아웃바운드 액세스를 허용하지 않으므로 테스트가 실패합니다. + +9. myVMPrivate** Azure VM에 대한 **원격 데스크톱 세션을 종료합니다. + + >**참고**: 이 시점에서 프라이빗 서브넷의 가상 머신이 스토리지 계정에 액세스할 수 있음을 확인했습니다. + +#### 작업 8: 공용 서브넷에서 스토리지 연결을 테스트하여 액세스가 거부되는지 확인 + +1. 가상 머신** 블레이드로 **다시 이동합니다. + +2. 가상 머신 블레이드에서 **myVMPublic** 항목을 클릭합니다**.** + +3. myVMPublic 블레이드에서 **커넥트** 클릭하고 **드롭다운 메뉴에서 RDP**를 클릭합니다**.** + +4. RDP 파일** 다운로드를 클릭하고 **이를 사용하여 원격 데스크톱을 **통해 myVMPublic** Azure VM에 연결합니다. 인증하라는 메시지가 표시되면 다음 자격 증명을 입력합니다. + + |설정|값| + |---|---| + |사용자 이름|**localadmin**| + |암호|**랩 04 > 연습 1 > 작업 1 > 9단계에서 만든 개인 암호를 사용하세요.**| + + >**참고**: 원격 데스크톱 세션이 열릴 때까지 기다렸다가 로드할 서버 관리자. + + >**참고**: 이제 원격 데스크톱 세션 내의 Azure 파일 공유에 드라이브 Z를 Windows Server 2022 컴퓨터에 매핑합니다. + +5. myVMPublic에 대한 **원격 데스크톱 세션 내에서 시작을** 클릭한 **다음 Windows PowerShell ISE**를 클릭합니다**.** + +6. **Windows PowerShell ISE** 창 내에서 스크립트** 창을 연 **다음 원격 데스크톱 세션 내에서 실행한 것과 동일한 PowerShell 스크립트를 myVMPrivate** Azure VM에 **붙여넣고 실행합니다. + + >**참고**: 이번에는 New-PSDrive: 액세스 거부** 오류가 표시됩니다**. + + >**참고**: myVmPublic* 가상 머신이 공용 서브넷에 배포되어 액세스가 거부*되었습니다. 공용 서브넷에는 Azure Storage에 대해 사용하도록 설정된 서비스 엔드포인트가 없습니다. 스토리지 계정은 프라이빗 서브넷의 네트워크 액세스만 허용합니다. + +7. 다음으로, Windows PowerShell ISE** 콘솔의 **콘솔 창에서 다음을 실행하여 가상 머신에 인터넷에 대한 아웃바운드 연결이 있는지 확인합니다. + + ```powershell + Test-NetConnection -ComputerName www.bing.com -Port 80 + ``` + + >**참고**: 공용 서브넷에서 인터넷을 거부하는 아웃바운드 보안 규칙이 없으므로 테스트가 성공합니다. + +8. myVMPublic** Azure VM에 대한 **원격 데스크톱 세션을 종료합니다. + + >**참고**: 이 시점에서 공용 서브넷의 가상 머신이 스토리지 계정에 액세스할 수 없지만 인터넷에 액세스할 수 있음을 확인했습니다. + + +**리소스 정리** + +> 더 이상 사용하지 않는 새로 만든 Azure 리소스는 모두 제거하세요. 사용하지 않는 리소스를 제거하면 예상하지 못한 비용이 발생하지 않습니다. + +1. Azure Portal 오른쪽 상단에 있는 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. 메시지가 표시되면 **PowerShell** 및 **스토리지 만들기**를 선택합니다. + +2. Cloud Shell 창의 왼쪽 위 모서리에 있는 드롭다운 메뉴에서 **PowerShell**이 선택되었는지 확인합니다. + +3. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 이 랩에서 만든 리소스 그룹을 제거합니다. + + ```powershell + Remove-AzResourceGroup -Name "AZ500LAB12" -Force -AsJob + ``` + +4. **Cloud Shell** 창을 닫습니다. + diff --git a/Instructions/Labs/LAB_14_Azure Monitor.md b/Instructions/Labs/LAB_14_Azure Monitor.md new file mode 100644 index 0000000..ce28b81 --- /dev/null +++ b/Instructions/Labs/LAB_14_Azure Monitor.md @@ -0,0 +1,213 @@ +--- +lab: + title: 14 - Azure Monitor + module: Module 04 - Manage security operations +--- + +# 랩 14: Azure Monitor + +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +Azure Monitor 에이전트를 사용하여 가상 머신에서 이벤트 및 성능 카운터를 수집하라는 요청을 받았습니다. + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다: + +- 연습 1: Azure 가상 머신 배포 +- 연습 2: Log Analytics 작업 영역 만들기 +- 연습 3: Azure Storage 계정 만들기 +- 연습 4: 데이터 콜렉션 규칙을 만듭니다. + +## 지침 + +### 연습 1: Azure 가상 머신 배포 + +### 운동 타이밍: 10분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: Azure 가상 머신을 배포합니다. + +#### 작업 1: Azure 가상 머신 배포 + +1. Azure portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에 사용 중인 Azure 구독에 Owner 또는 Contributor 역할이 있는 계정을 사용하여 Azure Portal에 로그인합니다. + +2. Azure Portal 오른쪽 상단에 있는 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. 메시지가 표시되면 **PowerShell** 및 **스토리지 만들기**를 선택합니다. + +3. Cloud Shell 창의 왼쪽 위 모서리에 있는 드롭다운 메뉴에서 **PowerShell**이 선택되었는지 확인합니다. + +4. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 이 랩에서 사용할 리소스 그룹을 만듭니다. + + ```powershell + New-AzResourceGroup -Name AZ500LAB131415 -Location 'EastUS' + ``` + + >**참고**: 이 리소스 그룹은 랩 13, 14 및 15에 사용됩니다. + +5. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 새 Azure 가상 머신을 만듭니다. + + ```powershell + New-AzVm -ResourceGroupName "AZ500LAB131415" -Name "myVM" -Location 'EastUS' -VirtualNetworkName "myVnet" -SubnetName "mySubnet" -SecurityGroupName "myNetworkSecurityGroup" -PublicIpAddressName "myPublicIpAddress" -PublicIpSku Standard -OpenPorts 80,3389 -Size Standard_DS1_v2 + ``` + +6. 자격 증명에 대한 메시지가 표시되면: + + |설정|값| + |---|---| + |사용자 |**localadmin**| + |암호|**랩 04 > 연습 1 > 작업 1 > 9단계에서 만든 개인 암호를 사용하세요.**| + + >**참고**: 배포가 완료될 때까지 기다립니다. + +7. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 **myVM**이라는 가상 머신이 생성되고 해당 **ProvisioningState**가 **성공**인지 확인합니다. + + ```powershell + Get-AzVM -Name 'myVM' -ResourceGroupName 'AZ500LAB131415' | Format-Table + ``` + +8. Cloud Shell 창을 닫습니다. + +### 연습 2: Log Analytics 작업 영역 만들기 + +### 운동 타이밍: 10분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: Log Analytics 작업 영역을 만듭니다. + +#### 작업 1: Log Analytics 작업 영역 만들기 + +이 작업에서는 Log Analytics 작업 영역을 만듭니다. + +1. Azure Portal에서 Azure Portal 페이지 위쪽의 **검색 리소스, 서비스 및 문서** 텍스트 상자에서 **Log Analytics 작업 영역**을 입력하고 **Enter** 키를 누릅니다. + +2. **Log Analytics 작업 영역** 블레이드에서  **+ 만들기**를 클릭합니다. + +3. **Log Analytics 작업 영역 만들기** 블레이드의 **기본** 탭에서 다음 설정을 지정합니다(다른 설정을 기본값으로 남겨둡니다). + + |설정|값| + |---|---| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |리소스 그룹|**AZ500LAB131415**| + |이름|유효하며 전역적으로 고유한 이름| + |지역|**미국 동부**| + +4. **검토 + 만들기**를 선택합니다. + +5. **Log Analytics 작업 영역 만들기** 블레이드의 **검토 + 만들기** 탭에서 **만들기**를 클릭합니다. + +### 연습 3: Azure Storage 계정 만들기 + +### 예상 소요 시간: 10분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: Azure Storage 계정을 만듭니다. + +#### 작업 1: Azure Storage 계정 만들기 + +이 작업에서는 스토리지 계정을 만듭니다. + +1. Azure Portal 페이지의 맨 위에 있는 **리소스, 서비스 및 문서** 검색 텍스트 상자에 Storage 계정을** 입력**하고 Enter** 키를 누릅니**다. + +2. Azure Portal의 **Storage 계정** 블레이드에서 + 만들기** 단추를 클릭하여 **새 스토리지 계정을 만듭니다. + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/73eb9241-d642-455a-a1ff-b504670395c0) + +3. **스토리지 계정 만들기** 블레이드의 **기본** 탭에서 다음 설정을 지정합니다(나머지는 기본값을 그대로 유지). + + |설정|값| + |---|---| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |리소스 그룹|**AZ500LAB131415**| + |스토리지 계정 이름|3~24자 사이의 문자와 숫자로 구성된 전역적으로 고유한 이름| + |위치|**(미국) 미국 동부**| + |성능|**표준(범용 v2 계정)**| + |다시 배포|**LRS(로컬 중복 스토리지)**| + +4. 스토리지 계정** 만들기 블레이드의 기본 사항** 탭에서 **검토를** 클릭하고 **유효성 검사 프로세스가 완료되기를 기다린 다음 만들기**를 클릭합니다**.** + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/d443821c-2ddf-4794-87fa-bfc092980eba) + + >**참고**: 스토리지 계정이 만들어질 때까지 기다립니다. 이 작업은 2분 정도 걸립니다. + +### 연습 3: 데이터 수집 규칙 만들기 + +### 예상 소요 시간: 15분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: 데이터 수집 규칙을 만듭니다. + +#### 작업 1: 데이터 수집 규칙을 만듭니다. + +이 작업에서는 데이터 수집 규칙을 만듭니다. + +1. Azure Portal 페이지의 맨 위에 있는 **리소스, 서비스 및 문서** 검색 텍스트 상자에 Monitor**를 입력**하고 Enter** 키를 누릅니**다. + +2. **모니터 설정** 블레이드에서 데이터 수집 규칙을 클릭합니다 **.** + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/2184da69-12c2-476b-b2b2-b80620e822a6) + +3. **데이터 수집 규칙** 만들기 블레이드의 기본** 사항 탭에서 **다음 설정을 지정합니다. + + |설정|값| + |---|---| + |**규칙 세부 정보**| + |규칙 이름|**DCR1**| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |리소스 그룹|**AZ500LAB131415**| + |지역|**미국 동부**| + |플랫폼 유형|**Windows**| + |데이터 컬렉션 엔드포인트|*비워 둡니다.*| + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/9b58c4ce-b7a8-4acf-8289-d95b270a6083) + + +4. 다음: 리소스 > 레이블이 지정된 **단추를 클릭하여 계속 진행합니다** . + +5. 리소스 탭에서 **+ 리소스** 추가를 선택한 **다음, 데이터 수집 엔드포인트를 사용하도록 검사 **.**** + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/c8388619-c254-4c80-a1ff-dde2f35ed350) + +6. 다음: 수집 및 배달 >** 레이블이 지정된 **단추를 클릭하여 계속 진행합니다. + +7. + 데이터 원본** 추가를 클릭한 **다음 **데이터 원본** 추가 페이지에서 데이터 원본 유형** 드롭다운 메뉴를 변경**하여 성능 카운터를 표시**합니다.** 다음 기본 설정을 그대로 둡니다. + + |설정|값| + |---|---| + |**성능 카운터**|**샘플 속도(초)**| + |CPU|60| + |메모리|60| + |디스크|60| + |네트워크|60| + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/a24e44ad-1d10-4533-80e2-bae1b3f6564d) + +8. 다음: 대상 >** 레이블이 지정된 **단추를 클릭하여 계속 진행합니다. + +9. **대상 유형** 드롭다운 메뉴를 변경하여 Azure Monitor 로그를 표시**합니다.** **구독** 창에서 구독*이 *표시되는지 확인하고 이전에 만든 Log Analytics 작업 영역을 반영하도록 계정 또는 네임스페이스** 드롭다운 메뉴를 변경**합니다. + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/481843f5-94c4-4a8f-bf51-a10d49130bf8) + +10. 페이지 아래쪽에서 **데이터 원본** 추가를 클릭합니다. + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/964091e7-bbbc-4ca8-8383-bb2871a1e7f0) + +13. **검토 + 만들기**를 클릭합니다. + + ![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/50dd8407-a106-4540-9e14-ae40a3c04830) + +14. **만들기**를 클릭합니다. + +> 결과: Azure Monitor 에이전트를 사용하여 가상 머신에서 이벤트 및 성능 카운터를 수집하기 위해 Azure 가상 머신, Log Analytics 작업 영역, Azure Storage 계정 및 데이터 수집 규칙을 배포했습니다. + +>**참고**: 클라우드용 Microsoft Defender 랩 및 Microsoft Sentinel 랩에 필요하므로 이 랩에서 리소스를 제거하지 마세요. + diff --git a/Instructions/Labs/LAB_14_Microsoft Defender for Cloud.md b/Instructions/Labs/LAB_14_Microsoft Defender for Cloud.md new file mode 100644 index 0000000..a0f3972 --- /dev/null +++ b/Instructions/Labs/LAB_14_Microsoft Defender for Cloud.md @@ -0,0 +1,113 @@ +--- +lab: + title: 14 - 클라우드용 Microsoft Defender + module: Module 04 - Microsoft Defender for Cloud +--- + +# 랩 14: 클라우드용 Microsoft Defender +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +클라우드 기반 환경용 Microsoft Defender의 개념 증명을 만들라는 요청을 받았습니다. 특히 다음을 수행해야 합니다. + +- Azure 리소스를 모니터링하도록 클라우드용 Microsoft Defender를 구성합니다. +- 가상 머신을 위한 클라우드용 Microsoft Defender 권장 사항을 검토합니다. +- 게스트 구성 및 Just-In-Time VM 액세스에 대한 권장 사항을 구현합니다. +- 보안 점수를 사용하여 보다 안전한 인프라를 만드는 진행 상황을 확인하는 방법을 검토합니다. + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다. + +- 연습 1: 클라우드용 Microsoft Defender 구현 + +## 클라우드용 Microsoft Defender 다이어그램 + +![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/c31055cc-de95-41f6-adef-f09d756a68eb) + +## 지침 + +### 연습 1: 클라우드용 Microsoft Defender 구현 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: 클라우드용 Microsoft Defender 구성 +- 작업 2: 클라우드용 Microsoft Defender 권장 사항 검토 +- 작업 3: Just-In-Time VM 액세스를 사용하도록 설정하는 클라우드용 Microsoft Defender 권장 사항 구현 + +#### 작업 1: 클라우드용 Microsoft Defender 구성 + +이 작업에서는 클라우드용 Microsoft Defender를 온보딩하고 구성합니다. + +1. Azure portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에 사용 중인 Azure 구독에 Owner 또는 Contributor 역할이 있는 계정을 사용하여 Azure Portal에 로그인합니다. + +2. Azure Portal에서 페이지 위쪽에 있는 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **클라우드용 Microsoft Defender**을 입력하고 **Enter** 키를 누릅니다. + +3. 왼쪽 탐색 패널에서 [시작]을** 클릭합니다**. **클라우드용 Microsoft Defender \| 시작** 블레이드에서 업그레이드**를 클릭합니다**. + +4. **클라우드용 Microsoft Defender \| 시작** 블레이드의 에이전트 설치 탭에서 아래로 스크롤하여 에이전트 설치를** 클릭합니다**. + +5. 클라우드용 Microsoft Defender 시작 블레이드의 업그레이드** 탭 >>에서 향상된 보안 기능**으로 작업 영역 선택 섹션이 표시될 때까지 **아래로 스크롤한 >> Log Analytics 작업 영역을 선택하여 Microsoft Defender 계획을** 설정한 **다음 큰 파란색 업그레이드 단추를 클릭합니다.**** \| ** + + >**참고**: Microsoft Defender 계획의 일부로 사용할 수 있는 모든 기능을 검토합니다. + +6. 클라우드용 Microsoft Defender** 이동하고 **관리 섹션 아래의 왼쪽 탐색 패널에서 환경 설정** 클릭합니다**. + +7. **클라우드용 Microsoft Defender \| 환경 설정** 블레이드에서 아래로 스크롤하여 구독이 나타날 때까지 확장하고 관련 구독을 클릭합니다. + +8. 설정 Defender 계획** 블레이드에서 모든 계획** 사용을 선택하고 **필요한 경우 저장**을 클릭합니다**. \| ** + +9. 클라우드용 Microsoft Defender \| 환경 설정** 블레이드로 **돌아가서 구독이 나타날 때까지 확장하고 이전 랩에서 만든 Log Analytics 작업 영역을 나타내는 항목을 클릭합니다. + +10. **설정 \| Defender 계획** 블레이드에서 모든 옵션이 "켜기"되었는지 확인합니다. 필요한 경우 모든 계획 사용을 클릭한 **다음 저장**을 클릭합니다**.** + +11. 설정 \| Defender 계획** 블레이드에서 **데이터 컬렉션을** 선택합니다**. 모든 이벤트를** 클릭하고 ****저장**합니다. + +#### 작업 2: 클라우드용 Microsoft Defender 권장 사항 검토 + +이 작업에서는 클라우드용 Microsoft Defender 권장 사항을 검토합니다. + +1. Azure Portal에서 **클라우드용 Microsoft Defender\| 개요** 블레이드로 다시 이동합니다. + +2. **클라우드용 Microsoft Defender \| 개요** 블레이드에서 **보안 점수** 타일을 검토합니다. + + >**참고**: 사용 가능한 경우 현재 점수를 기록합니다. + +3. 클라우드용 Microsoft Defender \| 개요 블레이드로 **돌아가서 평가된 리소스를** 클릭합니다****. + +4. 인벤토리** 블레이드에서 **myVM** 항목을 클릭합니다**. + + >**참고**: 항목이 표시될 때까지 몇 분 정도 기다렸다가 브라우저 페이지를 새로 고쳐야 할 수 있습니다. + +5. 리소스 상태** 블레이드의 ****권장 사항** 탭에서 myVM**에 대한 **권장 사항 목록을 검토합니다. + +#### 작업 3: Just-In-Time VM 액세스를 사용하도록 설정하는 클라우드용 Microsoft Defender 권장 사항 구현 + +이 작업에서는 가상 머신에서 Just-In-Time VM 액세스를 사용하도록 설정하는 클라우드용 Microsoft Defender 권장 사항을 구현합니다. + +1. Azure Portal에서 클라우드용 Microsoft Defender 개요 블레이드로 **돌아가서 왼쪽 탐색 패널의 Cloud Security**에서 **워크로드 보호를** 클릭합니다**.** \| + +2. 클라우드용 Microsoft Defender 워크로드 보호** 블레이드에서 고급 보호** 섹션까지 **아래로 스크롤하고 Just-In-Time VM 액세스** 타일을 클릭합니다**. \| ** + +3. **Just-In-Time VM 액세스** 블레이드의 **가상 머신** 섹션에서 구성**되지 않음을 선택한 **다음 myVM** 항목에 대한 **검사 상자를 선택합니다. + + >**참고**: 몇 분 정도 기다렸다가 브라우저 페이지를 새로 고치고 항목이 표시되도록 구성되지 않음**을 다시 선택**해야 할 수 있습니다. + +4. **가상 머신** 섹션의 맨 오른쪽에 있는 **1 VM에서 JIT 사용** 옵션을 클릭합니다. + +5. **JIT VM 액세스 구성** 블레이드의 포트 **22**를 참조하는 행의 맨 오른쪽에 있는 줄임표 단추를 클릭한 다음 삭제**를 클릭합니다**. + +6. **JIT VM 액세스 구성** 블레이드에서 저장**을 클릭합니다**. + + >**참고**: 도구 모음에서 알림 아이콘을 클릭하고 알림 블레이드를** 확인**하여 **구성 진행률을 모니터링합니다**. + + >**참고**: 이 랩에서 권장 사항을 구현하는 데 보안 점수가 반영되려면 다소 시간이 걸릴 수 있습니다. 보안 점수를 주기적으로 검사 이러한 기능 구현의 영향을 확인합니다. + +> 결과: 온보더 클라우드용 Microsoft Defender 가상 머신 권장 사항을 구현했습니다. + + >**Note**: Do not remove the resources from this lab as they are needed for the Microsoft Sentinel lab. diff --git a/Instructions/Labs/LAB_15_Microsoft Defender for Cloud.md b/Instructions/Labs/LAB_15_Microsoft Defender for Cloud.md new file mode 100644 index 0000000..0698887 --- /dev/null +++ b/Instructions/Labs/LAB_15_Microsoft Defender for Cloud.md @@ -0,0 +1,113 @@ +--- +lab: + title: 15 - 클라우드용 Microsoft Defender + module: Module 04 - Microsoft Defender for Cloud +--- + +# 랩 15: 클라우드용 Microsoft Defender +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +클라우드 기반 환경용 Microsoft Defender의 개념 증명을 만들라는 요청을 받았습니다. 특히 다음을 수행해야 합니다. + +- Azure 리소스를 모니터링하도록 클라우드용 Microsoft Defender를 구성합니다. +- 가상 머신을 위한 클라우드용 Microsoft Defender 권장 사항을 검토합니다. +- 게스트 구성 및 Just-In-Time VM 액세스에 대한 권장 사항을 구현합니다. +- 보안 점수를 사용하여 보다 안전한 인프라를 만드는 진행 상황을 확인하는 방법을 검토합니다. + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다. + +- 연습 1: 클라우드용 Microsoft Defender 구현 + +## 클라우드용 Microsoft Defender 다이어그램 + +![이미지](https://user-images.githubusercontent.com/91347931/157537800-94a64b6e-026c-41b2-970e-f8554ce1e0ab.png) + +## 지침 + +### 연습 1: 클라우드용 Microsoft Defender 구현 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: 클라우드용 Microsoft Defender 구성 +- 작업 2: 클라우드용 Microsoft Defender 권장 사항 검토 +- 작업 3: Just-In-Time VM 액세스를 사용하도록 설정하는 클라우드용 Microsoft Defender 권장 사항 구현 + +#### 작업 1: 클라우드용 Microsoft Defender 구성 + +이 작업에서는 클라우드용 Microsoft Defender를 온보딩하고 구성합니다. + +1. Azure portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에 사용 중인 Azure 구독에 Owner 또는 Contributor 역할이 있는 계정을 사용하여 Azure Portal에 로그인합니다. + +2. Azure Portal에서 페이지 위쪽에 있는 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **클라우드용 Microsoft Defender**을 입력하고 **Enter** 키를 누릅니다. + +3. 왼쪽 탐색 패널에서 [시작]을** 클릭합니다**. **클라우드용 Microsoft Defender \| 시작** 블레이드에서 업그레이드**를 클릭합니다**. + +4. **클라우드용 Microsoft Defender \| 시작** 블레이드의 에이전트 설치 탭에서 아래로 스크롤하여 에이전트 설치를** 클릭합니다**. + +5. 클라우드용 Microsoft Defender 시작 블레이드의 업그레이드** 탭 >>에서 향상된 보안 기능**으로 작업 영역 선택 섹션이 표시될 때까지 **아래로 스크롤한 >> Log Analytics 작업 영역을 선택하여 Microsoft Defender 계획을** 설정한 **다음 큰 파란색 업그레이드 단추를 클릭합니다.**** \| ** + + >**참고**: Microsoft Defender 계획의 일부로 사용할 수 있는 모든 기능을 검토합니다. + +6. 클라우드용 Microsoft Defender** 이동하고 **관리 섹션 아래의 왼쪽 탐색 패널에서 환경 설정** 클릭합니다**. + +7. **클라우드용 Microsoft Defender \| 환경 설정** 블레이드에서 아래로 스크롤하여 구독이 나타날 때까지 확장하고 관련 구독을 클릭합니다. + +8. 설정 Defender 계획** 블레이드에서 모든 계획** 사용을 선택하고 **필요한 경우 저장**을 클릭합니다**. \| ** + +9. 클라우드용 Microsoft Defender \| 환경 설정** 블레이드로 **돌아가서 구독이 나타날 때까지 확장하고 이전 랩에서 만든 Log Analytics 작업 영역을 나타내는 항목을 클릭합니다. + +10. **설정 \| Defender 계획** 블레이드에서 모든 옵션이 "켜기"되었는지 확인합니다. 필요한 경우 모든 계획 사용을 클릭한 **다음 저장**을 클릭합니다**.** + +11. 설정 \| Defender 계획** 블레이드에서 **데이터 컬렉션을** 선택합니다**. 모든 이벤트를** 클릭하고 ****저장**합니다. + +#### 작업 2: 클라우드용 Microsoft Defender 권장 사항 검토 + +이 작업에서는 클라우드용 Microsoft Defender 권장 사항을 검토합니다. + +1. Azure Portal에서 **클라우드용 Microsoft Defender\| 개요** 블레이드로 다시 이동합니다. + +2. **클라우드용 Microsoft Defender \| 개요** 블레이드에서 **보안 점수** 타일을 검토합니다. + + >**참고**: 사용 가능한 경우 현재 점수를 기록합니다. + +3. 클라우드용 Microsoft Defender \| 개요 블레이드로 **돌아가서 평가된 리소스를** 클릭합니다****. + +4. 인벤토리** 블레이드에서 **myVM** 항목을 클릭합니다**. + + >**참고**: 항목이 표시될 때까지 몇 분 정도 기다렸다가 브라우저 페이지를 새로 고쳐야 할 수 있습니다. + +5. 리소스 상태** 블레이드의 ****권장 사항** 탭에서 myVM**에 대한 **권장 사항 목록을 검토합니다. + +#### 작업 3: Just-In-Time VM 액세스를 사용하도록 설정하는 클라우드용 Microsoft Defender 권장 사항 구현 + +이 작업에서는 가상 머신에서 Just-In-Time VM 액세스를 사용하도록 설정하는 클라우드용 Microsoft Defender 권장 사항을 구현합니다. + +1. Azure Portal에서 클라우드용 Microsoft Defender 개요 블레이드로 **돌아가서 왼쪽 탐색 패널의 Cloud Security**에서 **워크로드 보호를** 클릭합니다**.** \| + +2. 클라우드용 Microsoft Defender 워크로드 보호** 블레이드에서 고급 보호** 섹션까지 **아래로 스크롤하고 Just-In-Time VM 액세스** 타일을 클릭합니다**. \| ** + +3. **Just-In-Time VM 액세스** 블레이드의 **가상 머신** 섹션에서 구성**되지 않음을 선택한 **다음 myVM** 항목에 대한 **검사 상자를 선택합니다. + + >**참고**: 몇 분 정도 기다렸다가 브라우저 페이지를 새로 고치고 항목이 표시되도록 구성되지 않음**을 다시 선택**해야 할 수 있습니다. + +4. **가상 머신** 섹션의 맨 오른쪽에 있는 **1 VM에서 JIT 사용** 옵션을 클릭합니다. + +5. **JIT VM 액세스 구성** 블레이드의 포트 **22**를 참조하는 행의 맨 오른쪽에 있는 줄임표 단추를 클릭한 다음 삭제**를 클릭합니다**. + +6. **JIT VM 액세스 구성** 블레이드에서 저장**을 클릭합니다**. + + >**참고**: 도구 모음에서 알림 아이콘을 클릭하고 알림 블레이드를** 확인**하여 **구성 진행률을 모니터링합니다**. + + >**참고**: 이 랩에서 권장 사항을 구현하는 데 보안 점수가 반영되려면 다소 시간이 걸릴 수 있습니다. 보안 점수를 주기적으로 검사 이러한 기능 구현의 영향을 확인합니다. + +> 결과: 온보더 클라우드용 Microsoft Defender 가상 머신 권장 사항을 구현했습니다. + + >**Note**: Do not remove the resources from this lab as they are needed for the Microsoft Sentinel lab. diff --git a/Instructions/Labs/LAB_15_Microsoft Sentinel.md b/Instructions/Labs/LAB_15_Microsoft Sentinel.md new file mode 100644 index 0000000..af91ca1 --- /dev/null +++ b/Instructions/Labs/LAB_15_Microsoft Sentinel.md @@ -0,0 +1,284 @@ +--- +lab: + title: 15 - Microsoft Sentinel + module: Module 04 - Manage Security Operations +--- + +# 랩 15: Microsoft Sentinel +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +**참고:** **Azure Sentinel**의 이름이 **Microsoft Sentinel**로 변경됨 + +Microsoft Sentinel 기반 위협 탐지 및 응답의 개념 증명을 만들라는 메시지가 표시됩니다. 특히 다음을 수행해야 합니다. + +- Azure Activity 및 클라우드용 Microsoft Defender에서 데이터 수집을 시작합니다. +- 기본 제공 및 사용자 지정 경고 추가 +- 플레이북을 사용하여 인시던트에 대한 응답을 자동화하는 방법을 검토합니다. + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다. + +- 연습 1: Microsoft Sentinel 구현 + +## Microsoft Sentinel 다이어그램 + +![이미지](https://github.com/MicrosoftLearning/AZ500-AzureSecurityTechnologies/assets/91347931/509aa70d-de11-4470-a289-877fbfecbc00) + +## Instructions + +## 랩 파일: + +- **\\Allfiles\\Labs\\15\\changeincidentseverity.json** + +### 연습 1: Microsoft Sentinel 구현 + +### 예상 소요 시간: 30분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: Microsoft Sentinel 온보딩 +- 작업 2: Azure 활동을 Sentinel에 연결 +- 작업 3: Azure 활동 데이터 커넥터를 사용하는 규칙을 만듭니다. +- 작업 4: 플레이북 만들기 +- 작업 5: 사용자 지정 경고를 만들고 플레이북을 자동 응답으로 구성합니다. +- 작업 6: 인시던트를 호출하고 연결된 작업을 검토합니다. + +#### 작업 1: Azure Sentinel 온보딩 + +이 작업에서는 Microsoft Sentinel을 온보딩하고 Log Analytics 작업 영역을 연결합니다. + +1. Azure portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에 사용 중인 Azure 구독에 Owner 또는 Contributor 역할이 있는 계정을 사용하여 Azure Portal에 로그인합니다. + +2. Azure Portal에서 페이지 상단에 있는 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **Microsoft Sentinel**을 입력하고 **Enter** 키를 누릅니다. + + >**참고**: Azure 대시보드에서 Microsoft Sentinel 작업을 처음 시도하는 경우 다음 단계를 완료하세요. Azure Portal에서 페이지 상단에 있는 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **** 을 입력하고 **Enter** 키를 누릅니다. **서비스** 보기에서 **Microsoft Sentinel**을 선택합니다. + +3. **Microsoft Sentinel** 블레이드에서 **+ 만들기**를 클릭합니다. + +4. **작업 영역에 Microsoft Sentinel 추가** 블레이드에서, Azure Monitor 랩에서 만든 Log Analytics 작업 영역을 선택하고 **추가**를 클릭합니다. + + >**참고**: Azure Sentinel에는 작업 영역에 대한 매우 구체적인 요구 사항이 있습니다. 예를 들어 클라우드용 Microsoft Defender에서 만든 작업 영역을 사용할 수 없습니다. [빠른 시작: Azure Sentinel 온보딩](https://docs.microsoft.com/en-us/azure/sentinel/quickstart-onboard)에서 알아보기 + +#### 작업 2: Azure Sentinel을 구성하여 Azure Activity 데이터 커넥터를 사용합니다. + +이 작업에서는 Sentinel을 구성하여 Azure 활동 데이터 커넥터를 사용합니다. + +1. Azure Portal**의 Microsoft Sentinel \| 개요** 블레이드의 **콘텐츠 관리** 섹션에서 콘텐츠 허브**를 클릭합니다**. + +2. **Microsoft Sentinel \| 콘텐츠 허브** 블레이드에서 사용 가능한 콘텐츠 목록을 검토합니다. + +3. 검색 창에 Azure를 입력**하고 Azure 활동을** 나타내는 **항목을** 선택합니다. 맨 오른쪽에서 설명을 검토한 다음 설치**를 클릭합니다**. + +4. 설치 성공** 알림을 기다립니다**. 왼쪽 탐색 패널**의 구성** 섹션에서 데이터 커넥터를** 클릭합니다**. + +5. **Microsoft Sentinel \| 데이터 커넥터** 블레이드에서 새로 고침**을 클릭하고 **사용 가능한 커넥터 목록을 검토합니다. Azure 활동 커넥터를 **나타내는 항목을 선택하고(필요한 경우 < 사용하여 \<왼쪽 메뉴 모음 숨기기), 설명을 검토하고 맨 오른쪽에서 상태 다음 커넥터 페이지** 열기를 클릭합니다**.** + +6. **Azure 활동** 블레이드의 **지침** 탭을 선택해야 하고 **필수 구성 요소**를 기록한 다음 **구성**으로 스크롤합니다. 커넥터 업데이트를 설명하는 정보를 살펴봅니다. Azure Pass 구독은 레거시 연결 방법을 사용하지 않기 때문에 1단계를 건너뛰고(**모든 연결 끊기** 단추가 회색으로 표시됨) 2단계로 진행할 수 있습니다. + +7. 2단계인 **진단 설정 새 파이프라인을 통해 구독 연결**에서 "Azure Policy 할당 마법사를 시작하고 지침을 따름" 지침을 검토한 다음 **Azure Policy 할당 마법사 시작\>** 을 클릭합니다. + +8. **지정된 Log Analytics 작업 영역으로 스트림하도록 Azure 활동 로그 구성**(정책 할당 페이지)의 **기본 사항** 탭에서 **범위 줄임표(...)** 단추를 클릭합니다. **범위** 페이지의 드롭다운 구독 목록에서 Azure Pass 구독을 선택하고 페이지 아래쪽의 **선택** 단추를 클릭합니다. + + >**참고**: 리소스 그룹은 선택하지 *마세요*. + +9. **[기본]** 탭 아래쪽**의 [다음**] 단추를 두 번 클릭하여 [매개 변수]** 탭으로 이동합니다**. 매개 변수** 탭에서 ****기본 Log Analytics 작업 영역 elipsis(...)** 단추를 클릭합니다. **기본 Log Analytics 작업 영역** 페이지에서 Azure pass 구독이 선택됐는지 확인하고 **작업 영역** 드롭다운을 사용하여 Sentinel에 사용할 Log Analytics 작업 영역을 선택합니다. 완료되면 페이지 아래쪽에 있는 **선택** 단추를 클릭합니다. + +10. **매개 변수** 탭 아래쪽에 있는 **다음** 단추를 클릭하고 **수정** 탭으로 진행합니다. **수정** 탭에서 **수정 작업 만들기** 체크박스를 선택합니다. 그러면 **수정할 정책** 드롭다운에서 "지정된 Log Analytics 작업 영역으로 스트림하도록 Azure 활동 로그 구성"을 사용할 수 있습니다. **시스템 할당 ID 위치** 드롭다운에서 이전에 Log Analytics 작업 영역으로 선택한 지역(예: 미국 동부)을 선택합니다. + +11. **수정** 탭 아래쪽에 있는 **다음** 단추를 클릭하고 **비준수 메시지** 탭으로 진행합니다. 원할 경우 비준수 메시지를 입력하고 **비준수 메시지** 탭 아래쪽에 있는 **검토 + 만들기** 단추를 클릭합니다. + +12. **만들기** 단추를 클릭합니다. 다음 3가지 성공 상태 메시지를 볼 수 있을 것입니다. **정책 할당 만들기 성공, 역할 할당 만들기 성공 및 수정 작업 만들기 성공** + + >**참고**: 알림, 종 아이콘을 통해 3가지 성공 작업을 확인할 수 있습니다. + +13. **Azure 활동** 창에 **데이터 수신됨** 그래프가 표시되는지 확인합니다. 브라우저 창을 새로 고쳐야 할 수도 있습니다. + + >**참고**: 상태에 "연결됨"이 표시되고 데이터 수신됨 그래프가 표시되기까지 15분 이상 걸릴 수 있습니다. + +#### 작업 3: Azure 활동 데이터 커넥터를 사용하는 규칙을 만듭니다. + +이 작업에서는 Azure 활동 데이터 커넥터를 사용하는 규칙을 검토하고 만듭니다. + +1. **Microsoft Sentinel \| 구성** 블레이드에서 **Analytics**을 클릭합니다. + +2. **Microsoft Sentinel \| Analytics** 블레이드에서 **규칙 템플릿** 탭을 클릭합니다. + + >**참고**: 만들 수 있는 규칙 유형을 검토합니다. 각 규칙은 특정 데이터 원본과 연결됩니다. + +3. 규칙 템플릿 목록에서 검색 창 양식에 **의심스러움**을 입력한 후 **Azure 활동** 데이터 원본과 연결된 **Change-Incident-Severity** 항목을 클릭합니다. 그런 다음 규칙 템플릿 속성이 표시된 창에서 필요하면 페이지 오른쪽으로 스크롤하여 **규칙 만들기**를 클릭합니다. + + >**참고**: 이 규칙은 중간 심각도를 가지고 있습니다. + +4. **분석 규칙 마법사의 **일반** 탭 - 새 예약된 규칙** 블레이드 만들기, 기본 설정 적용, 다음: 규칙 논리 >** 설정 클릭 ** + +5. **분석 규칙 마법사의 **규칙 논리** 설정 탭 - 새 예약된 규칙** 블레이드 만들기, 기본 설정 적용, 다음: 인시던트 설정(미리 보기) >** 클릭합니다**. + +6. **분석 규칙 마법사의 **인시던트 설정** 탭 - 새 예약된 규칙** 블레이드 만들기, 기본 설정 적용, 다음: 자동화된 응답 >** 클릭합니다**. + + >**참고**: 여기서 논리 앱으로 구현된 플레이북을 규칙에 추가하여 문제를 자동으로 수정할 수 있습니다. + +7. **분석 규칙 마법사의 **자동화된 응답** 탭 - 새 예약된 규칙** 블레이드 만들기, 기본 설정 적용, 다음: 검토 및 >** 만들기를 클릭합니다**. + +8. **분석 규칙 마법사의 **검토 및 만들기** 탭 - 새 예약된 규칙** 만들기 블레이드에서 저장**을 클릭합니다**. + + >**참고**: 이제 활성 규칙이 만들어졌습니다. + +#### 작업 4: 플레이북 만들기 + +이 작업에서는 플레이북을 만듭니다. 보안 플레이북은 Microsoft Sentinel에서 경고에 대한 대응으로 호출할 수 있는 작업 모음입니다. + +1. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **사용자 지정 템플릿 배포**를 입력하고 **Enter** 키를 누릅니다. + +2. **사용자 지정 배포** 블레이드에서 **편집기에서 사용자 고유의 탬플릿 빌드** 옵션을 클릭합니다. + +3. **템플릿 편집** 블레이드에서 **로드 파일**을 클릭하고 **\\Allfiles\\Labs\\15\\changeincidentseverity.json** 파일을 찾아 **열기**를 클릭합니다. + + >**참고**: [https://github.com/Azure/Azure-Sentinel/tree/master/Playbooks](https://github.com/Azure/Azure-Sentinel/tree/master/Playbooks)에서 샘플 플레이북을 확인할 수 있습니다. + +4. **템플릿 편집** 블레이드에서 **저장**을 클릭합니다. + +5. **사용자 지정 배포** 블레이드에서 다음 설정이 구성되었는지 확인합니다 (다른 설정은 기본값으로 유지). + + |설정|값| + |---|---| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |리소스 그룹|**AZ500LAB131415**| + |위치|**(미국) 미국 동부**| + |플레이북 이름|**Change-Incident-Severity**| + |사용자 이름|메일 주소| + +6. **검토 + 만들기**를 클릭한 다음, **만들기**를 클릭합니다. + + >**참고**: 배포가 완료될 때까지 기다리세요. + +7. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **리소스 그룹**을 입력하고 **Enter** 키를 누릅니다. + +8. **리소스 그룹** 블레이드의 리소스 그룹 목록에서 **AZ500LAB131415** 항목을 클릭합니다. + +9. **AZ500LAB131415** 리소스 그룹 블레이드의 리소스 목록에서 새로 만들어진 **Change-Incident-Severity** 논리 앱을 나타내는 항목을 클릭합니다. + +10. **Change-Incident-Severity** 블레이드에서 **편집**을 클릭합니다. + + >**참고**: Logic Apps 디자이너** 블레이드에서 **4개의 각 블레이드에 경고가 표시됩니다. 즉, 각각의 연결을 검토하고 구성해야 합니다. + +11. Logic Apps 디자이너** 블레이드에서 **첫 번째 **** 단계를 클릭합니다. + +12. **새로 추가**를 클릭하고 **테넌트** 드롭다운 목록의 항목에 사용자의 Azure AD 테넌트 이름이 포함되어 있는지 확인하고 **로그인**을 클릭합니다. + +13. 메시지가 표시되면 이 랩에서 사용하고 있는 Azure 구독에 대한 Owner 또는 Contributor 역할이 포함된 사용자 계정을 사용하여 로그인합니다. + +14. 두 번째 **** 단계를 클릭하고, s 목록에서 이전 단계에서 만든 항목을 나타내는 두 번째 항목을 선택합니다. + +15. 두 **** 단계를 다시 기본 위해 이전 단계를 반복합니다. + + >**참고**: 모든 단계에 경고가 표시되지 않는지 확인합니다. + +16. **Logic Apps 디자이너** 블레이드에서 **저장**을 클릭하여 변경 사항을 저장합니다. + +#### 작업 5: 사용자 지정 경고 만들기 및 플레이북 자동 응답으로 구성 + +1. Azure Portal에서 **Microsoft Sentinel \| 개요** 블레이드로 다시 이동합니다. + +2. **\| 개요** 블레이드의 **구성** 섹션에서 **** 을 클릭합니다. + +3. **Microsoft Sentinel \| Analytics** 블레이드에서 **+ 만들기**를 클릭하고 드롭다운 메뉴에서 **예약된 쿼리 규칙**을 클릭합니다. + +4. **분석 규칙 마법사의 **일반** 탭에서 - 새 예약된 규칙** 블레이드를 만들고 다음 설정을 지정합니다(다른 설정은 기본값으로 유지). + + |설정|값| + |---|---| + |Name|**플레이북 데모**| + |전술|**Initial Access**| + +5. **다음: 규칙 논리 설정>** 을 선택합니다. + +6. **분석 규칙 마법사의 **규칙 논리** 설정 탭 - 새 예약된 규칙 블레이드 만들기의 **규칙** 쿼리** 텍스트 상자에 다음 규칙 쿼리를 붙여넣습니다. + + ``` + AzureActivity + | where ResourceProviderValue =~ "Microsoft.Security" + | where OperationNameValue =~ "Microsoft.Security/locations/jitNetworkAccessPolicies/delete" + ``` + + >**참고**: 이 규칙은 Just-In-Time VM 액세스 정책의 제거를 식별합니다. + + >**참고** 구문 분석 오류가 표시된 경우 IntelliSense가 쿼리에 값을 추가했을 수 있습니다. 쿼리가 일치하는지 확인하고 그렇지 않으면 쿼리를 메모장에 붙여넣은 다음 메모장에서 규칙 쿼리로 붙여넣습니다. + + +7. **분석 규칙 마법사의 **규칙 논리** 설정 탭 - 새 예약된 규칙** 블레이드 만들기의 **쿼리 예약** 섹션에서 5분**마다** 실행 쿼리를 **설정합니다**. + +8. **분석 규칙 마법사의 **규칙 논리** 설정 탭 - 새 예약된 규칙** 블레이드 만들기, 다시 기본 설정의 기본값 적용, 다음: 인시던트 설정 >** 클릭합니다**. + +9. **분석 규칙 마법사의 **인시던트 설정** 탭 - 새 예약된 규칙** 블레이드 만들기, 기본 설정 적용, 다음: 자동화된 응답 >** 클릭합니다**. + +10. **분석 규칙 마법사의 **자동화된 응답** 탭 - 새 예약된 규칙** 만들기 블레이드의 Automation 규칙**에서 **+ 새로** 추가를 클릭합니다**. + +11. **새 자동화 규칙** 만들기 창에서 Automation 규칙 이름****에 대한 **변경 심각도 플레이북** 실행을 입력**합니다. 트리거** 필드에서 드롭다운 메뉴를 클릭하고 경고가 생성**되는 시기를 선택합니다**. + +12. 새 자동화 규칙 만들기 창의 **작업**에서 **메모를 읽은 다음 플레이북 권한** 관리를 클릭합니다**.** 권한 관리 창에서 **이전에 만든 **리소스 그룹 AZ500LAB1314151 옆에 있는 검사** 상자를 선택한 다음 적용**을 클릭합니다**.** + +13. 새 자동화 규칙 만들기 창의 **작업**에서 **두 번째 드롭다운 메뉴를 클릭하고 인시던트 심각도** 변경 논리 앱을 선택합니다**.** **새 자동화 규칙** 만들기 창에서 적용**을 클릭합니다**. + +14. **분석 규칙 마법사의 **자동화된 응답** 탭 - 새 예약된 규칙** 만들기 블레이드**에서 다음: 검토 및 만들기 >** 클릭하고 저장을 클릭합니다 **.** + + >**참고**: 이제 **플레이북 데모**라는 새로운 활성 규칙이 만들어졌습니다. 규칙 논리로 식별된 이벤트가 발생하면 중간 심각도 경고가 발생하여 해당 인시던트를 생성합니다. + +#### 작업 6: 인시던트를 호출하고 연결된 작업을 검토합니다. + +1. Azure Portal에서 **클라우드용 Microsoft Defender\| 개요** 블레이드로 이동합니다. + + >**참고**: 보안 점수를 확인합니다. 지금쯤이면 업데이트되어 있어야 합니다. + +2. 클라우드용 Microsoft Defender 개요 블레이드의 왼쪽 탐색 창에서 Cloud Security** 아래**의 워크로드 보호를** 클릭합니다**.** \| ** + +3. **클라우드용 Microsoft Defender \| 워크로드 보호** 블레이드에서 아래로 스크롤하고 고급 보호**에서 **Just-In-Time VM 액세스** 타일을 클릭합니다**. + +4. **Just-In-Time VM 액세스** 블레이드의 myVM** 가상 머신을 참조하는 **행의 오른쪽에서 줄임표(...)** 단추를 클릭하고 **제거**를 클릭한 **다음 예를** 클릭합니다**. + + >**참고:** VM이 **Just-In-Time VM**에 나열되지 않은 경우 **Virutal Machine** 블레이드로 이동하여 **구성**을 클릭하고 **Just-In-Time VM 액세스**에서 **Just-In-Time VM 사용** 옵션을 클릭합니다. 위의 단계를 반복하여 **클라우드용 Microsoft Defender**로 다시 이동하고 페이지를 새로 고치면 VM이 표시됩니다. + +5. Azure Portal에서 페이지 상단에 있는 **리소르, 서비스 및 문서 검색** 텍스트 상자에서 **활동 로그**를 입력하고 **Enter** 키를 누릅니다. + +6. **활동 로그** 블레이드로 이동하고 **JIT 네트워크 액세스 정책 삭제** 항목을 메모합니다. + + >**참고**: 표시되는 데 몇 분 정도 걸릴 수 있습니다. **페이지가 표시되지 않으면 새로 고칩니다** . + +7. Azure Portal에서 **Microsoft Sentinel \| 개요** 블레이드로 다시 이동합니다. + +8. **Microsoft Sentinel \| 개요** 블레이드에서 대시보드를 검토하고 Just-In-Time VM 액세스 정책 삭제에 해당하는 인시던트가 표시되는지 확인합니다. + + >**참고**: **Microsoft Sentinel \| 개요** 블레이드에 경고가 표시되려면 최대 5분이 소요될 수 있습니다. 해당 시점에 경고가 표시되지 않는 경우 이전 작업에서 참조된 쿼리 규칙을 실행하여 Just-In-Time 액세스 정책 삭제 작업이 Microsoft Sentinel 인스턴스와 연결된 Log Analytics 작업 영역으로 전파되었는지 확인합니다. 그렇지 않은 경우 Just-In-Time VM 액세스 정책을 다시 만들고 다시 삭제합니다. + +9. **Microsoft Sentinel \| 개요** 블레이드의 **위협 관리** 섹션에서 **인시던트**를 클릭합니다. + +10. 블레이드에 중간 또는 높은 심각도 수준의 인시던트가 표시되었는지 확인합니다. + + >**참고**: **Microsoft Sentinel \| 인시던트** 블레이드에 인시던트가 표시되려면 최대 5분이 소요될 수 있습니다. + + >**참고**: **Microsoft Sentinel \| 플레이북** 블레이드를 검토합니다. 그곳에서 성공한 실행과 실패한 실행의 횟수를 확인할 수 있습니다. + + >**참고**: 인시던트에 다른 심각도 수준 및 상태를 할당할 수 있는 옵션이 있습니다. + +> 결과: Microsoft Sentinel 작업 영역을 만들고, Azure 활동 로그에 연결하고, Just-In-Time VM 액세스 정책 제거에 대한 응답으로 트리거되는 플레이북 및 사용자 지정 경고를 만들고, 구성이 유효한지 확인했습니다. + +**리소스 정리** + +> 더 이상 사용하지 않는 새로 만든 Azure 리소스는 모두 제거하세요. 사용하지 않는 리소스를 제거하면 예상하지 못한 비용이 발생하지 않습니다. + +1. Azure Portal 오른쪽 위의 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. 메시지가 표시되면 **PowerShell**, 그리고 **스토리지 만들기**를 클릭합니다. + +2. Cloud Shell 창의 왼쪽 위 모서리에 있는 드롭다운 메뉴에서 **PowerShell**이 선택되었는지 확인합니다. + +3. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 이 랩에서 만든 리소스 그룹을 제거합니다. + + ```powershell + Remove-AzResourceGroup -Name "AZ500LAB131415" -Force -AsJob + ``` +4. **Cloud Shell** 창을 닫습니다. diff --git a/Instructions/Labs/LAB_16_Microsoft Sentinel.md b/Instructions/Labs/LAB_16_Microsoft Sentinel.md new file mode 100644 index 0000000..826dfcc --- /dev/null +++ b/Instructions/Labs/LAB_16_Microsoft Sentinel.md @@ -0,0 +1,284 @@ +--- +lab: + title: 16 - Microsoft Sentinel + module: Module 04 - Manage Security Operations +--- + +# 랩 16: Microsoft Sentinel +# 학생용 랩 매뉴얼 + +## 랩 시나리오 + +**참고:** **Azure Sentinel**의 이름이 **Microsoft Sentinel**로 변경됨 + +Microsoft Sentinel 기반 위협 탐지 및 응답의 개념 증명을 만들라는 메시지가 표시됩니다. 특히 다음을 수행해야 합니다. + +- Azure Activity 및 클라우드용 Microsoft Defender에서 데이터 수집을 시작합니다. +- 기본 제공 및 사용자 지정 경고 추가 +- 플레이북을 사용하여 인시던트에 대한 응답을 자동화하는 방법을 검토합니다. + +> 이 랩의 모든 리소스에 대해 **미국 동부** 지역을 사용하고 있습니다. 이 지역을 수업에 사용할 것인지 강사에게 확인합니다. + +## 랩 목표 + +이 랩에서는 다음과 같은 연습을 완료합니다. + +- 연습 1: Microsoft Sentinel 구현 + +## Microsoft Sentinel 다이어그램 + +![이미지](https://user-images.githubusercontent.com/91347931/157538440-4953be73-90be-4edd-bd23-b678326ba637.png) + +## Instructions + +## 랩 파일: + +- **\\Allfiles\\Labs\\15\\changeincidentseverity.json** + +### 연습 1: Microsoft Sentinel 구현 + +### 예상 소요 시간: 30분 + +이 연습에서는 다음 작업을 완료합니다. + +- 작업 1: Microsoft Sentinel 온보딩 +- 작업 2: Azure 활동을 Sentinel에 연결 +- 작업 3: Azure 활동 데이터 커넥터를 사용하는 규칙을 만듭니다. +- 작업 4: 플레이북 만들기 +- 작업 5: 사용자 지정 경고를 만들고 플레이북을 자동 응답으로 구성합니다. +- 작업 6: 인시던트를 호출하고 연결된 작업을 검토합니다. + +#### 작업 1: Azure Sentinel 온보딩 + +이 작업에서는 Microsoft Sentinel을 온보딩하고 Log Analytics 작업 영역을 연결합니다. + +1. Azure portal **`https://portal.azure.com/`** 에 로그인합니다. + + >**참고**: 이 랩에 사용 중인 Azure 구독에 Owner 또는 Contributor 역할이 있는 계정을 사용하여 Azure Portal에 로그인합니다. + +2. Azure Portal에서 페이지 상단에 있는 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **Microsoft Sentinel**을 입력하고 **Enter** 키를 누릅니다. + + >**참고**: Azure 대시보드에서 Microsoft Sentinel 작업을 처음 시도하는 경우 다음 단계를 완료하세요. Azure Portal에서 페이지 상단에 있는 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **** 을 입력하고 **Enter** 키를 누릅니다. **서비스** 보기에서 **Microsoft Sentinel**을 선택합니다. + +3. **Microsoft Sentinel** 블레이드에서 **+ 만들기**를 클릭합니다. + +4. **작업 영역에 Microsoft Sentinel 추가** 블레이드에서, Azure Monitor 랩에서 만든 Log Analytics 작업 영역을 선택하고 **추가**를 클릭합니다. + + >**참고**: Azure Sentinel에는 작업 영역에 대한 매우 구체적인 요구 사항이 있습니다. 예를 들어 클라우드용 Microsoft Defender에서 만든 작업 영역을 사용할 수 없습니다. [빠른 시작: Azure Sentinel 온보딩](https://docs.microsoft.com/en-us/azure/sentinel/quickstart-onboard)에서 알아보기 + +#### 작업 2: Azure Sentinel을 구성하여 Azure Activity 데이터 커넥터를 사용합니다. + +이 작업에서는 Sentinel을 구성하여 Azure 활동 데이터 커넥터를 사용합니다. + +1. Azure Portal**의 Microsoft Sentinel \| 개요** 블레이드의 **콘텐츠 관리** 섹션에서 콘텐츠 허브**를 클릭합니다**. + +2. **Microsoft Sentinel \| 콘텐츠 허브** 블레이드에서 사용 가능한 콘텐츠 목록을 검토합니다. + +3. 검색 창에 Azure를 입력**하고 Azure 활동을** 나타내는 **항목을** 선택합니다. 맨 오른쪽에서 설명을 검토한 다음 설치**를 클릭합니다**. + +4. 설치 성공** 알림을 기다립니다**. 왼쪽 탐색 패널**의 구성** 섹션에서 데이터 커넥터를** 클릭합니다**. + +5. **Microsoft Sentinel \| 데이터 커넥터** 블레이드에서 새로 고침**을 클릭하고 **사용 가능한 커넥터 목록을 검토합니다. Azure 활동 커넥터를 **나타내는 항목을 선택하고(필요한 경우 < 사용하여 \<왼쪽 메뉴 모음 숨기기), 설명을 검토하고 맨 오른쪽에서 상태 다음 커넥터 페이지** 열기를 클릭합니다**.** + +6. **Azure 활동** 블레이드의 **지침** 탭을 선택해야 하고 **필수 구성 요소**를 기록한 다음 **구성**으로 스크롤합니다. 커넥터 업데이트를 설명하는 정보를 살펴봅니다. Azure Pass 구독은 레거시 연결 방법을 사용하지 않기 때문에 1단계를 건너뛰고(**모든 연결 끊기** 단추가 회색으로 표시됨) 2단계로 진행할 수 있습니다. + +7. 2단계인 **진단 설정 새 파이프라인을 통해 구독 연결**에서 "Azure Policy 할당 마법사를 시작하고 지침을 따름" 지침을 검토한 다음 **Azure Policy 할당 마법사 시작\>** 을 클릭합니다. + +8. **지정된 Log Analytics 작업 영역으로 스트림하도록 Azure 활동 로그 구성**(정책 할당 페이지)의 **기본 사항** 탭에서 **범위 줄임표(...)** 단추를 클릭합니다. **범위** 페이지의 드롭다운 구독 목록에서 Azure Pass 구독을 선택하고 페이지 아래쪽의 **선택** 단추를 클릭합니다. + + >**참고**: 리소스 그룹은 선택하지 *마세요*. + +9. **[기본]** 탭 아래쪽**의 [다음**] 단추를 두 번 클릭하여 [매개 변수]** 탭으로 이동합니다**. 매개 변수** 탭에서 ****기본 Log Analytics 작업 영역 elipsis(...)** 단추를 클릭합니다. **기본 Log Analytics 작업 영역** 페이지에서 Azure pass 구독이 선택됐는지 확인하고 **작업 영역** 드롭다운을 사용하여 Sentinel에 사용할 Log Analytics 작업 영역을 선택합니다. 완료되면 페이지 아래쪽에 있는 **선택** 단추를 클릭합니다. + +10. **매개 변수** 탭 아래쪽에 있는 **다음** 단추를 클릭하고 **수정** 탭으로 진행합니다. **수정** 탭에서 **수정 작업 만들기** 체크박스를 선택합니다. 그러면 **수정할 정책** 드롭다운에서 "지정된 Log Analytics 작업 영역으로 스트림하도록 Azure 활동 로그 구성"을 사용할 수 있습니다. **시스템 할당 ID 위치** 드롭다운에서 이전에 Log Analytics 작업 영역으로 선택한 지역(예: 미국 동부)을 선택합니다. + +11. **수정** 탭 아래쪽에 있는 **다음** 단추를 클릭하고 **비준수 메시지** 탭으로 진행합니다. 원할 경우 비준수 메시지를 입력하고 **비준수 메시지** 탭 아래쪽에 있는 **검토 + 만들기** 단추를 클릭합니다. + +12. **만들기** 단추를 클릭합니다. 다음 3가지 성공 상태 메시지를 볼 수 있을 것입니다. **정책 할당 만들기 성공, 역할 할당 만들기 성공 및 수정 작업 만들기 성공** + + >**참고**: 알림, 종 아이콘을 통해 3가지 성공 작업을 확인할 수 있습니다. + +13. **Azure 활동** 창에 **데이터 수신됨** 그래프가 표시되는지 확인합니다. 브라우저 창을 새로 고쳐야 할 수도 있습니다. + + >**참고**: 상태에 "연결됨"이 표시되고 데이터 수신됨 그래프가 표시되기까지 15분 이상 걸릴 수 있습니다. + +#### 작업 3: Azure 활동 데이터 커넥터를 사용하는 규칙을 만듭니다. + +이 작업에서는 Azure 활동 데이터 커넥터를 사용하는 규칙을 검토하고 만듭니다. + +1. **Microsoft Sentinel \| 구성** 블레이드에서 **Analytics**을 클릭합니다. + +2. **Microsoft Sentinel \| Analytics** 블레이드에서 **규칙 템플릿** 탭을 클릭합니다. + + >**참고**: 만들 수 있는 규칙 유형을 검토합니다. 각 규칙은 특정 데이터 원본과 연결됩니다. + +3. 규칙 템플릿 목록에서 검색 창 양식에 **의심스러움**을 입력한 후 **Azure 활동** 데이터 원본과 연결된 **Change-Incident-Severity** 항목을 클릭합니다. 그런 다음 규칙 템플릿 속성이 표시된 창에서 필요하면 페이지 오른쪽으로 스크롤하여 **규칙 만들기**를 클릭합니다. + + >**참고**: 이 규칙은 중간 심각도를 가지고 있습니다. + +4. **분석 규칙 마법사의 **일반** 탭 - 새 예약된 규칙** 블레이드 만들기, 기본 설정 적용, 다음: 규칙 논리 >** 설정 클릭 ** + +5. **분석 규칙 마법사의 **규칙 논리** 설정 탭 - 새 예약된 규칙** 블레이드 만들기, 기본 설정 적용, 다음: 인시던트 설정(미리 보기) >** 클릭합니다**. + +6. **분석 규칙 마법사의 **인시던트 설정** 탭 - 새 예약된 규칙** 블레이드 만들기, 기본 설정 적용, 다음: 자동화된 응답 >** 클릭합니다**. + + >**참고**: 여기서 논리 앱으로 구현된 플레이북을 규칙에 추가하여 문제를 자동으로 수정할 수 있습니다. + +7. **분석 규칙 마법사의 **자동화된 응답** 탭 - 새 예약된 규칙** 블레이드 만들기, 기본 설정 적용, 다음: 검토 및 >** 만들기를 클릭합니다**. + +8. **분석 규칙 마법사의 **검토 및 만들기** 탭 - 새 예약된 규칙** 만들기 블레이드에서 저장**을 클릭합니다**. + + >**참고**: 이제 활성 규칙이 만들어졌습니다. + +#### 작업 4: 플레이북 만들기 + +이 작업에서는 플레이북을 만듭니다. 보안 플레이북은 Microsoft Sentinel에서 경고에 대한 대응으로 호출할 수 있는 작업 모음입니다. + +1. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **사용자 지정 템플릿 배포**를 입력하고 **Enter** 키를 누릅니다. + +2. **사용자 지정 배포** 블레이드에서 **편집기에서 사용자 고유의 탬플릿 빌드** 옵션을 클릭합니다. + +3. **템플릿 편집** 블레이드에서 **로드 파일**을 클릭하고 **\\Allfiles\\Labs\\15\\changeincidentseverity.json** 파일을 찾아 **열기**를 클릭합니다. + + >**참고**: [https://github.com/Azure/Azure-Sentinel/tree/master/Playbooks](https://github.com/Azure/Azure-Sentinel/tree/master/Playbooks)에서 샘플 플레이북을 확인할 수 있습니다. + +4. **템플릿 편집** 블레이드에서 **저장**을 클릭합니다. + +5. **사용자 지정 배포** 블레이드에서 다음 설정이 구성되었는지 확인합니다 (다른 설정은 기본값으로 유지). + + |설정|값| + |---|---| + |구독|이 랩에서 사용 중인 Azure 구독의 이름| + |리소스 그룹|**AZ500LAB131415**| + |위치|**(미국) 미국 동부**| + |플레이북 이름|**Change-Incident-Severity**| + |사용자 이름|메일 주소| + +6. **검토 + 만들기**를 클릭한 다음, **만들기**를 클릭합니다. + + >**참고**: 배포가 완료될 때까지 기다리세요. + +7. Azure Portal에서 Azure Portal 페이지 위쪽의 **리소스, 서비스 및 문서 검색** 텍스트 상자에 **리소스 그룹**을 입력하고 **Enter** 키를 누릅니다. + +8. **리소스 그룹** 블레이드의 리소스 그룹 목록에서 **AZ500LAB131415** 항목을 클릭합니다. + +9. **AZ500LAB131415** 리소스 그룹 블레이드의 리소스 목록에서 새로 만들어진 **Change-Incident-Severity** 논리 앱을 나타내는 항목을 클릭합니다. + +10. **Change-Incident-Severity** 블레이드에서 **편집**을 클릭합니다. + + >**참고**: Logic Apps 디자이너** 블레이드에서 **4개의 각 블레이드에 경고가 표시됩니다. 즉, 각각의 연결을 검토하고 구성해야 합니다. + +11. Logic Apps 디자이너** 블레이드에서 **첫 번째 **** 단계를 클릭합니다. + +12. **새로 추가**를 클릭하고 **테넌트** 드롭다운 목록의 항목에 사용자의 Azure AD 테넌트 이름이 포함되어 있는지 확인하고 **로그인**을 클릭합니다. + +13. 메시지가 표시되면 이 랩에서 사용하고 있는 Azure 구독에 대한 Owner 또는 Contributor 역할이 포함된 사용자 계정을 사용하여 로그인합니다. + +14. 두 번째 **** 단계를 클릭하고, s 목록에서 이전 단계에서 만든 항목을 나타내는 두 번째 항목을 선택합니다. + +15. 두 **** 단계를 다시 기본 위해 이전 단계를 반복합니다. + + >**참고**: 모든 단계에 경고가 표시되지 않는지 확인합니다. + +16. **Logic Apps 디자이너** 블레이드에서 **저장**을 클릭하여 변경 사항을 저장합니다. + +#### 작업 5: 사용자 지정 경고 만들기 및 플레이북 자동 응답으로 구성 + +1. Azure Portal에서 **Microsoft Sentinel \| 개요** 블레이드로 다시 이동합니다. + +2. **\| 개요** 블레이드의 **구성** 섹션에서 **** 을 클릭합니다. + +3. **Microsoft Sentinel \| Analytics** 블레이드에서 **+ 만들기**를 클릭하고 드롭다운 메뉴에서 **예약된 쿼리 규칙**을 클릭합니다. + +4. **분석 규칙 마법사의 **일반** 탭에서 - 새 예약된 규칙** 블레이드를 만들고 다음 설정을 지정합니다(다른 설정은 기본값으로 유지). + + |설정|값| + |---|---| + |Name|**플레이북 데모**| + |전술|**Initial Access**| + +5. **다음: 규칙 논리 설정>** 을 선택합니다. + +6. **분석 규칙 마법사의 **규칙 논리** 설정 탭 - 새 예약된 규칙 블레이드 만들기의 **규칙** 쿼리** 텍스트 상자에 다음 규칙 쿼리를 붙여넣습니다. + + ``` + AzureActivity + | where ResourceProviderValue =~ "Microsoft.Security" + | where OperationNameValue =~ "Microsoft.Security/locations/jitNetworkAccessPolicies/delete" + ``` + + >**참고**: 이 규칙은 Just-In-Time VM 액세스 정책의 제거를 식별합니다. + + >**참고** 구문 분석 오류가 표시된 경우 IntelliSense가 쿼리에 값을 추가했을 수 있습니다. 쿼리가 일치하는지 확인하고 그렇지 않으면 쿼리를 메모장에 붙여넣은 다음 메모장에서 규칙 쿼리로 붙여넣습니다. + + +7. **분석 규칙 마법사의 **규칙 논리** 설정 탭 - 새 예약된 규칙** 블레이드 만들기의 **쿼리 예약** 섹션에서 5분**마다** 실행 쿼리를 **설정합니다**. + +8. **분석 규칙 마법사의 **규칙 논리** 설정 탭 - 새 예약된 규칙** 블레이드 만들기, 다시 기본 설정의 기본값 적용, 다음: 인시던트 설정 >** 클릭합니다**. + +9. **분석 규칙 마법사의 **인시던트 설정** 탭 - 새 예약된 규칙** 블레이드 만들기, 기본 설정 적용, 다음: 자동화된 응답 >** 클릭합니다**. + +10. **분석 규칙 마법사의 **자동화된 응답** 탭 - 새 예약된 규칙** 만들기 블레이드의 Automation 규칙**에서 **+ 새로** 추가를 클릭합니다**. + +11. **새 자동화 규칙** 만들기 창에서 Automation 규칙 이름****에 대한 **변경 심각도 플레이북** 실행을 입력**합니다. 트리거** 필드에서 드롭다운 메뉴를 클릭하고 경고가 생성**되는 시기를 선택합니다**. + +12. 새 자동화 규칙 만들기 창의 **작업**에서 **메모를 읽은 다음 플레이북 권한** 관리를 클릭합니다**.** 권한 관리 창에서 **이전에 만든 **리소스 그룹 AZ500LAB1314151 옆에 있는 검사** 상자를 선택한 다음 적용**을 클릭합니다**.** + +13. 새 자동화 규칙 만들기 창의 **작업**에서 **두 번째 드롭다운 메뉴를 클릭하고 인시던트 심각도** 변경 논리 앱을 선택합니다**.** **새 자동화 규칙** 만들기 창에서 적용**을 클릭합니다**. + +14. **분석 규칙 마법사의 **자동화된 응답** 탭 - 새 예약된 규칙** 만들기 블레이드**에서 다음: 검토 및 만들기 >** 클릭하고 저장을 클릭합니다 **.** + + >**참고**: 이제 **플레이북 데모**라는 새로운 활성 규칙이 만들어졌습니다. 규칙 논리로 식별된 이벤트가 발생하면 중간 심각도 경고가 발생하여 해당 인시던트를 생성합니다. + +#### 작업 6: 인시던트를 호출하고 연결된 작업을 검토합니다. + +1. Azure Portal에서 **클라우드용 Microsoft Defender\| 개요** 블레이드로 이동합니다. + + >**참고**: 보안 점수를 확인합니다. 지금쯤이면 업데이트되어 있어야 합니다. + +2. 클라우드용 Microsoft Defender 개요 블레이드의 왼쪽 탐색 창에서 Cloud Security** 아래**의 워크로드 보호를** 클릭합니다**.** \| ** + +3. **클라우드용 Microsoft Defender \| 워크로드 보호** 블레이드에서 아래로 스크롤하고 고급 보호**에서 **Just-In-Time VM 액세스** 타일을 클릭합니다**. + +4. **Just-In-Time VM 액세스** 블레이드의 myVM** 가상 머신을 참조하는 **행의 오른쪽에서 줄임표(...)** 단추를 클릭하고 **제거**를 클릭한 **다음 예를** 클릭합니다**. + + >**참고:** VM이 **Just-In-Time VM**에 나열되지 않은 경우 **Virutal Machine** 블레이드로 이동하여 **구성**을 클릭하고 **Just-In-Time VM 액세스**에서 **Just-In-Time VM 사용** 옵션을 클릭합니다. 위의 단계를 반복하여 **클라우드용 Microsoft Defender**로 다시 이동하고 페이지를 새로 고치면 VM이 표시됩니다. + +5. Azure Portal에서 페이지 상단에 있는 **리소르, 서비스 및 문서 검색** 텍스트 상자에서 **활동 로그**를 입력하고 **Enter** 키를 누릅니다. + +6. **활동 로그** 블레이드로 이동하고 **JIT 네트워크 액세스 정책 삭제** 항목을 메모합니다. + + >**참고**: 표시되는 데 몇 분 정도 걸릴 수 있습니다. **페이지가 표시되지 않으면 새로 고칩니다** . + +7. Azure Portal에서 **Microsoft Sentinel \| 개요** 블레이드로 다시 이동합니다. + +8. **Microsoft Sentinel \| 개요** 블레이드에서 대시보드를 검토하고 Just-In-Time VM 액세스 정책 삭제에 해당하는 인시던트가 표시되는지 확인합니다. + + >**참고**: **Microsoft Sentinel \| 개요** 블레이드에 경고가 표시되려면 최대 5분이 소요될 수 있습니다. 해당 시점에 경고가 표시되지 않는 경우 이전 작업에서 참조된 쿼리 규칙을 실행하여 Just-In-Time 액세스 정책 삭제 작업이 Microsoft Sentinel 인스턴스와 연결된 Log Analytics 작업 영역으로 전파되었는지 확인합니다. 그렇지 않은 경우 Just-In-Time VM 액세스 정책을 다시 만들고 다시 삭제합니다. + +9. **Microsoft Sentinel \| 개요** 블레이드의 **위협 관리** 섹션에서 **인시던트**를 클릭합니다. + +10. 블레이드에 중간 또는 높은 심각도 수준의 인시던트가 표시되었는지 확인합니다. + + >**참고**: **Microsoft Sentinel \| 인시던트** 블레이드에 인시던트가 표시되려면 최대 5분이 소요될 수 있습니다. + + >**참고**: **Microsoft Sentinel \| 플레이북** 블레이드를 검토합니다. 그곳에서 성공한 실행과 실패한 실행의 횟수를 확인할 수 있습니다. + + >**참고**: 인시던트에 다른 심각도 수준 및 상태를 할당할 수 있는 옵션이 있습니다. + +> 결과: Microsoft Sentinel 작업 영역을 만들고, Azure 활동 로그에 연결하고, Just-In-Time VM 액세스 정책 제거에 대한 응답으로 트리거되는 플레이북 및 사용자 지정 경고를 만들고, 구성이 유효한지 확인했습니다. + +**리소스 정리** + +> 더 이상 사용하지 않는 새로 만든 Azure 리소스는 모두 제거하세요. 사용하지 않는 리소스를 제거하면 예상하지 못한 비용이 발생하지 않습니다. + +1. Azure Portal 오른쪽 위의 첫 번째 아이콘을 클릭하여 Cloud Shell을 엽니다. 메시지가 표시되면 **PowerShell**, 그리고 **스토리지 만들기**를 클릭합니다. + +2. Cloud Shell 창의 왼쪽 위 모서리에 있는 드롭다운 메뉴에서 **PowerShell**이 선택되었는지 확인합니다. + +3. Cloud Shell 창 내의 PowerShell 세션에서 다음을 실행하여 이 랩에서 만든 리소스 그룹을 제거합니다. + + ```powershell + Remove-AzResourceGroup -Name "AZ500LAB131415" -Force -AsJob + ``` +4. **Cloud Shell** 창을 닫습니다.