Linux 디바이스용 OSConfig란?
IoT/Edge 솔루션 작성기 및 운영자는 디바이스 설정을 구성하고 관찰해야 하는 경우가 많습니다. 일반적인 예로는 네트워크 설정, 호스트 이름, 표준 시간대, 보안 벤치마크, 방화벽 규칙, ssh 사용자 등이 있습니다.
Linux용 OSConfig는 이러한 구성 관리 기능을 Azure IoT 워크플로에 직접 제공하는 압축(≈5MB) 디바이스 쪽 구성 요소입니다. IoT/Edge 공간의 대체 사례와 비교하여 OSConfig를 Azure IoT 또는 GitOps 사례와 함께 사용하면 다음을 수행할 수 있습니다.
- 배포 시 대규모 동적 구성을 허용하여 유지 관리해야 하는 디바이스 이미지 수를 줄입니다.
- 대규모로 특정 디바이스 또는 디바이스에 대한 필드에서 재구성을 허용하여 전체 이미지 업데이트 빈도 줄이기
- Azure IoT에서 직접 구성 관리를 허용하여 IoT/Edge 솔루션에서 무거운 데이터 센터 심각도 관리 도구를 제거합니다.
참고: OSConfig는 Edge+클라우드 솔루션에 대한 Microsoft의 보안 및 관리 기능 제품군의 일부입니다. 이 제품군은 위협 관리, 워크로드 관리, 구성 관리 및 업데이트 관리를 다룹니다. 자세한 내용은 Linux 디바이스용 Microsoft 보안 및 관리 제품군을 참조하세요.
Azure IoT에서 작동하는 방식
Linux용 컴팩트하고 효율적인 OSConfig 에이전트는 각 디바이스에서 실행됩니다. 디바이스의 구성 가능하고 관찰 가능한 속성을 Azure IoT Hub 프로젝트합니다. 이렇게 하면 쌍 기반 워크플로(예: IoT Explorer, Azure IoT 장치 관리 구성 및 Azure IoT 장치 관리 쿼리)가 디바이스를 관찰하고 구성할 수 있습니다.
무엇을 프로비전하고 관리할 수 있나요?
OSConfig에는 기본 제공 기능의 표준 라이브러리가 포함되어 있습니다. 또한 고유한 디바이스에 대한 기능을 추가하거나 수정할 수 있는 플러그 인 모델도 있습니다.
다음은 기본 제공 기능을 사용하여 수행할 수 있는 시나리오의 예입니다.
네트워크 어댑터 및 IP 정보
참조 정보 및 실습 예제는 OSConfig 및 Azure IoT를 사용하여 네트워크 어댑터 상태, IP 주소 등을 사용하여 작업을 참조하세요.
- 모든 디바이스의 인벤토리 IP 주소
- 문제 해결, 연결 및 IP 카메라 등을 위한 디바이스의 IP 주소를 가져옵니다.
- 디바이스에서 이름 확인 문제를 조사하는 데 사용하는 DNS 서버 가져오기
- 모든 디바이스가 승인된 네트워크 인프라를 사용하거나, 실수로 테스트 네트워크에 연결된 디바이스를 catch하거나, 예기치 않은 커피숍에서 연결하는 것을 감사합니다.
- 배포 프로세스의 일부로 디바이스를 고정 IP에서 DHCP로 전환
- 네트워크 인프라 변경에 맞게 조정
패키지 관리자 구성
참조 정보 및 실습 예제는 Azure IoT 및 OSConfig를 사용하여 OS 패키지 관리자 관리를 참조하세요.
- 디바이스가 승인된 버전의 라이브러리 등에 프라이빗 패키지 리포지토리를 사용하고 있는지 확인합니다.
- 특정 패키지에 대한 공급업체/파트너 패키지 리포지토리에 대한 디바이스를 동적으로 가리킵니다.
- 특정 패키지가 설치되어 있는지 확인
- 여러 디바이스에서 설치된 패키지 상태를 비교하고 드리프트를 검색합니다.
호스트 이름
참조 정보 및 실습 예제는 Azure IoT 및 OSConfig를 사용하여 호스트 이름 작업을 참조하세요.
- 표준을 준수하거나 디바이스에서 들어오는 데이터 및 로그를 컨텍스트에서 평가할 수 있도록 OS 수준 호스트 이름을 설정합니다.
- 인벤토리 및 감사에 대한 OS 수준 호스트 이름 가져오기
호스트 파일
참조 정보 및 실습 예제는 Azure IoT 및 OSConfig 를 사용하여 /etc/hosts 파일 작업을 참조하세요.
- 온-프레미스 인프라와의 통신을 사용하도록 호스트 파일 항목 추가
- 디바이스 역할 또는 위치에 따라 특정 항목을 동적으로 프로비전
- 디바이스에 원하는 항목이 있는지 감사
방화벽
참조 정보 및 실습 예제는 Azure IoT 및 OSConfig를 사용하여 호스트 방화벽 관리를 참조하세요.
- 여러 디바이스에서 호스트 기반 방화벽이 사용하도록 설정되어 있는지 감사
- 디바이스 간에 설정된 누적 규칙이 알려진 지문과 일치하는지 감사합니다.
- "내 관리 서브넷을 제외한 모든 ssh 인바운드 거부"와 같은 환경별 규칙이 제자리에 있는지 확인합니다.
- 개발자 및 진단 액세스를 허용하도록 임시 변경
- 새로 보고된 취약성에 따라 특정 트래픽 차단과 같은 보안 환경의 변화에 맞게 조정
- 새 HTTP 엔드포인트에 대한 액세스 사용과 같은 앱/워크로드 요구 사항 및 네트워크 인프라의 변경에 맞게 조정
CPU, OS, TPM, 디바이스 공급업체 등을 포함한 디바이스 정보
참조 정보 및 실습 예제는 Azure IoT 및 OSConfig를 사용하여 하드웨어 및 OS 정보 보고를 참조하세요.
- 플릿 전체의 OS 배포판 및 버전에 대한 보고
- CPU 아키텍처, OS 등에 대해 보고된 속성별 IoT Hub 구성을 대상으로 지정합니다.
- 다른 유형의 함대의 경우 TPM 기능이 있는 디바이스를 검색합니다.
- TPM이 있는 디바이스의 경우 TPM이 활성 상태이고 예상대로 OS와 상호 작용하고 있는지 감사합니다.
다시 부팅 및 종료
참조 정보 및 실습 예제는 Azure IoT 및 OSConfig를 사용하여 디바이스 다시 부팅 또는 종료를 참조하세요.
- 잘못된 동작 디바이스 다시 부팅 또는 종료
- 여러 디바이스에서 유지 관리 다시 부팅 조정
ADHS(Azure Device Health Service) 거버넌스
- ADHS 진단 데이터 서비스에 대한 옵트인 수준 설정 및 감사
배달 최적화 거버넌스
- Microsoft 연결된 캐시 URL, 제한 등과 같은 배달 최적화 매개 변수 설정 및 감사
대규모 사용자 지정 구성
참조 정보 및 실습 예제는 Azure IoT 및 OSConfig를 사용하여 사용자 지정 구성 및 보고 및 OSConfig 및 Azure IoT의 CommandRunner 기능과 상호 작용하는 방법을 참조하세요.
- 사용자 지정 스크립트를 실행하여 워크로드, OS 구성 요소, 파일 등을 구성합니다.
- 모든 디바이스에서 OS 표준 시간대를 구성합니다. 예를 들어 디바이스에서 들어오는 데이터 및 로그에 organization 표준 타임스탬프가 찍어 있는지 확인합니다.
- 모든 디바이스에서 네트워크 시간 원본을 구성하여 디바이스가 organization 표준 시간 유지와 동기화 상태를 유지하고 불량 시간 원본을 사용하지 않도록 합니다.
- 신뢰할 수 있는 패키지 리포지토리를 원본으로 추가하는 것과 같은 패키지 관리자 설정 구성
- 당신의 상상력은 한계입니다; 사용자 지정 구성은 셸 명령을 기반으로 합니다.
대규모 사용자 지정 보고 및 원격 진단
참조 정보 및 실습 예제는 Azure IoT 및 OSConfig를 사용하여 사용자 지정 구성 및 보고 및 OSConfig 및 Azure IoT의 CommandRunner 기능과 상호 작용하는 방법을 참조하세요.
- 사용자 지정 명령을 실행하여 디바이스에서 정보를 가져옵니다.
- 특정 디먼이 모든 디바이스에서 실행되고 있는지 감사
- 디바이스가 솔루션에 중요한 특정 엔드포인트를 정기적으로 ping할 수 있는지 감사
- 당신의 상상력은 한계입니다; 사용자 지정 보고는 셸 명령을 기반으로 합니다.
- 디바이스가 활성 상태인지 확인
- 디바이스에서 진단 및 개발자 명령 실행
다음 단계
- OSConfig에 대한 즉각적인 실습 환경은 5분 안에 OSConfig(Azure IoT 사용) 랩 환경 만들기를 참조하세요.
- 컨텍스트에 따라 권장되는 문서는 OSConfig용 대상 그룹 설명서를 참조하세요.
- 새로운 기능으로 OSConfig를 확장하거나 특정 디바이스에 맞게 사용자 지정하려면 Azure-osconfig에서 GitHub 리포지토리를 참조하세요.