Az - Basic Information

Support HackTricks

Organization Hierarchy

Management Groups

조직에 많은 Azure 구독이 있는 경우, 이러한 구독에 대한 액세스, 정책 및 규정 준수를 효율적으로 관리할 방법이 필요할 수 있습니다. 관리 그룹구독 위의 거버넌스 범위를 제공합니다.

단일 디렉터리에서 10,000개의 관리 그룹을 지원할 수 있으며, 관리 그룹 트리는 최대 6단계 깊이를 지원할 수 있습니다.

문서에서: 각 디렉터리에는 루트 관리 그룹이라고 하는 단일 최상위 관리 그룹이 제공됩니다. 루트 관리 그룹은 모든 관리 그룹과 구독이 이에 포함되도록 계층 구조에 내장되어 있습니다. 이 루트 관리 그룹을 통해 디렉터리 수준에서 글로벌 정책 및 Azure 역할 할당을 적용할 수 있습니다. Azure AD Global Administrator는 자신을 User Access Administrator 역할로 승격해야 합니다. 액세스를 승격한 후, 관리자는 계층 구조를 관리하기 위해 다른 디렉터리 사용자 또는 그룹에 Azure 역할을 할당할 수 있습니다. 관리자로서, 자신의 계정을 루트 관리 그룹의 소유자로 할당할 수 있습니다.

루트 관리 그룹은 다른 관리 그룹과 달리 이동하거나 삭제할 수 없습니다.

관리 그룹은 어떤 유형의 구독을 가지고 있든 상관없이 대규모 엔터프라이즈급 관리를 제공합니다. 그러나 단일 관리 그룹 내의 모든 구독동일한 Azure Active Directory (Azure AD) 테넌트를 신뢰해야 합니다.

Azure Subscriptions

Azure에서 구독은 비즈니스 또는 기술 리소스를 프로비저닝하기 위한 논리적 컨테이너 역할을 합니다. 이 컨테이너는 가상 머신(VM), 데이터베이스 등과 같은 리소스의 세부 정보를 유지합니다. VM과 같은 Azure 리소스를 생성할 때, 해당 리소스와 연결된 구독을 지정합니다. 이 구조는 역할 기반 액세스 제어 메커니즘을 사용하여 액세스 위임을 용이하게 합니다.

Resource Groups

문서에서: 리소스 그룹은 Azure 솔루션을 위한 관련 리소스를 보유하는 컨테이너입니다. 리소스 그룹은 솔루션에 필요한 모든 리소스를 포함할 수 있으며, 또는 그룹으로 관리하려는 리소스만 포함할 수 있습니다. 일반적으로 동일한 수명 주기를 공유하는 리소스를 동일한 리소스 그룹에 추가하여 그룹으로 쉽게 배포, 업데이트 및 삭제할 수 있습니다.

모든 리소스리소스 그룹 내에 있어야 하며, 하나의 그룹에만 속할 수 있습니다. 리소스 그룹이 삭제되면 해당 그룹 내의 모든 리소스도 삭제됩니다.

Administrative Units

문서에서: 관리 단위는 조직을 원하는 단위로 세분화하고, 해당 단위의 구성원만 관리할 수 있는 특정 관리자를 할당할 수 있게 합니다. 예를 들어, 대규모 대학의 각 학교 관리자에게 권한을 위임하여 공학부 내에서만 액세스를 제어하고, 사용자를 관리하며, 정책을 설정할 수 있도록 할 수 있습니다.

사용자, 그룹디바이스관리 단위의 구성원이 될 수 있습니다.

따라서, 관리 단위일부 구성원을 포함하고, 다른 주체해당 관리 단위에 대한 권한을 할당받아 관리 단위의 구성원을 관리할 수 있습니다.

Azure vs Azure AD vs Azure AD Domain Services

Azure ADAzure 내의 서비스라는 점을 유의해야 합니다. Azure는 Microsoft의 클라우드 플랫폼인 반면, Azure AD는 Azure 내의 엔터프라이즈 아이덴티티 서비스입니다. 또한, Azure AD는 Windows Active Directory와 다릅니다. 이는 완전히 다른 방식으로 작동하는 아이덴티티 서비스입니다. Windows Active Directory 환경에서 도메인 컨트롤러를 Azure에서 실행하려면 Azure AD Domain Services를 사용해야 합니다.

Principals

Azure는 다양한 유형의 주체를 지원합니다:

  • User: 액세스 자격 증명을 가진 일반 사람.

  • Group: 함께 관리되는 주체 그룹. 그룹에 부여된 권한구성원에게 상속됩니다.

  • Service Principal/Enterprise Applications: 애플리케이션, 호스팅 서비스 및 자동화 도구가 Azure 리소스에 액세스하기 위해 사용하는 아이덴티티입니다. 이 액세스는 할당된 역할에 의해 제한되며, 이를 통해 어떤 리소스에 액세스할 수 있는지어느 수준에서 액세스할 수 있는지를 제어할 수 있습니다. 보안상의 이유로, 사용자 아이덴티티로 로그인하는 것보다 자동화 도구에 서비스 주체를 사용하는 것이 항상 권장됩니다.

서비스 주체를 생성할 때 비밀번호 인증 또는 인증서 인증 중에서 선택할 수 있습니다.

  • 비밀번호 인증을 선택하면(기본값), 생성된 비밀번호를 저장해야 하며, 다시 액세스할 수 없습니다.

  • 인증서 인증을 선택하면, 애플리케이션이 개인 키에 액세스할 수 있는지 확인해야 합니다.

  • Managed Identity (Metadata Creds): Azure Active Directory의 관리 아이덴티티는 애플리케이션의 아이덴티티를 자동으로 관리하는 솔루션을 제공합니다. 이러한 아이덴티티는 Azure Active Directory (Azure AD) 인증과 호환되는 리소스에 연결하기 위해 애플리케이션에서 사용됩니다. 관리 아이덴티티를 사용하면 애플리케이션이 자격 증명을 직접 처리할 필요 없이 안전한 Azure AD 토큰을 확보할 수 있습니다. 관리 아이덴티티에는 두 가지 유형이 있습니다:

  • System-assigned. 일부 Azure 서비스는 서비스 인스턴스에서 직접 관리 아이덴티티를 활성화할 수 있습니다. 시스템 할당 관리 아이덴티티를 활성화하면 Azure AD에 아이덴티티가 생성됩니다. 이 아이덴티티는 서비스 인스턴스의 수명 주기에 연결됩니다. 리소스삭제되면, Azure는 자동으로 아이덴티티를 삭제합니다. 설계상, 해당 Azure 리소스만 이 아이덴티티를 사용하여 Azure AD에서 토큰을 요청할 수 있습니다.

  • User-assigned. 독립형 Azure 리소스로 관리 아이덴티티를 생성할 수도 있습니다. 사용자 할당 관리 아이덴티티를 생성하고 Azure 서비스의 하나 이상의 인스턴스에 할당할 수 있습니다(여러 리소스). 사용자 할당 관리 아이덴티티의 경우, 아이덴티티는 이를 사용하는 리소스와 별도로 관리됩니다.

Roles & Permissions

Roles주체에게 범위에 따라 할당됩니다: principal -[HAS ROLE]->(scope)

그룹에 할당된 역할은 그룹의 모든 구성원에게 상속됩니다.

역할이 할당된 범위에 따라, 역할범위 컨테이너 내의 다른 리소스상속될 수 있습니다. 예를 들어, 사용자 A가 구독에 대한 역할을 가지고 있다면, 그는 구독 내의 모든 리소스 그룹리소스 그룹 내의 모든 리소스에 대해 그 역할을 가지게 됩니다.

Classic Roles

Owner

  • 모든 리소스에 대한 전체 액세스

  • 다른 사용자의 액세스를 관리할 수 있음

모든 리소스 유형

Contributor

  • 모든 리소스에 대한 전체 액세스

  • 액세스를 관리할 수 없음

모든 리소스 유형

Reader

• 모든 리소스 보기

모든 리소스 유형

User Access Administrator

  • 모든 리소스 보기

  • 다른 사용자의 액세스를 관리할 수 있음

모든 리소스 유형

Built-In roles

문서에서: Azure role-based access control (Azure RBAC)에는 사용자, 그룹, 서비스 주체 및 관리 아이덴티티할당할 수 있는 여러 Azure 내장 역할이 있습니다. 역할 할당은 Azure 리소스에 대한 액세스를 제어하는 방법입니다. 내장 역할이 조직의 특정 요구를 충족하지 못하는 경우, Azure 사용자 정의 역할을 만들 수 있습니다.

내장 역할은 의도된 리소스에만 적용됩니다. 예를 들어, Compute 리소스에 대한 내장 역할의 두 가지 예를 확인하십시오:

디스크 백업을 수행하기 위해 백업 볼트에 대한 권한을 제공합니다.

3e5e47e6-65f7-47ef-90b5-e5dd4d455f24

포털에서 가상 머신을 보고 일반 사용자로 로그인할 수 있습니다.

fb879df8-f326-4884-b1cf-06f3ad86be52

이 역할은 논리적 컨테이너(예: 관리 그룹, 구독 및 리소스 그룹)에도 할당될 수 있으며, 영향을 받는 주체는 해당 컨테이너 내의 리소스에 대해 역할을 가지게 됩니다.

Custom Roles

Azure는 또한 사용자가 필요로 하는 권한으로 사용자 정의 역할을 만들 수 있습니다.

Permission Denied

  • 주체가 리소스에 대한 액세스를 가지려면 명시적으로 그 권한을 부여하는 역할이 필요합니다.

  • 명시적인 거부 역할 할당이 권한을 부여하는 역할보다 우선합니다.

Global Administrator

Global Administrator 역할을 가진 사용자는 '루트 관리 그룹에 대한 User Access Administrator Azure 역할로 승격'할 수 있는 능력을 가지고 있습니다. 이는 Global Administrator가 모든 Azure 구독 및 관리 그룹에 대한 액세스를 관리할 수 있음을 의미합니다. 이 승격은 다음 페이지 하단에서 수행할 수 있습니다: https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/Properties

Azure Policies

Azure 정책은 Microsoft Azure, 클라우드 컴퓨팅 서비스에서 조직 표준을 관리하고 규정 준수를 대규모로 평가하는 데 도움이 되는 일련의 규칙 및 규정입니다. 이러한 정책은 Azure 리소스에 대해 다양한 규칙을 적용하여 해당 리소스가 기업 표준 및 서비스 수준 계약을 준수하도록 보장합니다.

Azure 정책은 클라우드 거버넌스 및 보안에 매우 중요하며, 리소스가 적절하고 효율적으로 사용되며 외부 규정 및 내부 정책을 준수하도록 보장합니다. 몇 가지 예:

  1. 특정 Azure 지역 준수 보장: 이 정책은 모든 리소스가 특정 Azure 지역에 배포되도록 보장합니다. 예를 들어, 회사는 GDPR 준수를 위해 모든 데이터를 유럽에 저장하도록 할 수 있습니다.

  2. 명명 표준 강제 적용: 정책은 Azure 리소스에 대한 명명 규칙을 강제할 수 있습니다. 이는 대규모 환경에서 리소스를 조직하고 쉽게 식별하는 데 도움이 됩니다.

  3. 특정 리소스 유형 제한: 이 정책은 특정 유형의 리소스 생성을 제한할 수 있습니다. 예를 들어, 정책은 비용을 제어하기 위해 특정 VM 크기와 같은 비싼 리소스 유형의 생성을 방지할 수 있습니다.

  4. 태그 정책 강제 적용: 태그는 리소스 관리에 사용되는 Azure 리소스와 연결된 키-값 쌍입니다. 정책은 특정 태그가 모든 리소스에 존재하거나 특정 값을 가져야 한다고 강제할 수 있습니다. 이는 비용 추적, 소유권 또는 리소스 분류에 유용합니다.

  5. 리소스에 대한 공용 액세스 제한: 정책은 스토리지 계정이나 데이터베이스와 같은 특정 리소스에 공용 엔드포인트가 없도록 강제하여 조직의 네트워크 내에서만 액세스할 수 있도록 보장할 수 있습니다.

  6. 보안 설정 자동 적용: 정책은 모든 VM에 특정 네트워크 보안 그룹을 적용하거나 모든 스토리지 계정이 암호화를 사용하도록 하는 등 리소스에 보안 설정을 자동으로 적용하는 데 사용할 수 있습니다.

Azure 정책은 Azure 계층 구조의 모든 수준에 연결할 수 있지만, 일반적으로 루트 관리 그룹 또는 다른 관리 그룹에서 사용됩니다.

Permissions Scope

Azure에서 권한은 계층 구조의 어느 부분에나 할당될 수 있습니다. 여기에는 관리 그룹, 구독, 리소스 그룹 및 개별 리소스가 포함됩니다. 권한은 할당된 엔터티의 포함된 리소스에 의해 상속됩니다.

이 계층 구조는 액세스 권한 관리를 효율적이고 확장 가능하게 만듭니다.

Azure RBAC vs ABAC

RBAC(역할 기반 액세스 제어)는 이전 섹션에서 이미 본 것처럼 주체에게 역할을 할당하여 리소스에 대한 액세스를 부여하는 것입니다. 그러나 경우에 따라 더 세밀한 액세스 관리를 제공하거나 수백 개의 역할 할당 관리를 단순화하고자 할 수 있습니다.

Azure ABAC(속성 기반 액

Last updated