Azure 역할 기반 액세스 제어 설명
여러 IT 및 엔지니어링 팀이 있는 경우 클라우드 환경의 리소스에 대한 액세스를 어떻게 제어할 수 있나요? 최소 권한 원칙은 작업을 완료하는 데 필요한 수준까지만 액세스 권한을 부여해야 한다고 말합니다. 스토리지 Blob에 대한 읽기 권한만 필요한 경우 해당 스토리지 Blob에 대한 읽기 권한만 부여받아야 합니다. 해당 Blob에 대한 쓰기 액세스 권한은 부여되지 않아야 하며 다른 스토리지 Blob에 대한 읽기 권한도 부여해서는 안 됩니다. 따라야 할 좋은 보안 사례입니다.
그러나 전체 팀에 대한 사용 권한 수준을 관리하는 것은 지루할 것입니다. 각 개인에 대한 자세한 액세스 요구 사항을 정의한 다음, 새 리소스가 생성되거나 새 사람이 팀에 합류할 때 액세스 요구 사항을 업데이트하는 대신 Azure를 사용하면 Azure RBAC(역할 기반 액세스 제어)를 통해 액세스를 제어할 수 있습니다.
Azure는 클라우드 리소스의 퍼블릭 액세스 규칙을 설명하는 기본적인 역할도 장착하고 있습니다. 임의로 역할을 정의할 수도 있습니다. 각 역할에는 해당 역할과 관련된 액세스 권한의 연결된 세트가 있습니다. 하나 이상의 역할에 할당되는 개인 또는 그룹은 연결된 액세스 권한을 모두 부여받습니다.
따라서 새 엔지니어를 고용하여 엔지니어를 위해 Azure RBAC 그룹에 추가하면 동일한 Azure RBAC 그룹의 다른 엔지니어와 동일한 액세스 권한이 자동으로 부여됩니다. 마찬가지로 추가 리소스를 추가하고 Azure RBAC를 가리키는 경우 해당 Azure RBAC 그룹의 모든 사용자는 이제 새 리소스와 기존 리소스에 대한 권한을 갖게 됩니다.
리소스에 역할 기반 액세스 제어는 어떻게 적용되나요?
역할 기반 액세스 제어는 이 액세스가 적용되는 리소스 또는 리소스 세트인 ‘범위’에 적용됩니다.
다음 다이어그램은 역할과 범위 간의 관계를 보여 줍니다. 관리 그룹, 구독 또는 리소스 그룹에 소유자 역할이 부여될 수 있으므로 제어 및 권한이 향상됩니다. 업데이트를 수행할 것으로 예상되지 않는 관찰자에게 동일한 범위에 대한 읽기 권한자 역할이 부여되어 관리 그룹, 구독 또는 리소스 그룹을 검토하거나 관찰할 수 있습니다.
범위는 다음과 같습니다.
- 관리 그룹(여러 구독의 컬렉션)
- 단일 구독
- 리소스 그룹
- 단일 리소스
관찰자, 리소스를 관리하는 사용자, 관리자, 자동화된 프로세스는 일반적으로 다양한 역할 각각에 할당되는 사용자 또는 계정의 종류를 보여 줍니다.
Azure RBAC는 계층 구조입니다. 부모 범위에서 액세스 권한을 부여할 때 해당 권한은 모든 자식 범위에서 상속됩니다. 예를 들면 다음과 같습니다.
- 관리 그룹 범위에서 사용자에게 소유자 역할을 할당하면 해당 사용자는 관리 그룹 내에서 모든 구독의 모든 항목을 관리할 수 있습니다.
- 구독 범위에서 그룹에 읽기 권한자 역할을 할당하면 해당 그룹의 멤버는 구독 내의 모든 리소스 그룹 및 리소스를 볼 수 있습니다.
Azure RBAC는 어떻게 적용되나요?
Azure RBAC는 Azure Resource Manager를 전달되는 Azure 리소스에 대해 시작되는 모든 작업에 적용됩니다. Resource Manager는 클라우드 리소스를 구성하고 보호하는 방법을 제공하는 관리 서비스입니다.
일반적으로 Azure Portal, Azure Cloud Shell, Azure PowerShell 및 Azure CLI에서 Resource Manager에 액세스합니다. Azure RBAC는 애플리케이션 또는 데이터 수준에서 액세스 권한을 적용하지 않습니다. 애플리케이션 보안은 애플리케이션에서 처리해야 합니다.
Azure RBAC는 허용 모델을 사용합니다. 역할이 할당되면 Azure RBAC를 사용하여 해당 역할 범위 내에서 작업을 수행할 수 있습니다. 리소스 그룹에 대한 읽기 권한을 부여한 역할 할당이 있는 반면 동일한 리소스 그룹에 대한 쓰기 권한을 부여하는 역할 할당의 경우 사용자는 해당 리소스 그룹에 대한 읽기 및 쓰기 권한을 가지게 됩니다.