PowerShell을 사용하여 Azure AD 역할 및 권한 관리. Windows PowerShell을 사용하여 Azure AD 역할 및 권한을 관리하고 자동화하는 데 도움이 필요하십니까? 이 기사에서는 PowerShell을 사용하여 일반적인 시나리오를 설명합니다. Azure 역할 기반 액세스 제어 (RBAC)의 자동화.
Azure 역할 및 권한을 관리하기 위한 기초를 마련하고 준비하기 위해 Azure 역할 기반 액세스 제어 (RBAC)의 개요부터 시작합니다. 이후에는 역할 할당의 세 가지 요소를 설명합니다.
또한 Windows PowerShell을 사용하여 Azure AD 역할 및 권한을 관리하는 데 필요한 전제 조건을 설명하는 섹션이 있습니다.
다음 섹션은 PowerShell을 사용하여 Azure AD 역할을 할당하는 단계를 설명하는 데 전념합니다.
마지막으로 PowerShell을 사용하여 사용자 및 그룹에 할당된 역할을 나열하는 방법을 설명합니다.
관련 기사 보기Azure AD 특권 역할: 특권 액세스 관리 및 모니터링
Azure 역할 기반 액세스 제어 (RBAC)란 무엇입니까? Azure 역할 기반 액세스 제어 (RBAC)를 통해 관리자는 리소스에 대한 세밀한 액세스 제어를 할 수 있습니다. 다시 말해, Azure RBAC는 어드민이 리소스에 액세스할 수 있는 사용자를 제어할 수 있게 합니다.
Azure 역할 기반 액세스 제어(RBAC)를 사용하면 관리자가 리소스에 대한 세분화된 액세스 제어를 할 수 있습니다. 다시 말해, Azure RBAC를 통해 관리자는 누가 리소스에 액세스할 수 있는지 제어할 수 있습니다.
또한 RBAC는 Azure에서 리소스에 대한 액세스 수준을 제어합니다.
RBAC의 핵심은 역할 할당입니다. Azure에는 사용자, 그룹 또는 서비스 사용자에게 할당된 사전 정의된 사용 권한이 있는 수백 개의 기본 제공 역할이 있습니다.
사전 정의된 사용 권한이 있는 기본 제공 역할의 존재로 인해 역할 할당이 쉬워집니다. 관리자는 개체에 직접 사용 권한을 부여할 필요가 없습니다.
그러나 기본 제공 역할이 조직의 요구에 적합하지 않을 수 있습니다. 이 경우 사용자 지정 역할이 생성됩니다.
이 문서에서는 기존 역할을 할당하고 Azure AD 역할을 만들고 할당하는 단계를 다룹니다.
Azure 역할 할당 요소
역할 할당을 할당하려면 3가지 요소가 필요합니다. 보안 주체, 역할 정의 및 범위입니다. 보안 주체는 역할을 할당할 Azure Active Directory 개체입니다.
한편, 역할 정의는 할당된 기본 제공 또는 사용자 지정 Azure AD 역할이며 범위는 역할이 할당되는 수준입니다. Azure에서 역할이 할당되는 범위는 4가지가 있습니다.
구체적으로, Azure 역할은 리소스, 리소스 그룹, 구독 및 관리 그룹에 할당됩니다. 리소스에 역할을 할당하려면 리소스 ID가 필요합니다.
그러나 리소스 그룹 범위에 역할을 할당하려면 리소스 그룹의 이름이 필요합니다. Get-AzResourceGroup 명령을 실행하면 현재 구독에서 모든 리소스 그룹과 그 이름이 반환됩니다.
구독 범위에서 역할을 할당하려면 구독 ID가 필요합니다. 테넌트에서 모든 구독을 나열하려면 Get-AzSubscription 명령을 실행하세요.
마지막으로, 역할은 관리 그룹 범위에 할당되며 관리 그룹의 이름이 필요합니다. 관리 그룹의 이름을 가져오려면 Get-AzManagementGroup 명령을 실행하세요.
이러한 요소를 이해하는 것은 PowerShell을 사용하여 Azure AD 역할과 권한을 관리하는 데 중요합니다. 이 문서의 나머지 부분에서는 보안 주체, 역할 정의 및 범위를 사용하여 PowerShell을 사용하여 Azure AD에서 역할을 할당하고 관리하는 방법을 살펴봅니다.
PowerShell을 사용하여 Azure AD 역할과 권한을 관리하기 위한 사전 조건
관리자가 역할을 할당하기 전에 다음 요구 사항을 충족해야 합니다:
- 사용자는 Microsoft.Authorization/roleAssignments/write 권한을 부여받아야 합니다. 이 권한을 가진 단독 역할은 User Access Administrator, 소유자 또는 글로벌 관리자입니다.
- 두 번째로, Azure Cloud Shell 또는 Azure PowerShell에 액세스해야 합니다.
- PowerShell 명령을 실행하는 사용자 계정에는 Microsoft Graph Directory.Read.All 권한이 있어야 합니다.
- 마지막으로, 이 문서에서 일부 작업을 수행하려면 계정이 최소한 Azure AD Premium P1 라이선스가 필요합니다.
이 문서를 진행하면서 필요한 권한을 할당하는 단계를 설명합니다.
또한 다음을 읽으십시오 Azure AD 역할 및 권한: Azure AD RBAC 모델
PowerShell을 사용하여 내장된 Azure AD 역할 할당하는 단계 위의 클라우드 셸 링크를 클릭하고 Azure 계정으로 로그인하면 아래 스크린샷과 같은 화면이 표시됩니다. Azure Cloud Shell의 장점은 PC에 PowerShell 모듈을 설치할 필요가 없다는 것입니다.
I’ll be running the PowerShell commands in this and subsequent sections from Azure Cloud Shell, a browser-based shell that allows running Azure CLI or PowerShell commands. However, I’ll be running the commands from my computer.
위의 클라우드 쉘 링크를 클릭하고 Azure 계정으로 로그인하면 아래 스크린샷과 같은 화면이 표시됩니다. Azure Cloud Shell의 장점은 PC에 PowerShell 모듈을 설치할 필요가 없다는 것입니다.
단계 1: 객체 ID 결정
Azure 리소스에 역할을 할당하기 전에 객체 ID를 가져와야 합니다. 사용자, 그룹 또는 구독에 대한 객체 ID를 결정하기 위해 다음 단계를 따르십시오.
1. Azure Cloud Shell을 열고 shell.azure.com에서 Azure 계정으로 로그인하십시오.
Azure Cloud Shell을 처음 열 때는 스토리지 계정을 생성해야 합니다.
2. 역할을 할당해야 하는 사용자 또는 그룹의 ID를 얻기 위해 아래의 명령들을 실행하십시오. 첫 번째 명령에서는
$userid = (Get-AzADUser -UserPrincipalName AnthonyRa@corp.itechguides.com).id
$groupid = (Get-AzADGroup -DisplayName "Helpdesk Admins (AAD)").id
로 시작하는 사용자의 ID를 반환하고 있습니다. 첫 번째 명령은 사용자의 ID를 userid 변수에 저장하며, 두 번째 명령은 그룹의 그룹 ID를 grouped 변수에 저장합니다. 명령을 실행하기 전에 UserPrincipalName과 DisplayName을 변경하십시오.
단계 2: 할당할 역할 가져오기
Azure AD 역할 및 권한을 PowerShell로 관리하는 다음 단계는 할당할 역할을 결정하는 것입니다. 다음 명령을 사용하여 Azure AD 테넌트에서 사용 가능한 모든 역할을 나열하여 시작하십시오.
Get-AzRoleDefinition | Format-Table -Property Name, IsCustom, Id
이 명령은 테넌트의 모든 역할의 이름과 Id를 표시합니다. 또한 IsCustom 열에 True 또는 False를 반환합니다.
예를 들어, 제가 단계 1에서 결정한 사용자 및 그룹에 보안 관리자 역할을 할당하려고 합니다. 역할의 이름을 표시하려면 Get-AzRoleDefinition 명령의 출력을 이 명령에 표시된대로 Where-Object에 파이핑합니다.
$roleassignmentname = (Get-AzRoleDefinition | where-object {$_.name -eq "Security Admin"}).Name
단계 3: 할당 범위 식별
아래 명령은 저장소 계정의 ResourceID(리소스 범위)를 반환하고 ResourceID 변수에 저장합니다.
나중에, 단계 1의 사용자에게 이 저장소 계정 리소스에서 “보안 관리자” 역할을 할당합니다.
$scoperesourceID = (Get-AzResource | Where-object {$_.name -eq "veeambackup21"}).ResourceID
단계 4: Azure 역할 할당
단계 1에서 3까지의 정보를 사용하여 아래 명령을 실행하여 사용자에게 역할을 할당합니다. 명령을 실행하기 전에 해당 스토리지 계정에 역할이 할당되지 않았으며, 아래 스크린샷에 나와 있습니다.
첫 번째 명령은 $userid 변수에 저장된 사용자에게 “보안 관리자” 역할을 할당합니다. 마찬가지로, 두 번째 명령은 $groupid 변수에 저장된 그룹에도 동일한 역할을 할당합니다.
New-AzRoleAssignment -ObjectId $userid -RoleDefinitionName $roleassignmentname -Scope $scoperesourceID
New-AzRoleAssignment -ObjectId $groupid -RoleDefinitionName $roleassignmentname -Scope $scoperesourceID
위의 명령을 실행한 후 스토리지 계정을 새로 고침하면 보안 관리자 역할과 해당 역할이 할당된 사용자 및 그룹이 표시됩니다.
추가로 읽기 Azure AD 역할 기반 액세스 제어 정책 구현
PowerShell을 사용하여 Azure AD 역할 할당 표시
이전에 UPN이 있는 사용자인 [email protected]에게 “보안 관리자” 역할을 할당했습니다. 사용자의 userId는 $userid 변수에 저장되었습니다.
마찬가지로 스토리지 계정의 scope ID는 $scoperesourceID 변수에 저장되었습니다. 사용자의 역할 할당을 표시하려면 아래 명령을 실행합니다.
get-AzRoleAssignment -scope $scoperesourceID -ObjectId $userid
이 명령은 RoleAssignmentName과 scope를 포함한 역할 할당 세부 정보를 표시합니다.
get-AzRoleAssignment -scope $scoperesourceID -ObjectId $groupid
PowerShell을 사용하여 Azure AD 역할 및 권한 관리 결론
Azure 역할을 관리하기 위해서는 역할 기반 액세스 제어 모델에 대한 지식이 필요합니다. 게다가 PowerShell을 효과적으로 사용하여 역할 할당 요소인 보안 주체, 역할 정의 및 범위를 이해하는 것이 필수적입니다.
뿐만 아니라, 역할을 할당하는 계정은 PowerShell을 필요로하는 모듈로 구성하고 적절한 관리 권한을 보장하는 등 몇 가지 사전 요구 사항을 충족해야 합니다.
이 글에서 제공하는 단계별 안내서는 PowerShell을 사용하여 기본 Azure AD 역할을 할당할 때 따라야 할 명확한 로드맵을 제공합니다. 개체 ID를 결정하고 역할 할당을 위한 범위를 식별하는 등 각 단계가 철저히 설명되어 원활하고 통제된 역할 할당 프로세스를 용이하게합니다.
Source:
https://infrasos.com/managing-azure-ad-roles-and-permissions-with-powershell/