ID 및 권한 부여
이 문서에서는 Azure와 통신할 때 인증에 사용되는 Azure Arc 지원 서버의 Microsoft Entra ID 관리 ID에 대해 설명하고 두 가지 기본 제공 RBAC 역할에 대해 자세히 알아봅니다.
Microsoft Entra ID 관리 ID
모든 Azure Arc 지원 서버에는 연결된 시스템 할당 Microsoft Entra ID 관리 ID가 있습니다. 이 ID는 에이전트가 Azure에서 인증하는 데 사용됩니다. 또한 시스템의 확장 또는 기타 권한 있는 앱이 OAuth 토큰을 이해하는 리소스에 액세스하는 데 사용할 수도 있습니다. 관리 ID는 Azure Arc 지원 서버 리소스와 동일한 이름으로 Microsoft Entra ID 포털에 표시됩니다. 예를 들어 Azure Arc 지원 서버의 이름이 prodsvr01이면 이름이 같은 Microsoft Entra ID의 엔터프라이즈 앱이 표시됩니다.
각 Microsoft Entra ID 디렉터리에는 저장할 수 있는 개체 수에 대한 일정한 한도가 있습니다. 관리 ID는 디렉터리에서 하나의 개체로 계산됩니다. Azure Arc 지원 서버의 대규모 배포를 계획하고 있다면 먼저 Microsoft Entra ID 디렉터리에서 사용 가능한 할당량을 확인하고 필요한 경우 할당량 증가를 위한 지원 요청을 제출하세요. "directorySizeLimit" 섹션 아래의 List Organizations API 응답에서 사용 가능한 할당량과 사용된 할당량을 볼 수 있습니다.
관리 ID는 에이전트에서 완전히 관리합니다. 에이전트가 Azure에 연결되어 있는 한 자격 증명 순환을 자동으로 처리합니다. 관리 ID를 지원하는 인증서는 90일 동안 유효합니다. 에이전트는 인증서의 유효 기간이 45일 이하로 남은 경우 인증서 갱신을 시도합니다. 에이전트가 만료될 만큼 오랫동안 오프라인 상태이면 에이전트도 "만료"되어 Azure에 연결되지 않습니다. 이 경우 자동 재연결이 불가능하며 사용자가 온보딩 자격 증명을 사용하여 에이전트의 연결을 끊고 Azure에 다시 연결해야 합니다.
관리 ID 인증서는 시스템의 로컬 디스크에 저장됩니다. 이 인증서를 소유한 사람은 누구나 Microsoft Entra ID에서 토큰을 요청할 수 있으므로 이 파일을 보호하는 것이 중요합니다. 에이전트는 Windows의 C:\ProgramData\AzureConnectedMachineAgent\Certs\ 및 Linux의 /var/opt/azcmagent/certs에 인증서를 저장합니다. 에이전트는 이 디렉터리에 액세스 제어 목록을 자동으로 적용하여 로컬 관리자 및 "himds" 계정에 대한 액세스를 제한합니다. 인증서 파일에 대한 액세스를 수정하거나 인증서를 직접 수정하지 마세요. 시스템 할당 관리 ID에 대한 자격 증명이 손상되었다고 생각되면 Azure에서 에이전트의 연결을 끊고 다시 연결하여 새 ID 및 자격 증명을 생성하세요. 에이전트 연결을 끊으면 해당 관리 ID를 포함하여 Azure의 리소스가 제거됩니다.
시스템의 애플리케이션이 관리 ID에 대한 토큰을 얻으려는 경우 http://localhost:40342/identity에서 REST ID 엔드포인트에 요청을 실행합니다. Azure Arc에서 이 요청을 처리하는 방법에는 Azure VM과는 약간 다른 차이점이 있습니다. API의 첫 번째 응답에는 디스크에 있는 챌린지 토큰에 대한 경로가 포함됩니다. 챌린지 토큰은 Windows의 C:\ProgramData\AzureConnectedMachineAgent\tokens 또는 Linux의 /var/opt/azcmagent/tokens에 저장됩니다. 호출자는 파일의 내용을 읽고 인증 헤더에서 이 정보를 사용해 요청을 다시 실행하여 이 폴더에 대한 액세스 권한이 있음을 증명해야 합니다. 토큰 디렉터리는 관리자와 "하이브리드 에이전트 확장 애플리케이션"(Windows) 또는 "himds"(Linux) 그룹에 속한 모든 ID가 챌린지 토큰을 읽을 수 있도록 구성됩니다. 시스템 할당 관리 ID를 사용하도록 사용자 지정 애플리케이션에 권한을 부여하는 경우 해당 사용자 계정을 적절한 그룹에 추가하여 액세스 권한을 부여해야 합니다.
Arc 지원 서버에서 관리 ID를 사용하여 Azure 리소스를 인증하고 액세스하는 방법에 대한 자세한 내용은 다음 동영상을 참조하세요.
RBAC 역할
Azure에는 Azure Arc 지원 서버에 대한 액세스를 제어하는 데 사용할 수 있는 두 가지 기본 제공 역할이 있습니다.
Azure Connected Machine 온보딩 - 새 머신을 Azure Arc에 연결하는 데 사용되는 계정을 대상으로 합니다. 이 역할을 사용하면 계정이 새 Arc 서버를 보고 만들 수 있지만 확장 관리는 할 수 없습니다.
Azure Connected Machine 리소스 관리자 - 서버가 연결되면 서버를 관리하게 될 계정을 대상으로 합니다. 이 역할을 사용하면 계정이 Arc 서버, VM 확장, 라이선스, 프라이빗 링크 범위를 읽고, 만들고, 삭제할 수 있습니다.
Azure의 일반 RBAC 역할은 Azure Arc 지원 서버에도 적용됩니다(읽기 권한자, 기여자, 소유자 포함).
ID 및 액세스 제어
Azure 역할 기반 액세스 제어를 사용하여 Azure Arc 지원 서버를 보고 관리할 수 있는 계정을 제어할 수 있습니다. Azure Portal의 IAM(Access Control) 페이지에서 Azure Arc 지원 서버에 대한 액세스 권한이 있는 사용자를 확인할 수 있습니다.
사용자 및 애플리케이션에서 리소스에 대한 액세스 권한이 부여된 기여자 및 관리자 역할은 컴퓨터에 확장을 배포하거나 삭제하는 등 리소스를 변경할 수 있습니다. 확장에는 권한 있는 컨텍스트에서 실행되는 임의의 스크립트가 포함될 수 있으므로 Azure 리소스의 모든 기여자가 서버의 간접 관리자가 될 수 있습니다.
Azure Connected Machine 온보딩 역할은 대규모 온보딩에 사용할 수 있으며 Azure에서 새 Azure Arc 지원 서버를 읽거나 만들 수만 있습니다. 이미 등록된 서버를 삭제하거나 확장을 관리하는 데 사용할 수 없습니다. 모범 사례로서 대규모 컴퓨터를 온보딩하는 데 사용되는 Microsoft Entra 서비스 주체에게만 이 역할을 할당하는 것이 좋습니다.
Azure Connected Machine Resource 관리자 역할의 멤버인 사용자는 컴퓨터를 읽고 수정하고 다시 온보딩하고 삭제할 수 있습니다. 이 역할은 리소스 그룹 또는 구독의 다른 리소스가 아닌 Azure Arc 지원 서버의 관리를 지원하도록 설계되었습니다.