모든 Azure 구독 및 관리 그룹을 관리하는 액세스 권한 상승Elevate access to manage all Azure subscriptions and management groups

Azure AD(Azure Active Directory)의 글로벌 관리자로서 디렉터리에 있는 모든 구독 및 관리 그룹에 대한 액세스 권한을 가질 수 없습니다.As a Global Administrator in Azure Active Directory (Azure AD), you might not have access to all subscriptions and management groups in your directory. 이 문서에서는 모든 구독 및 관리 그룹에 대한 액세스 권한을 상승시킬 수 있는 방법을 설명합니다.This article describes the ways that you can elevate your access to all subscriptions and management groups.

참고

보기 또는 개인 데이터를 삭제 하는 방법에 대 한 내용은 GDPR에 대 한 Azure 데이터 주체 요청합니다.For information about viewing or deleting personal data, see Azure Data Subject Requests for the GDPR. GDPR에 대 한 자세한 내용은 참조는 Service Trust portal의 GDPR 섹션합니다.For more information about GDPR, see the GDPR section of the Service Trust portal.

액세스 권한을 상승시켜야 하는 이유는 무엇인가요?Why would you need to elevate your access?

글로벌 관리자인 경우 다음을 수행하려는 경우가 있을 수 있습니다.If you are a Global Administrator, there might be times when you want to do the following:

  • 사용자가 액세스 권한을 상실할 때 Azure 구독 또는 관리 그룹에 대한 액세스 권한 다시 얻기Regain access to an Azure subscription or management group when a user has lost access
  • 다른 사용자 또는 사용자 자신에게 Azure 구독 또는 관리 그룹에 대한 액세스 권한 부여Grant another user or yourself access to an Azure subscription or management group
  • 조직에서 모든 Azure 구독 또는 관리 그룹 확인See all Azure subscriptions or management groups in an organization
  • 자동화 앱(예: 송장 또는 감사 앱)이 모든 Azure 구독 또는 관리 그룹에 액세스하도록 허용Allow an automation app (such as an invoicing or auditing app) to access all Azure subscriptions or management groups

액세스 권한 상승의 작동 방법은 무엇인가요?How does elevate access work?

Azure AD와 Azure 리소스는 서로 독립적으로 보호됩니다.Azure AD and Azure resources are secured independently from one another. 즉, Azure AD 역할을 할당해도 Azure 리소스에 대한 액세스가 부여되지 않고, Azure 역할을 할당해도 Azure AD에 대한 액세스가 부여되지 않습니다.That is, Azure AD role assignments do not grant access to Azure resources, and Azure role assignments do not grant access to Azure AD. 그러나 Azure AD의 글로벌 관리자는 디렉터리에 있는 모든 Azure 구독 및 관리 그룹에 대한 액세스 권한을 자신에게 할당할 수 있습니다.However, if you are a Global Administrator in Azure AD, you can assign yourself access to all Azure subscriptions and management groups in your directory. 가상 머신이나 저장소 계정 같은 Azure 구독 리소스에 액세스할 수 없고, 글로벌 관리자 권한을 사용하여 이러한 리소스에 대한 액세스 권한을 얻고 싶으면 이 기능을 사용하세요.Use this capability if you don't have access to Azure subscription resources, such as virtual machines or storage accounts, and you want to use your Global Administrator privilege to gain access to those resources.

액세스 권한을 높이면 Azure의 루트 범위(/)에서 사용자 액세스 관리자 역할이 할당됩니다.When you elevate your access, you will be assigned the User Access Administrator role in Azure at root scope (/). 이를 통해 모든 리소스를 살펴보고, 디렉터리에 있는 구독 또는 관리 그룹에 대한 액세스 권한을 할당할 수 있습니다. This allows you to view all resources and assign access in any subscription or management group in the directory. 사용자 액세스 관리자 역할 할당은 PowerShell을 사용하여 제거할 수 있습니다.User Access Administrator role assignments can be removed using PowerShell.

루트 범위에서 필요한 변경 작업을 마친 후에는 상승된 액세스 권한을 제거해야 합니다.You should remove this elevated access once you have made the changes you need to make at root scope.

액세스 권한 상승

Azure portalAzure portal

다음 단계에 따라 Azure Portal을 사용하여 전역 관리자에 대한 액세스 권한을 상승시킵니다.Follow these steps to elevate access for a Global Administrator using the Azure portal.

  1. Azure Portal 또는 Azure Active Directory 관리 센터에 글로벌 관리자로 로그인합니다.Sign in to the Azure portal or the Azure Active Directory admin center as a Global Administrator.

  2. 탐색 목록에서 Azure Active Directory를 클릭한 다음, 속성을 클릭합니다.In the navigation list, click Azure Active Directory and then click Properties.

    Azure AD 속성 - 스크린샷

  3. Azure 리소스에 대한 액세스 관리에서 토글을 로 설정합니다.Under Access management for Azure resources, set the toggle to Yes.

    Azure 리소스에 대한 액세스 관리 - 스크린샷

    토글을 로 설정하면 Azure RBAC의 루트 범위(/)에서 사용자 액세스 관리자 역할이 할당됩니다.When you set the toggle to Yes, you are assigned the User Access Administrator role in Azure RBAC at the root scope (/). 그러면 이 Azure AD 디렉터리와 연결된 모든 Azure 구독 및 관리 그룹의 역할을 할당할 수 있는 권한이 부여됩니다.This grants you permission to assign roles in all Azure subscriptions and management groups associated with this Azure AD directory. 이 토글은 Azure AD에서 글로벌 관리자 역할이 할당된 사용자만 사용할 수 있습니다.This toggle is only available to users who are assigned the Global Administrator role in Azure AD.

    토글을 아니요로 설정하면 Azure RBAC의 사용자 액세스 관리자 역할이 사용자 계정에서 제거됩니다.When you set the toggle to No, the User Access Administrator role in Azure RBAC is removed from your user account. 그러면 이 Azure AD 디렉터리와 연결된 모든 Azure 구독 및 관리 그룹의 역할을 더 이상 할당할 수 없습니다.You can no longer assign roles in all Azure subscriptions and management groups that are associated with this Azure AD directory. 액세스 권한이 부여된 Azure 구독 및 관리 그룹만 살펴보고 관리할 수 있습니다.You can view and manage only the Azure subscriptions and management groups to which you have been granted access.

  4. Save를 클릭하여 설정을 저장합니다.Click Save to save your setting.

    이 설정은 글로벌 속성이 아니며 현재 로그인된 사용자에게만 적용됩니다.This setting is not a global property and applies only to the currently signed in user. 글로벌 관리자 역할의 모든 멤버에 대한 액세스 권한을 상승시킬 수 없습니다.You can't elevate access for all members of the Global Administrator role.

  5. 로그아웃하고 다시 로그인하여 액세스를 새로 고칩니다.Sign out and sign back in to refresh your access.

    이제 이 디렉터리의 모든 구독 및 관리 그룹에 대한 액세스 권한을 갖습니다.You should now have access to all subscriptions and management groups in your directory. 루트 범위에서 사용자 액세스 관리자 역할이 할당된 것을 알 수 있습니다.You'll notice that you have been assigned the User Access Administrator role at root scope.

    루트 범위의 구독 역할 할당 - 스크린샷

  6. 권한이 상승된 액세스를 확인하는 데 필요한 변경을 수행합니다.Make the changes you need to make at the elevated access.

    역할 할당에 대한 자세한 내용은 RBAC 및 Azure Portal을 사용하여 액세스 관리를 참조하세요.For information about assigning roles, see Manage access using RBAC and the Azure portal. Azure AD PIM(Privileged Identity Management)을 사용하는 경우 PIM에서 관리할 Azure 리소스 검색 또는 PIM에서 Azure 리소스 역할 할당을 참조하세요.If you are using Azure AD Privileged Identity Management (PIM), see Discover Azure resources to manage in PIM or Assign Azure resource roles in PIM.

  7. 완료되면 Azure 리소스에 대한 액세스 관리 토글을 아니요로 다시 설정합니다.When you are done, set the Access management for Azure resources toggle back to No. 사용자별 설정이므로 액세스 권한을 상승시키는 데 사용했던 동일한 사용자로 로그인해야 합니다.Since this is a per-user setting, you must be signed in as the same user as was used to elevate access.

Azure PowerShellAzure PowerShell

참고

이 문서는 새 Azure PowerShell Az 모듈을 사용하도록 업데이트되었습니다.This article has been updated to use the new Azure PowerShell Az module. AzureRM 모듈은 적어도 2020년 12월까지 버그 수정을 수신할 예정이므로 계속 사용하셔도 됩니다.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. 새 Az 모듈 및 AzureRM 호환성에 대한 자세한 내용은 새 Azure PowerShell Az 모듈 소개를 참조하세요.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az 모듈 설치 지침은 Azure PowerShell 설치를 참조하세요.For Az module installation instructions, see Install Azure PowerShell.

루트 범위(/)에 있는 역할 할당 나열List role assignment at the root scope (/)

루트 범위(/)에서 사용자에 대한 사용자 액세스 관리자 역할 할당을 나열하려면 Get-AzRoleAssignment 명령을 사용합니다.To list the User Access Administrator role assignment for a user at the root scope (/), use the Get-AzRoleAssignment command.

Get-AzRoleAssignment | where {$_.RoleDefinitionName -eq "User Access Administrator" `
  -and $_.SignInName -eq "<username@example.com>" -and $_.Scope -eq "/"}
RoleAssignmentId   : /providers/Microsoft.Authorization/roleAssignments/098d572e-c1e5-43ee-84ce-8dc459c7e1f0
Scope              : /
DisplayName        : username
SignInName         : username@example.com
RoleDefinitionName : User Access Administrator
RoleDefinitionId   : 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9
ObjectId           : d65fd0e9-c185-472c-8f26-1dafa01f72cc
ObjectType         : User
CanDelegate        : False

루트 범위(/)에 있는 역할 할당 제거Remove a role assignment at the root scope (/)

루트 범위(/)에서 사용자에 대한 사용자 액세스 관리자 역할 할당을 제거하려면 다음 단계를 따릅니다.To remove a User Access Administrator role assignment for a user at the root scope (/), follow these steps.

  1. 상승된 액세스 권한을 제거할 수 있는 사용자로 로그인합니다.Sign in as a user that can remove elevated access. 이는 액세스 권한을 상승하는 데 사용했던 동일한 사용자 또는 루트 범위에서 상승된 액세스 권한이 있는 다른 글로벌 관리자일 수 있습니다.This can be the same user that was used to elevate access or another Global Administrator with elevated access at the root scope.

  2. Remove-AzRoleAssignment 명령을 사용하여 사용자 액세스 관리자 역할 할당을 제거합니다.Use the Remove-AzRoleAssignment command to remove the User Access Administrator role assignment.

    Remove-AzRoleAssignment -SignInName <username@example.com> `
      -RoleDefinitionName "User Access Administrator" -Scope "/"
    

REST APIREST API

전역 관리자에 대한 액세스 권한 상승Elevate access for a Global Administrator

다음과 같은 기본 단계를 사용하여 REST API를 사용하는 전역 관리자에 대한 액세스 권한을 상승시킵니다.Use the following basic steps to elevate access for a Global Administrator using the REST API.

  1. REST를 사용하여 elevateAccess를 호출하면 루트 범위(/)에서 사용자 액세스 관리자 역할 권한을 부여합니다.Using REST, call elevateAccess, which grants you the User Access Administrator role at the root scope (/).

    POST https://management.azure.com/providers/Microsoft.Authorization/elevateAccess?api-version=2016-07-01
    
  2. 모든 범위의 모든 역할을 할당하는 역할 할당을 만듭니다.Create a role assignment to assign any role at any scope. 다음 예제에서는 루트 범위(/)에서 {roleDefinitionID} 역할을 할당하는 속성을 보여줍니다.The following example shows the properties for assigning the {roleDefinitionID} role at the root scope (/):

    { 
      "properties": {
        "roleDefinitionId": "providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionID}",
        "principalId": "{objectID}",
        "scope": "/"
      },
      "id": "providers/Microsoft.Authorization/roleAssignments/64736CA0-56D7-4A94-A551-973C2FE7888B",
      "type": "Microsoft.Authorization/roleAssignments",
      "name": "64736CA0-56D7-4A94-A551-973C2FE7888B"
    }
    
  3. 사용자 액세스 관리자인 경우 루트 범위(/)에서 역할 할당을 제거할 수도 있습니다.While a User Access Administrator, you can also remove role assignments at the root scope (/).

  4. 다시 필요할 때까지 사용자 액세스 관리자 권한을 제거합니다.Remove your User Access Administrator privileges until they're needed again.

루트 범위(/)에 있는 역할 할당 나열List role assignments at the root scope (/)

루트 범위(/)에서 사용자에 대한 역할 할당을 모두 나열할 수 있습니다.You can list all of the role assignments for a user at the root scope (/).

  • {objectIdOfUser}가 역할 할당을 검색하려는 사용자의 개체 ID인 경우 GET roleAssignments를 호출합니다.Call GET roleAssignments where {objectIdOfUser} is the object ID of the user whose role assignments you want to retrieve.

    GET https://management.azure.com/providers/Microsoft.Authorization/roleAssignments?api-version=2015-07-01&$filter=principalId+eq+'{objectIdOfUser}'
    

루트 범위(/)에 있는 거부 할당을 나열합니다.List deny assignments at the root scope (/)

루트 범위(/)에 있는 사용자에 대한 거부 할당을 모두 나열할 수 있습니다.You can list all of the deny assignments for a user at the root scope (/).

  • {objectIdOfUser}가 거부 할당을 검색하려는 사용자의 개체 ID인 경우 GET denyAssignments를 호출합니다.Call GET denyAssignments where {objectIdOfUser} is the object ID of the user whose deny assignments you want to retrieve.

    GET https://management.azure.com/providers/Microsoft.Authorization/denyAssignments?api-version=2018-07-01-preview&$filter=gdprExportPrincipalId+eq+'{objectIdOfUser}'
    

상승된 액세스 제거Remove elevated access

elevateAccess를 호출하는 경우 해당 권한을 취소하려면 할당을 제거해야 하므로 스스로 역할 할당을 만듭니다.When you call elevateAccess, you create a role assignment for yourself, so to revoke those privileges you need to remove the assignment.

  1. roleName이 사용자 액세스 관리자인 GET roleDefinitions를 호출하여 사용자 액세스 관리자 역할의 ID 이름을 확인합니다.Call GET roleDefinitions where roleName equals User Access Administrator to determine the name ID of the User Access Administrator role.

    GET https://management.azure.com/providers/Microsoft.Authorization/roleDefinitions?api-version=2015-07-01&$filter=roleName+eq+'User Access Administrator'
    
    {
      "value": [
        {
          "properties": {
        "roleName": "User Access Administrator",
        "type": "BuiltInRole",
        "description": "Lets you manage user access to Azure resources.",
        "assignableScopes": [
          "/"
        ],
        "permissions": [
          {
            "actions": [
              "*/read",
              "Microsoft.Authorization/*",
              "Microsoft.Support/*"
            ],
            "notActions": []
          }
        ],
        "createdOn": "0001-01-01T08:00:00.0000000Z",
        "updatedOn": "2016-05-31T23:14:04.6964687Z",
        "createdBy": null,
        "updatedBy": null
          },
          "id": "/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9",
          "type": "Microsoft.Authorization/roleDefinitions",
          "name": "18d7d88d-d35e-4fb5-a5c3-7773c20a72d9"
        }
      ],
      "nextLink": null
    }
    

    18d7d88d-d35e-4fb5-a5c3-7773c20a72d9 같은 경우에 name 매개 변수의 ID를 저장합니다.Save the ID from the name parameter, in this case 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9.

  2. 또한 디렉터리 범위에서 디렉터리 관리자의 역할 할당을 나열해야 합니다.You also need to list the role assignment for the directory administrator at directory scope. 액세스 권한 상승 호출을 수행한 디렉터리 관리자의 principalId에 대한 디렉터리 범위에 포함되는 모든 할당을 나열합니다.List all assignments at directory scope for the principalId of the directory administrator who made the elevate access call. 그러면 objectid에 대한 디렉터리의 모든 할당이 나열됩니다.This will list all assignments in the directory for the objectid.

    GET https://management.azure.com/providers/Microsoft.Authorization/roleAssignments?api-version=2015-07-01&$filter=principalId+eq+'{objectid}'
    

    참고

    디렉터리 관리자는 할당이 많지 않아야 합니다. 이전 쿼리에서 너무 많은 할당을 반환하는 경우 디렉터리 범위 수준에서만 모든 할당을 쿼리한 다음, 결과를 필터링할 수도 있습니다. GET https://management.azure.com/providers/Microsoft.Authorization/roleAssignments?api-version=2015-07-01&$filter=atScope()A directory administrator should not have many assignments, if the previous query returns too many assignments, you can also query for all assignments just at directory scope level, then filter the results: GET https://management.azure.com/providers/Microsoft.Authorization/roleAssignments?api-version=2015-07-01&$filter=atScope()

    1. 이전 호출은 역할 할당 목록을 반환합니다.The previous calls return a list of role assignments. 범위가 "/"이고 roleDefinitionId가 1단계에서 찾은 역할 이름 ID로 끝나는 역할 할당을 찾고 principalId가 디렉터리 관리자의 objectId와 일치합니다.Find the role assignment where the scope is "/" and the roleDefinitionId ends with the role name ID you found in step 1 and principalId matches the objectId of the directory administrator.

      샘플 역할 할당:Sample role assignment:

      {
        "value": [
          {
            "properties": {
              "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9",
              "principalId": "{objectID}",
              "scope": "/",
              "createdOn": "2016-08-17T19:21:16.3422480Z",
              "updatedOn": "2016-08-17T19:21:16.3422480Z",
              "createdBy": "93ce6722-3638-4222-b582-78b75c5c6d65",
              "updatedBy": "93ce6722-3638-4222-b582-78b75c5c6d65"
            },
            "id": "/providers/Microsoft.Authorization/roleAssignments/e7dd75bc-06f6-4e71-9014-ee96a929d099",
            "type": "Microsoft.Authorization/roleAssignments",
            "name": "e7dd75bc-06f6-4e71-9014-ee96a929d099"
          }
        ],
        "nextLink": null
      }
      

      e7dd75bc-06f6-4e71-9014-ee96a929d099 같은 경우에 name 매개 변수에서 ID를 다시 저장합니다.Again, save the ID from the name parameter, in this case e7dd75bc-06f6-4e71-9014-ee96a929d099.

    2. 마지막으로 역할 할당 ID를 사용하여 elevateAccess에 의해 추가된 할당을 제거합니다.Finally, Use the role assignment ID to remove the assignment added by elevateAccess:

      DELETE https://management.azure.com/providers/Microsoft.Authorization/roleAssignments/e7dd75bc-06f6-4e71-9014-ee96a929d099?api-version=2015-07-01
      

다음 단계Next steps