새소식

자격증/Azure

MS Learn 파트 5-2 :: Azure에서 클라우드 거버넌스 전략 빌드 (AZ-900)

  • -

*‘거버넌스’라는 용어는 규칙 및 정책을 설정하고 해당 규칙 및 정책이 적용되도록 하는 일반적인 프로세스를 설명

1. Azure 역할 기반 액세스 제어를 사용하여 클라우드 리소스에 대한 액세스 제어 (Roll Based Access Control)

Azure RBAC(Azure 역할 기반 액세스 제어)를 통해 액세스 제어 가능

리소스에 RBAC 어떻게 적용?

  • 이 액세스가 적용되는 리소스 또는 리소스 세트인 ‘범위’에 적용
  • 부모 범위에서 액세스 권한을 부여하는 경우 해당 권한은 모든 자식 범위에 상속

범위
관리 그룹(여러 구독의 컬렉션) > 단일 구독 > 리소스 그룹 > 단일 리소스
ex. 리소스 그룹 범위에서 애플리케이션에 기여자 역할을 할당하면 애플리케이션은 해당 리소스 그룹 내에서 모든 형식의 리소스를 관리할 수 있지만 구독 내의 다른 리소스 그룹은 관리할 수 없음

Azure RBAC는 언제 사용?

  • 한 사용자는 구독의 VM을 관리하고 다른 사용자는 가상 네트워크를 관리하도록 허용합니다.
  • 데이터베이스 관리자 그룹이 구독의 SQL 데이터베이스를 관리하도록 허용합니다.
  • 사용자가 가상 머신, 웹 사이트, 서브넷 등 리소스 그룹의 모든 리소스를 관리하도록 허용합니다.
  • 애플리케이션이 리소스 그룹의 모든 리소스에 액세스하도록 허용합니다.

Azure RBAC는 어떻게 적용?

  • Azure RBAC는 Azure Resource Manager를 전달되는 Azure 리소스에 대해 시작되는 모든 작업에 적용
  • RBAC는 허용 모델 사용

Azure RBAC는 누구에게 적용?

  • 사용자 또는 그룹
  • 서비스 주체 및 관리 ID와 같은 다른 특별한 ID 형식에도 적용

Azure RBAC 권한 관리

  • 액세스 권한은 Azure Portal 액세스 제어(IAM) 창에서 관리
  • 누가 어떤 범위에 액세스할 수 있고 어떤 역할이 적용되는지 보여줌

2. 리소스 잠금을 사용하여 실수로 변경하지 않도록 방지

리소스 잠금

  • 이를 통해 실수로 삭제하거나 변경하는 것을 방지
  • 리소스를 삭제하거나 변경하지 않아야 함을 미리 알리는 경고 시스템으로 간주

리소스 잠금 관리

  • Azure Portal, PowerShell, Azure CLI 또는 Azure Resource Manager 템플릿에서 관리 가능
  • Azure Portal → 리소스 설정 창의 설정 섹션 → 잠금 보기, 추가, 삭제 가능

사용할 수 있는 잠금 수준

  • 구독, 리소스 그룹 또는 리소스에 잠금 적용 가능
  • 잠금 수준: CanNotDelete Or ReadOnly
  • CanNotDelete: 권한 있는 사용자가 리소스를 읽고 수정할 수 있지만, 먼저 잠금을 제거하지 않고는 리소스를 삭제할 수 없음을 의미
  • ReadOnly: 권한 있는 사용자가 리소스를 읽을 수 있지만, 리소스를 삭제하거나 변경할 수 없음. Azure RBAC의 읽기 권한자 역할 부여와 같음

잠긴 리소스를 삭제하거나 변경

  • 잠긴 리소스 수정을 위해서 잠금 해제 필요
  • 잠금 해제 이후에는 수행할 권한이 있는 모든 작업 적용 가능
  • 리소스 잠금은 RBAC 권한에 관계 없이 적용 (리소스 소유자도 먼저 잠금을 해제해야 함)

리소스 잠금을 Azure Blueprints와 결합

  • 보호 프레세스를 보다 강력하게 만들기 위해 Azure Blueprints와 리소스 잠금 결합 가능

3. 태그를 사용하여 Azure 리소스 구성

태그: 리소스에 관한 추가 정보 또는 메타데이터를 제공

해당 메타데이터는 다음과 같은 경우에 유용

  • 리소스 관리 태그를 사용하면 특정 워크로드, 환경, 사업부 및 소유자와 연결된 리소스를 찾고 작업할 수 있습니다.
  • 비용 관리 및 최적화 태그를 사용하면 리소스를 그룹화하여 비용을 보고하고, 내부 비용 센터를 할당하고, 예산을 추적하고, 예상 비용을 예측할 수 있습니다.
  • 작업 관리 태그를 사용하면 비즈니스에 대한 가용성의 중요도에 따라 리소스를 그룹화할 수 있습니다. 이렇게 그룹화하면 SLA(서비스 수준 계약)를 작성하는 데 도움이 됩니다. SLA는 여러분과 사용자 간의 작동 시간 또는 성능 보장입니다.
  • 보안 태그를 사용하면 보안 수준(예: 퍼블릭 또는 기밀)을 기준으로 데이터를 분류할 수 있습니다.
  • 거버넌스 및 규정 준수 태그를 사용하면 거버넌스 또는 규정 준수 요구 사항(예: ISO 27001)에 부합하는 리소스를 식별할 수 있습니다. 태그는 표준 적용 작업의 일부일 수도 있습니다. 예를 들어 모든 리소스에 소유자 또는 부서 이름으로 태그를 지정해야 할 수 있습니다.
  • 워크로드 최적화 및 자동화 태그를 통해 복잡한 배포에 참여하는 모든 리소스를 시각화할 수 있습니다. 예를 들어 연결된 워크로드 또는 애플리케이션 이름으로 리소스에 태그를 지정하고 Azure DevOps와 같은 소프트웨어를 사용하여 해당 리소스에서 자동화된 작업을 수행할 수 있습니다.

리소스 태그 관리

  • PowerShell, Azure CLI, Azure Resource Manage 템플릿, REST API 또는 Azure Portal을 통해 리소스 태그를 추가, 수정 또는 삭제 가능
  • Azure Policy를 사용하여 태그 관리 가능
  • 리소스 그룹에 태그를 적용해도 관련 리소스 그룹 내의 리소스에 자동으로 적용되지 않음 ⇒ Azure Policy를 통해 부모 리소스 그룹과 동일한 태그를 상속하는지 확인 가능
  • Azure Policy를 사용하여 태그 지정 규칙 적용 가능 ⇒ 새 리소스 프로비저닝시 해당 리소스에 특정 태그를 추가하도록 요구 가능

태그 지정 구조 예제

태그는 이름, 값으로 구성

여러개의 태그 지정 가능

  • AppName: 리소스가 속한 애플리케이션의 이름
  • CostCenter: 내부 비용 센터 코드
  • 소유자: 리소스를 담당하는 비즈니스 소유자 이름
  • 환경: "Prod", "Dev", "Test"
  • 영향: "중요 업무용", "높은 영향", "낮은 영향" (리소스의 중요도)

4. Azure Policy를 사용하여 리소스 제어 및 감사

Azure Policy

리소스를 제어하거나 감사하는 정책을 만들고, 할당하고, 관리할 수 있는 Azure의 서비스

Azure Policy 정책 정의 방법

  • ‘이니셔티브’라는 개별 정책 및 관련 정책 그룹을 둘 다 정의 가능
  • 스토리지, 네트워킹, 컴퓨팅, Security Center 및 모니터링과 같은 범주에서 사용할 수 있는 다양한 기본 정책과 이니셔티브 정의가 제공
  • ex. VM(가상 머신)의 특정 SKU(Stock Keeping Unit) 크기만 사용할 수 있도록 하는 정책을 정의 ⇒ 새 VM을 만들거나 기존 VM의 크기를 조정할때 해당 정책 적용. Azure Policy 환경에 있는 모든 현재 VM 평가
  • 정책 미준수 리소스 및 구성을 통해 리소스 상태의 무결성 보장 가능
  • 애플리케이션 배포 전 및 배포 후 단계에 적용되는 파이프라인 정책을 적용하여 Azure DevOps와 통합 가능

Azure Policy 실제 작동 방식

1. 정책 정의 만들기

  • 평가할 내용과 수행할 작업을 나타냄
  • 모든 정책 정의에는 정책이 적용 되는 조건이 존재

정책 정의 예제

  • 허용된 가상 머신 SKU 이 정책을 사용하면 조직에서 배포할 수 있는 일련의 VM SKU를 지정할 수 있습니다.
  • 허용된 위치 이 정책을 사용하면 조직에서 리소스를 배포할 때 지정할 수 있는 위치를 제한할 수 있습니다. 해당 효과는 지리적 규정 준수 요구 사항을 적용하는 데 사용됩니다.
  • 구독에서 쓰기 권한이 있는 계정에 대해 MFA를 사용하도록 설정 이 정책의 경우 계정 또는 리소스 위반을 방지하려면 쓰기 권한이 있는 모든 구독 계정에 대해 MFA(Multi-Factor Authentication)를 사용하도록 설정해야 합니다.
  • CORS에서 모든 리소스가 웹 애플리케이션에 액세스하도록 허용하지 않아야 함 CORS(원본 간 리소스 공유)는 한 도메인에서 실행되는 웹 애플리케이션이 다른 도메인의 리소스에 액세스할 수 있게 해주는 HTTP 기능입니다. 보안상 이유로 최신 웹 브라우저는 기본적으로 사이트 간 스크립팅을 제한합니다. 이 정책은 필요한 도메인만 웹앱과 상호 작용하도록 허용합니다.
  • 머신에 시스템 업데이트를 설치해야 함 이 정책을 사용하면 Azure Security Center가 서버에서 누락된 보안 시스템 업데이트를 추천할 수 있습니다.

2. 리소스에 정의 할당

  • 정책 정의를 구현하려면 리소스에 정의를 할당
  • ‘정책 할당’은 특정 범위 내에서 발생하는 정책 정의
  • 정책 할당은 해당 범위 내 모든 자식 리소스에 상속
  • 정책 할당에서 제외해야 하는 특정 자식 리소스가 있는 경우 정책 할당에서 하위 범위를 제외 가능

3. 평가 결과 검토

  • 평가 시 리소스 준수 또는 미준수로 표시
  • 정책 평가는 시간당 한 번정도 수행 됨

Azure Policy 이니셔티브

  • Azure Policy 이니셔티브는 관련 정책을 하나의 세트로 그룹화하는 방법
    Azure Security Center 에서 모니터링 사용 이니셔티브에는 다음 정책 정의
  • Security Center에서 암호화되지 않은 SQL Database 모니터링 이 정책은 암호화되지 않은 SQL 데이터베이스 및 서버를 모니터링합니다.
  • Security Center에서 OS 취약성 모니터링 이 정책은 구성된 OS 취약성 기준을 충족하지 않는 서버를 모니터링합니다.
  • Security Center에서 누락된 Endpoint Protection 모니터링 이 정책은 엔드포인트 보호 에이전트가 설치되지 않은 서버를 모니터링합니다.

이니셔티브를 정의하려면 어떻게 할까?

  • Azure Portal 또는 CLI 도구를 사용하여 이니셔티브 정의
  • Azure Portal에서는 기본 이니셔티브 목록 검색 가능

이니셔티브를 할당하려면 어떻게 할까?

  • 정책 할당과 마찬가지로 이니셔티브 할당은 관리 그룹, 구독 또는 리소스 그룹의 특정 범위에 할당되는 이니셔티브 정의

5. Azure Blueprints를 사용하여 여러 구독 관리

클라우드 환경이 하나의 구독을 초과하기 시작하면??

새 구독마다 Azure Policy 같은 기능을 구성하는 대신 Azure Blueprints를 사용하면 조직에 필요한 거버넌스 도구 및 표준 Azure 리소스의 반복 가능한 세트를 정의 가능

다음과 같은 다양한 리소스 템플릿 및 기타 아티팩트의 배포를 오케스트레이션 함

  • 역할 할당
  • 정책 할당
  • Azure Resource Manager 템플릿
  • 리소스 그룹

Azure Blueprints 실제 작동 방식

Azure Blueprints를 사용하여 조직 전체에서 거버넌스 사례를 스케일링 할 수 있음

  1. Azure Blueprints를 만듬
  2. Blueprints 할당
  3. Blueprints 할당 추적

Blueprints 아티팩트

  • Blueprints 정의의 각 구성 요소를 '아티팩트'라고 함
  • 아티팩트에는 추가 매개 변수가 없을 수 있다. ex. SQL Server에 위협 탐지 배포
  • Blueprint 정의를 만들거나 범위에 청사진 정의를 할당할 때 매개 변수 값을 지정할 수 있음

6. Azure에 대한 클라우드 채택 프레임워크(CLOUD ADOPTION FRAMEWORK)를 사용하여 클라우드 채택 경험 가속화

Cloud Adoption Framework

구성

  • 도구
  • 설명서
  • 입증된 사례

스테이지 구성

  1. 전략 정의
  2. 계획 수립
  3. 조직 준비
  4. 클라우드 채택
  5. 클라우드 환경 제어 및 관리

전략 정의

  • 클라우드로 전환하는 이유 및 클라우드 마이그레이션에서 얻으려는 이점이 무엇인지 대답

단계

  1. 동기 정의 및 문서화: 클라우드 전환 하는 이유
  2. 비즈니스 결과 문서화: 목표 문서화
  3. 재무 고려 사항 평가: 목표 측정하고 기대 수익 파악
  4. 기술적 고려 사항 이해: 첫 번째 기술 프로젝트 선택, 기술 고려 사항 평가

계획 수립

  • 원하는 목표를 특정 작업에 매핑하는 계획을 수립

단계

  1. 디지털 자산: 클라우드로 마이그레이션할 계획인 기존 디지털 자산 및 워크로드의 인벤토리를 만듬
  2. 초기 조직 정렬: 클라우드 거버넌스 관점 및 기술적 관점에서 적합한 사용자가 마이그레이션 작업에 참여하는지 확인
  3. 기술 준비 계획: 클라우드 운영에 필요한 기술을 연마하는데 도움이 되는 계획 수립
  4. 클라우드 채택 계획

조직 준비

  • 워크로드 호스팅을 시작하는 ‘랜딩 존’ 또는 클라우드의 환경

단계

  1. Azure 설정 가이드
  2. Azure 랜딩 존
  3. 랜딩 존 확장
  4. 모범 사례

클라우드 채택

  • 애플리케이션을 클라우드로 마이그레이션하기 시작

단계
크게 두 부분으로 나뉨

가. 마이그레이션 스테이지

  1. 첫 번째 워크로드 마이그레이션: Azure 마이그레이션 가이드를 사용하여 첫 번째 프로젝트를 클라우드에 배포
  2. 마이그레이션 시나리오
  3. 모범 사례
  4. 프로세스 개선

나. 혁신 스테이지

  1. 비즈니스 가치 협의
  2. Azure 혁신 가이드
  3. 모범 사례
  4. 피드백 루프

클라우드 환경 제어 및 관리

  • 클라우드 거버넌스 및 클라우드 관리 전략을 구성

단계
크게 두 단계로 나뉨

가. 제어

  1. 방법론
  2. 벤치마크
  3. 초기 거버넌스 기반
  4. 초기 거버넌스 기반 향상

나. 관리

  1. 관리 기준 설정
  2. 비즈니스 약속 정의
  3. 관리 기준 확장
  4. 고급 운영 및 디자인 원칙
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.