다음을 통해 공유


API를 사용하여 Azure 리소스 관리를 위한 프라이빗 링크 만들기

이 문서에서는 Azure Private Link를 사용하여 구독에서 리소스 관리에 대한 액세스를 제한하는 방법을 설명합니다.

프라이빗 링크를 사용하면 가상 네트워크의 프라이빗 엔드포인트를 통해 Azure 서비스에 액세스할 수 있습니다. 프라이빗 링크를 Azure Resource Manager의 작업과 결합하면 특정 엔드포인트에 있지 않은 사용자가 리소스를 관리하지 못하도록 차단합니다. 악의적인 사용자가 구독의 계정에 대한 자격 증명을 얻는 경우 해당 사용자는 특정 엔드포인트에 있지 않고는 리소스를 관리할 수 없습니다.

프라이빗 링크는 다음과 같은 보안 이점을 제공합니다.

  • 프라이빗 액세스 - 사용자는 프라이빗 엔드포인트를 통해 개인 네트워크에서 리소스를 관리할 수 있습니다.

참고 항목

AKS(Azure Kubernetes Service)는 현재 ARM 프라이빗 엔드포인트 구현을 지원하지 않습니다.

Azure Bastion은 프라이빗 링크를 지원하지 않습니다. 리소스 관리 프라이빗 링크 프라이빗 엔드포인트 구성에 프라이빗 DNS 영역을 사용하는 것이 좋지만 management.azure.com 이름과 겹치기 때문에 Bastion 인스턴스의 작동이 중지됩니다. 자세한 내용은 Azure Bastion FAQ를 참조하세요.

아키텍처 이해

Important

이 릴리스의 경우 루트 관리 그룹 수준에서만 프라이빗 링크 관리 액세스 권한을 적용할 수 있습니다. 이 제한은 프라이빗 링크 액세스가 테넌트 전체에 적용됨을 의미합니다.

프라이빗 링크를 통해 관리를 구현할 때 사용할 두 가지 리소스 종류가 있습니다.

  • 리소스 관리 프라이빗 링크(Microsoft.Authorization/resourceManagementPrivateLinks)
  • 프라이빗 링크 연결(Microsoft.Authorization/privateLinkAssociations)

다음 이미지는 리소스 관리를 위한 액세스를 제한하는 솔루션을 구성하는 방법을 보여 줍니다.

리소스 관리 프라이빗 링크 다이어그램

프라이빗 링크 연결은 루트 관리 그룹을 확장합니다. 프라이빗 링크 연결 및 프라이빗 엔드포인트는 리소스 관리 프라이빗 링크를 참조합니다.

Important

다중 테넌트 계정은 현재 프라이빗 링크를 통한 리소스 관리에 지원되지 않습니다. 다른 테넌트의 프라이빗 링크 연결을 단일 리소스 관리 프라이빗 링크에 연결할 수 없습니다.

계정이 둘 이상의 테넌트에 액세스하는 경우 그중 하나만 프라이빗 링크를 정의합니다.

워크플로

리소스에 대한 프라이빗 링크를 설정하려면 다음 단계를 따르세요. 단계는 이 문서의 뒷부분에서 자세히 설명합니다.

  1. 리소스 관리 프라이빗 링크를 만듭니다.
  2. 프라이빗 링크 연결을 만듭니다. 프라이빗 링크 연결은 루트 관리 그룹을 확장합니다. 또한 리소스 관리 프라이빗 링크에 대한 리소스 ID를 참조합니다.
  3. 리소스 관리 프라이빗 링크를 참조하는 프라이빗 엔드포인트를 추가합니다.

이러한 단계를 완료한 후 범위의 계층 구조 내에 있는 Azure 리소스를 관리할 수 있습니다. 서브넷에 연결된 프라이빗 엔드포인트를 사용합니다.

프라이빗 링크에 대한 액세스를 모니터링할 수 있습니다. 자세한 내용은 로깅 및 모니터링을 참조하세요.

필요한 사용 권한

Important

이 릴리스의 경우 루트 관리 그룹 수준에서만 프라이빗 링크 관리 액세스 권한을 적용할 수 있습니다. 이 제한은 프라이빗 링크 액세스가 테넌트 전체에 적용됨을 의미합니다.

리소스 관리를 위한 프라이빗 링크를 설정하려면 다음 액세스 권한이 필요합니다.

  • 구독의 소유자입니다. 이 액세스는 리소스 관리 프라이빗 링크 리소스를 만드는 데 필요합니다.
  • 루트 관리 그룹의 소유자 또는 기여자. 이 액세스는 프라이빗 링크 연결 리소스를 만드는 데 필요합니다.
  • Microsoft Entra ID의 전역 관리자에게 루트 관리 그룹에서 역할을 할당할 수 있는 권한이 자동으로 생기지는 않습니다. 리소스 관리 프라이빗 링크 만들기를 사용하도록 설정하려면 전역 관리자가 테넌트의 모든 구독 및 관리 그룹에 대한 사용자 액세스 관리자 권한을 갖도록 루트 관리 그룹을 읽고 액세스 권한을 상승할 수 있는 권한이 있어야 합니다. 사용자 액세스 관리자 권한을 얻은 후 전역 관리자는 프라이빗 링크 연결을 만드는 사용자에게 루트 관리 그룹의 소유자 또는 기여자 권한을 부여해야 합니다.

리소스 관리 프라이빗 링크를 만들려면 다음 요청을 보냅니다.

예시

# Login first with az login if not using Cloud Shell
az resourcemanagement private-link create --location WestUS --resource-group PrivateLinkTestRG --name NewRMPL

새 리소스 관리 프라이빗 링크에 대해 반환되는 ID를 확인합니다. 이를 프라이빗 링크 연결을 만드는 데 사용하게 됩니다.

프라이빗 링크 연결 리소스의 리소스 이름은 GUID여야 하며 publicNetworkAccess 필드를 사용하지 않도록 설정하는 것은 아직 지원되지 않습니다.

프라이빗 링크 연결을 만들려면 다음을 사용합니다.

예시

# Login first with az login if not using Cloud Shell
az private-link association create --management-group-id fc096d27-0434-4460-a3ea-110df0422a2d --name 1d7942d1-288b-48de-8d0f-2d2aa8e03ad4 --privatelink "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PrivateLinkTestRG/providers/Microsoft.Authorization/resourceManagementPrivateLinks/newRMPL"

프라이빗 엔드포인트 추가

이 문서에서는 가상 네트워크가 이미 있다고 가정합니다. 프라이빗 엔드포인트에 사용할 서브넷에서는 프라이빗 엔드포인트 네트워크 정책을 비활성화해야 합니다. 프라이빗 엔드포인트 네트워크 정책을 해제하지 않은 경우 프라이빗 엔드포인트에 대한 네트워크 정책 사용 안 함을 참조하세요.

프라이빗 엔드포인트를 만들려면 포털, PowerShell, CLI, Bicep 또는 템플릿을 통한 만들기에 대한 프라이빗 엔드포인트 설명서를 참조하세요.

요청 본문에서 privateServiceLinkId를 리소스 관리 프라이빗 링크의 ID로 설정합니다. groupIds는 반드시 ResourceManagement를 포함해야 합니다. 프라이빗 엔드포인트의 위치는 서브넷의 위치와 동일해야 합니다.

{
  "location": "westus2",
  "properties": {
    "privateLinkServiceConnections": [
      {
        "name": "{connection-name}",
        "properties": {
           "privateLinkServiceId": "/subscriptions/{subID}/resourceGroups/{rgName}/providers/Microsoft.Authorization/resourceManagementPrivateLinks/{name}",
           "groupIds": [
              "ResourceManagement"
           ]
         }
      }
    ],
    "subnet": {
      "id": "/subscriptions/{subID}/resourceGroups/{rgName}/providers/Microsoft.Network/virtualNetworks/{vnet-name}/subnets/{subnet-name}"
    }
  }
}

다음 단계는 자동 또는 수동 승인을 사용하는지 여부에 따라 달라집니다. 승인에 대한 자세한 정보는 승인 워크플로를 사용하여 프라이빗 링크 리소스에 액세스를 참조하세요.

응답은 승인 상태를 포함합니다.

"privateLinkServiceConnectionState": {
    "actionsRequired": "None",
    "description": "",
    "status": "Approved"
},

요청이 자동으로 승인되면 다음 섹션을 계속 진행할 수 있습니다. 요청에 수동 승인이 필요한 경우 네트워크 관리자가 프라이빗 엔드포인트 연결을 승인할 때까지 기다립니다.

다음 단계

프라이빗 링크에 대해 자세히 알아보려면 Azure Private Link를 참조하세요.