안전한 환경 구현

예상 시간: 30분

학생들은 단원에서 파악한 정보를 사용하여 Azure Portal 및 AdventureWorks 내에서 보안 기능을 구성한 후 구현합니다.

선임 데이터베이스 관리자로 고용되어 데이터베이스 환경의 보안을 보장합니다. 작업은 Azure SQL Database에 중점을 둡니다.

참고: 이러한 연습에서는 T-SQL 코드를 복사하여 붙여넣고 기존 SQL 리소스를 활용하도록 요청합니다. 코드를 실행하기 전에 코드를 올바르게 복사했는지 확인하세요.

Azure SQL Database 방화벽 규칙 구성

  1. 랩 가상 머신에서 브라우저 세션을 시작하고 https://portal.azure.com으로 이동합니다. 이 랩 가상 머신의 리소스 탭에 제공된 Azure 사용자 이름암호를 사용하여 포털에 연결합니다.

    그림 1

  2. Azure Portal의 맨 위에 있는 검색 상자에서 “SQL Server”를 검색한 다음 옵션 목록에서 SQL 서버를 클릭합니다.

    자동으로 생성된 소셜 미디어 게시 설명의 스크린샷

  3. 세부 정보 페이지로 이동할 서버 이름 dp300-lab-XXXXXXXX를 선택합니다(SQL Server에 할당된 리소스 그룹 및 위치가 다를 수 있음).

    자동으로 생성된 소셜 미디어 게시 설명의 스크린샷

  4. SQL Server 세부 정보 화면에서 마우스를 서버 이름 오른쪽으로 이동한 후 아래와 같이 클립보드에 복사 단추를 선택합니다.

    그림 2

  5. 네트워킹 설정 표시를 선택합니다.

    그림 2

  6. 네트워킹 페이지에서 + 클라이언트 IPv4 주소 추가(IP 주소) 를 클릭한 다음, 저장을 클릭합니다.

    그림 3

    참고: 클라이언트 IP 주소가 자동으로 입력되었습니다. 목록에 클라이언트 IP 주소를 추가하면 SQL Server Management Studio 또는 다른 클라이언트 도구를 사용하여 Azure SQL Database에 연결할 수 있습니다. 클라이언트 IP 주소를 기록해두면 나중에 사용할 수 있습니다.

  7. SQL Server Management Studio를 엽니다. 서버에 연결 대화 상자에서 Azure SQL Database 서버의 이름을 붙여넣고 아래 자격 증명으로 로그인합니다.

    • 서버 이름: <여기에 Azure SQL Database 서버 이름 붙여넣기>__
    • 인증: SQL Server 인증
    • 서버 관리자 로그인: sqladmin
    • 암호: P@ssw0rd01

    자동으로 생성된 휴대폰 설명의 스크린샷

  8. 연결을 클릭합니다.

  9. 개체 탐색기에서 서버 노드를 확장하고 데이터베이스를 마우스 오른쪽 단추로 클릭합니다. 데이터 계층 애플리케이션 가져오기를 클릭합니다.

    자동으로 생성된 소셜 미디어 게시 설명의 스크린샷

  10. 데이터 계층 애플리케이션 가져오기 대화 상자의 첫 번째 화면에서 다음을 클릭합니다.

  11. https://github.com/MicrosoftLearning/dp-300-database-administrator/blob/master/Instructions/Templates/AdventureWorksLT.bacpac에 있는 .bacpac 파일을 랩 VM의 C:\LabFiles\Secure Environment 경로에 다운로드합니다(폴더 구조가 없는 경우 새로 만들기).

  12. 가져오기 설정 화면에서 찾아보기를 클릭하고 C:\LabFiles\Secure Environment로 이동하여 AdventureWorksLT.bacpac 파일을 클릭한 다음, 열기를 클릭합니다. 데이터 계층 애플리케이션 가져오기 화면에서 다음을 클릭합니다.

    자동으로 생성된 소셜 미디어 게시 설명의 스크린샷

    자동으로 생성된 소셜 미디어 게시 설명의 스크린샷

  13. 데이터베이스 설정 화면에서 아래와 같이 변경합니다.

    • 데이터베이스 이름: AdventureWorksFromBacpac
    • Microsoft Azure SQL Database의 버전: 기본

    자동으로 생성된 휴대폰 설명의 스크린샷

  14. 다음을 클릭합니다.

  15. 요약 화면에서 마침을 클릭합니다. 가져오기가 완료되면 아래 결과가 표시됩니다. 그런 다음 닫기를 클릭합니다.

    자동으로 생성된 휴대폰 설명의 스크린샷

  16. SQL Server Management Studio로 돌아가서 개체 탐색기Databases 폴더를 펼칩니다. 그런 다음 AdventureWorksFromBacpac 데이터베이스를 마우스 오른쪽 단추로 클릭한 다음 새 쿼리를 클릭합니다.

    자동으로 생성된 휴대폰 설명의 스크린샷

  17. 텍스트를 쿼리 창에 붙여넣어 다음 T-SQL 쿼리를 실행합니다.
    1. 중요: 000.000.000.00을 클라이언트 IP 주소로 바꿉니다. 실행을 클릭하거나 F5 키를 누릅니다.
     EXECUTE sp_set_database_firewall_rule 
             @name = N'AWFirewallRule',
             @start_ip_address = '000.000.000.00', 
             @end_ip_address = '000.000.000.00'
    
  18. 다음으로 AdventureWorksFromBacpac 데이터베이스에 포함된 사용자를 만듭니다. 새 쿼리를 클릭하고 다음 T-SQL을 실행합니다.

     USE [AdventureWorksFromBacpac]
     GO
     CREATE USER ContainedDemo WITH PASSWORD = 'P@ssw0rd01'
    

    자동으로 생성된 휴대폰 설명의 스크린샷

    참고: 이 명령은 AdventureWorksFromBacpac 데이터베이스 내에 포함된 사용자를 만듭니다. 다음 단계에서 이 자격 증명을 테스트합니다.

  19. 개체 탐색기로 이동합니다. 연결을 클릭한 다음 데이터베이스 엔진을 클릭합니다.

    그림 1960831949

  20. 이전 단계에서 생성된 자격 증명을 사용하여 연결을 시도합니다. 다음 정보를 사용해야 합니다.

    • 로그인: ContainedDemo
    • 암호: P@ssw0rd01

    연결을 클릭합니다.

    다음과 같은 오류가 표시됩니다.

    자동으로 생성된 휴대폰 설명의 스크린샷

    참고: 연결 과정에서 사용자가 생성된 AdventureWorksFromBacpac이 아닌 master 데이터베이스에 로그인을 시도했기 때문에 이 오류가 생성되었습니다. 확인을 클릭하고 연결 컨텍스트를 변경하여 오류 메시지를 종료한 다음, 아래와 같이 서버에 연결 대화 상자에서 옵션 » 을 클릭합니다.

    그림 9

  21. 연결 속성 탭에서 데이터베이스 이름 AdventureWorksFromBacpac을 입력한 다음, 연결을 클릭합니다.

    자동으로 생성된 소셜 미디어 게시 설명의 스크린샷

  22. ContainedDemo 사용자를 사용하여 성공적으로 인증할 수 있었습니다. 이번에는 새로 만든 사용자가 액세스할 수 있는 유일한 데이터베이스인 AdventureWorksFromBacpac에 직접 로그인했습니다.

    그림 10

이 연습에서는 Azure SQL Database에서 호스트되는 데이터베이스에 액세스하도록 서버 및 데이터베이스 방화벽 규칙을 구성했습니다. 또한 T-SQL 문을 사용하여 포함된 사용자를 만들고 SQL Server Management Studio를 사용하여 액세스를 확인했습니다.