Azure 액세스 관리를 다른 사람에게 위임
Azure RBAC(Azure 역할 기반 액세스 제어)에서Azure 리소스에 대한 액세스 권한을 부여하려면 Azure 역할을 할당합니다. 예를 들어 사용자가 구독에서 웹 사이트를 만들고 관리해야 하는 경우 웹 사이트 기여자 역할을 할당합니다.
Azure 리소스에 대한 액세스 권한을 부여하기 위해 Azure 역할을 할당하는 것은 일반적인 작업입니다. 관리자는 액세스 권한을 부여하라는 여러 요청을 받을 수 있으며 이러한 역할을 다른 사람에게 위임하고자 할 수 있습니다. 그러나 대리자가 작업을 수행하는 데 필요한 권한만 가지고 있는지 확인해야 합니다. 이 문서에서는 조직의 다른 사용자에게 역할 할당 관리를 위임하는 보다 안전한 방법을 설명합니다.
역할 할당 관리를 위임하는 이유
역할 할당 관리를 다른 사람에게 위임해야 하는 몇 가지 이유는 다음과 같습니다.
- 조직에서 역할을 할당하라는 여러 요청을 받습니다.
- 사용자는 필요한 역할 할당을 기다리는 동안 차단됩니다.
- 해당 부서, 팀 또는 프로젝트 내의 사용자가 누구에게 액세스가 필요한지에 대한 더 자세한 정보를 가지고 있습니다.
- 사용자에게 Azure 리소스를 만들 수 있는 권한이 있지만 해당 리소스를 완전히 사용하려면 추가 역할 할당이 필요합니다. 예:
- 가상 머신을 만들 수 있는 권한이 있는 사용자는 가상 머신 관리자 로그인 또는 가상 머신 사용자 로그인 역할 없이 가상 머신에 즉시 로그인할 수 없습니다. 관리자를 찾아 로그인 역할을 할당하는 대신 사용자가 로그인 역할을 자신에게 할당할 수 있으면 더 효율적입니다.
- 개발자는 AKS(Azure Kubernetes Service) 클러스터 및 ACR(Azure Container Registry)을 만들 수 있는 권한이 있지만 ACR에서 이미지를 끌어올 수 있도록 AcrPull 역할을 관리 ID에 할당해야 합니다. AcrPull 역할을 할당하기 위해 관리자를 찾는 대신 개발자가 역할을 직접 할당할 수 있으면 더 효율적입니다.
현재 역할 할당 관리를 위임할 수 있는 방법
소유자 및 사용자 액세스 관리자 역할은 사용자가 역할 할당을 만들 수 있도록 하는 기본 제공 역할입니다. 이러한 역할의 구성원은 구독의 모든 리소스에 대한 쓰기, 읽기 및 삭제 권한을 가질 수 있는 사용자를 결정할 수 있습니다. 역할 할당 관리를 다른 사용자에게 위임하려면 소유자 또는 사용자 액세스 관리자 역할을 사용자에게 할당할 수 있습니다.
다음 다이어그램에서는 Alice가 역할 할당 책임을 Dara에게 위임하는 방법을 보여 줍니다. 특정 단계는 Azure 구독 의 관리자로 사용자 할당을 참조하세요.
- Alice는 Dara에게 사용자 액세스 관리자 역할을 할당합니다.
- 이제 Dara는 동일한 범위의 모든 사용자, 그룹 또는 서비스 주체에 모든 역할을 할당할 수 있습니다.
현재 위임 방법의 문제는 무엇인가요?
조직에서 다른 사람에게 역할 할당 관리를 위임하는 현재 방법의 주요 문제는 다음과 같습니다.
- 대리자는 역할 할당 범위에서 무제한 액세스 권한을 가집니다. 이는 최소 권한의 원칙을 위반하여 더 넓은 공격 표면에 노출되도록 합니다.
- 대리인은 자신을 포함하여 범위 내의 모든 사용자에게 모든 역할을 할당할 수 있습니다.
- 대리인은 소유자 또는 사용자 액세스 관리자 역할을 다른 사용자에게 할당할 수 있습니다. 그러면 해당 사용자는 또 다른 사용자에게 역할을 할당할 수도 있습니다.
소유자 또는 사용자 액세스 관리자 역할을 할당하는 대신 더 안전한 방법은 역할 할당을 만드는 대리자의 기능을 제한하는 것입니다.
보다 안전한 방법: 조건을 사용하여 역할 할당 관리 위임
조건을 사용하여 역할 할당 관리를 위임하는 것은 사용자가 만들 수 있는 역할 할당을 제한하는 한 가지 방법입니다. 앞의 예제에서 Alice는 Dara가 자신을 대신하여 모든 역할 할당이 아닌 일부 역할 할당을 만들도록 허용할 수 있습니다. 예를 들어 Alice는 Dara가 할당할 수 있는 역할을 제한하고 Dara가 역할을 할당할 수 있는 보안 주체를 제한할 수 있습니다. 조건을 사용한 이 위임은 제한된 위임이라고도 하며 Azure ABAC(Azure 특성 기반 액세스 제어) 조건을 사용하여구현됩니다.
이 동영상에서는 조건을 사용하여 역할 할당 관리를 위임하는 방법의 개요를 제공합니다.
조건을 사용하여 역할 할당 관리를 위임하는 이유
조건을 사용하여 다른 사용자에게 역할 할당 관리를 위임하는 것이 더 안전한 몇 가지 이유는 다음과 같습니다.
- 대리자가 만들 수 있는 역할 할당을 제한할 수 있습니다.
- 대리자가 다른 사용자의 역할 할당 할당을 허용하는 것을 방지할 수 있습니다.
- 최소 권한에 대한 조직의 규정 준수를 적용할 수 있습니다.
- 서비스 계정에 전체 권한을 부여하지 않고도 Azure 리소스 관리를 자동화할 수 있습니다.
조건 예제
Alice가 구독에 대한 사용자 액세스 관리자 역할을 가진 관리자인 예를 고려해 보세요. Alice는 Dara에게 특정 그룹에 대한 특정 역할을 할당할 수 있는 권한을 부여하려고 합니다. Alice는 Dara가 다른 역할 할당 권한을 갖기를 원하지 않습니다. 다음 다이어그램에서는 Alice가 조건을 사용하여 Dara에게 역할 할당 책임을 위임하는 방법을 보여 줍니다.
- Alice가 Dara에게 역할 기반 액세스 제어 관리자 역할을 할당합니다. Alice는 Dara가 백업 기여자 또는 백업 읽기 권한자 역할만 마케팅 및 영업 그룹에 할당할 수 있도록 조건을 추가합니다.
- 이제 Dara는 백업 기여자 또는 백업 읽기 권한자 역할을 마케팅 및 영업 그룹에 할당할 수 있습니다.
- Dara가 다른 역할을 할당하거나 다른 보안 주체(예: 사용자 또는 관리 ID)에 역할을 할당하려고 하면 역할 할당이 실패합니다.
역할 기반 액세스 제어 관리자 역할
역할 기반 액세스 제어 관리자 역할은 역할 할당 관리를 다른 사람에게 위임하기 위해 설계된 기본 제공 역할입니다. 이 역할은 사용자 액세스 관리자보다 권한이 적은데, 이는 최소 권한 모범 사례에 부합합니다. 역할 기반 액세스 제어 관리자 역할에는 다음과 같은 권한이 있습니다.
- 지정된 범위에서 역할 할당을 만듭니다.
- 지정된 범위에서 역할 할당을 삭제합니다.
- 비밀을 제외한 모든 유형의 리소스를 읽습니다.
- 지원 티켓을 만들거나 업데이트합니다.
역할 할당을 제한하는 방법
조건을 사용하여 역할 할당을 제한할 수 있는 방법은 다음과 같습니다. 시나리오에 맞게 이러한 조건을 결합할 수도 있습니다.
할당할 수 있는 역할 제한
역할이 할당될 수 있는 역할 및 보안 주체 유형(사용자, 그룹 또는 서비스 주체) 제한
역할이 할당될 수 있는 역할 및 특정 보안 주체 제한
역할 할당 작업 추가 및 제거에 서로 다른 조건 지정
조건적을 사용하여 역할 할당 관리를 위임하는 방법
조건을 사용하여 역할 할당 관리를 위임하려면 현재와 같이 역할을 할당하되 역할 할당에 조건도 추가합니다.
대리자에게 필요한 권한 확인
- 대리자는 어떤 역할을 할당할 수 있나요?
- 대리자는 어떤 유형의 보안 주체에게 역할을 할당할 수 있나요?
- 대리자가 어떤 보안 주체에게 역할을 할당할 수 있나요?
- 대리자가 모든 역할 할당을 제거할 수 있나요?
새 역할 할당 시작
역할 기반 액세스 제어 관리자 역할을 선택합니다.
Microsoft.Authorization/roleAssignments/write
작업을 포함하는 모든 역할을 선택할 수 있지만 역할 기반 액세스 제어 관리자의 권한은 더 적습니다.대리자 선택
역할 할당 관리를 위임할 사용자를 선택합니다.
조건 추가
조건을 추가할 수 있는 여러 가지 방법이 있습니다. 예를 들어 Azure Portal의 조건 템플릿, Azure Portal의 고급 조건 편집기, Azure PowerShell, Azure CLI, Bicep 또는 REST API를 사용할 수 있습니다.
조건 템플릿 목록에서 선택합니다. 구성을 선택하여 역할, 보안 주체 유형 또는 보안 주체를 지정합니다.
자세한 내용은 조건을 사용하여 다른 사람에게 Azure 역할 할당 관리 위임을 참조하세요.
조건을 사용하여 대리자에게 역할 할당
조건을 지정한 후 역할 할당을 완료합니다.
대리인에게 연락
이제 대리자가 조건부로 역할을 할당할 수 있음을 알립니다.
조건이 있는 기본 제공 역할
Key Vault 데이터 액세스 관리자 및 가상 머신 데이터 액세스 관리자(미리 보기) 역할에는 역할 할당을 제한하는 기본 제공 조건이 이미 있습니다.
Key Vault 데이터 액세스 관리자 역할을 사용하면 Key Vault 비밀, 인증서 및 키에 대한 액세스를 관리할 수 있습니다. 소유자 또는 사용자 액세스 관리자 역할과 같은 권한 있는 역할을 할당하는 기능 없이 액세스 제어에만 중점을 둡니다. 이를 통해 데이터 서비스 전반의 미사용 암호화를 관리하는 것과 같은 시나리오에서 의무를 더 잘 분리하여 최소 권한 원칙을 추가로 준수할 수 있습니다. 이 조건은 역할 할당을 다음 Azure Key Vault 역할로 제한합니다.
- Key Vault 관리자
- Key Vault 인증서 책임자
- Key Vault 암호화 책임자
- Key Vault 암호화 서비스 암호화 사용자
- Key Vault 암호화 사용자
- Key Vault 읽기 권한자
- Key Vault 비밀 책임자
- Key Vault 비밀 사용자
Key Vault 데이터 액세스 관리자 역할 할당을 추가로 제한하려면 자체 조건을 추가하여 Key Vault 역할이 할당될 수 있는 보안 주체 유형(사용자, 그룹 또는 서비스 주체) 또는 특정 보안 주체를 제한할 수 있습니다.
알려진 문제
다음은 조건을 사용하여 역할 할당 관리를 위임하는 것과 관련된 알려진 문제입니다.
- Privileged Identity Management를 사용하여 조건부로 사용자 지정 역할에 대한 역할 할당 관리를 위임할 수 없습니다.
- Microsoft.Storage 데이터 작업 및 GUID 비교 연산자를 사용하는 ABAC 조건으로 역할을 할당할 수 없습니다. 자세한 내용은 Azure RBAC 문제 해결을 참조하세요.
라이선스 요구 사항
이 기능은 무료이며 Azure 구독에 포함되어 있습니다.