스트리밍은 대부분의 브라우저와
Developer 앱에서 사용할 수 있습니다.
-
개선된 선언적 기기 관리 살펴보기
IT 관리자가 기업의 기기를 관리하는 데 필요한 도구를 제공하는 방법을 알아보세요. 소프트웨어 업데이트 관리, 신규 애셋 형식, FileVault용 상태 보고와 같은 선언적 기기 관리의 최신 변경 사항을 살펴봅니다.
리소스
관련 비디오
WWDC23
WWDC22
WWDC21
-
다운로드
♪ ♪
안녕하세요, 이번 세션은 '개선된 선언적 기기 관리 살펴보기'입니다 저는 사이러스 다부라고 합니다 기기 관리 클라이언트 팀에서 엔지니어로 근무하죠 오늘 여러분께 선언적 기기 관리의 멋진 새 기능을 소개해 드릴 겁니다 선언적 기기 관리는 모든 Apple 기기에 사용되는 새로운 기기 관리 솔루션입니다 자율적이고 주도적인 기기 관리를 가능하게 하죠 기기가 서버에 요청하지 않고도 관리 로직을 적용할 수 있고 비동기 상태 보고가 지원되어 서버가 기기와 폴링할 필요가 없습니다
MDM에 내장되어 있어 기존 제품과의 전환 및 결합도 간편합니다
'차기 프로토콜 기능은 선언적 기기 관리를 중점으로 하겠다'고 WWDC22에서 말씀드렸죠 그 말을 이번 릴리즈로 지키게 되었습니다 '신규 프로토콜 기능의 중점은 선언적 기기 관리입니다' 이번 릴리즈에는 선언적 기기 관리에서만 가능한 새롭고 강력한 기능이 많습니다 또한 MDM과의 패리티를 증대하고 MDM에서 전환하는 작업을 도와줄 기능도 포함되어 있습니다 선언적 기기 관리는 WWDC21에서 처음 소개해 드렸고 WWDC22에서는 기반 기능을 더 개선했죠 MDM 개발자와 기업 관리자들 사이에서 선언적 기기 관리는 무척 좋은 반응을 얻었습니다
이미 많은 MDM 개발자가 선언적 기기 관리를 지원하는 MDM 서버를 선보이고 있죠 이번에 릴리즈하는 기능으로 더 많은 분이 이에 동참해 고객에게 향상된 관리 기능을 제공할 수 있을 겁니다
WWDC21과 WWDC22 세션을 참고해 선언적 기기 관리가 무엇이고 제품에 어떻게 적용할 수 있는지 더 자세히 살펴보세요
지원 플랫폼 정보에 변경 사항이 있습니다
이제 MDM과 선언적 기기 관리가 watchOS에서도 가능합니다
'Apple Watch용 기기관리 알아보기' 세션에서 자세히 살펴보세요
선언적 기기 관리는 Apple 내 여러 팀의 협업으로 제작됩니다 MDM 개발자와 기업 관리자에게 견고하고 안전한 솔루션을 제공하기 위해서죠
저희는 언제나 끊김 없는 사용자 경험을 중점으로 합니다 사용자의 개인정보와 기기의 보안을 보호하면서 기업 관리자에게는 기업 데이터를 보호하고 정책을 준수하도록 강제할 도구를 제공하는 것이 목적이죠
저희는 MDM 개발자 및 기업 관리자와도 협업했습니다 이번에 선보일 기능의 우선순위를 정하는 데 여러분의 피드백이 도움이 되었죠
선언적 기기 관리의 기반 요소가 갖추어지자 저희는 그다음으로 핵심 관리 기능을 중점적으로 개발했습니다 어떤 기능인지 살펴보죠 소프트웨어 업데이트를 새로운 방식으로 진행하는 기능과 앱을 관리하는 기능
시스템 서비스를 잠그고 백그라운드 작업을 탐지하며 기기 보안을 강화하는 기능
그리고 기기에 인증서와 사용자 인증 정보를 설치해 사용할 수 있게 하는 기능 끝으로 MDM의 프로파일을 선언적 기기 관리로 더 간편하게 전환하는 새로운 동작을 보여 드리겠습니다
소프트웨어 업데이트 팀과 협업해 저희는 macOS, iOS, iPadOS 기기의 소프트웨어 업데이트를 관리하는 새로운 기능을 선언적 기기 관리에 내장했습니다 필요한 기능과 픽스를 확실히 갖추려면 IT 관리자는 사용자의 기기가 최신 소프트웨어 업데이트를 설치했는지 확인해야 하죠 관리자는 소프트웨어 업데이트를 강제할 필요가 있으며 또한 새로운 OS가 릴리즈되면 기업의 앱이나 서비스와 호환되는지 시험하기 위해 짧은 기간 동안 업데이트를 유예할 필요도 있죠 그리고 기기에 요청을 보낸 후에 업데이트가 제대로 실행되었는지 검증해야 합니다 대량의 기기를 상대로 이런 작업은 시간이 소모되죠 이제 관리자는 MDM 커맨드로 감독 중인 기기에 업데이트 설치를 요청할 수 있습니다 서버가 기기와 폴링할 때 업데이트 상태를 응답받을 수 있죠
또한 프로파일별로 크고 작은 업데이트를 유예해서 감독 중인 기기가 특정 기간 동안 사용자에게 소프트웨어 업데이트를 제공하지 않게 제한할 수 있죠 저희는 여러분의 피드백을 반영해 전반적인 소프트웨어 업데이트 관리를 관리자와 사용자 모두에게 편리하게 개선했습니다
선언적 기기 관리는 관리자에게는 업데이트 과정에 더 많은 주도권을 제공하며 사용자에게는 정보를 더 명확하게 알리는 한편 때가 되면 업데이트가 제대로 이루어지도록 보장합니다 자세히 알아보죠
소프트웨어 업데이트 동작을 구성을 통해 정의할 수 있습니다 기기는 그렇게 정의된 사항을 자율적으로 수행하며 사용자에게 업데이트 절차를 알려 기한 내에 사용자 스스로 업데이트할 수 있도록 선택권을 제공합니다
그리고 술부를 사용해 정교한 로직을 활성화하면 미공개 빌드나 GM 빌드로 기기를 업데이트하거나 신속 보안 대응을 적용할 때 소프트웨어 업데이트의 순서를 제어할 수 있죠
그리고 비동기 상태 보고로 소프트웨어 업데이트 현황이 개발자에게 보고되기 때문에 이슈가 발생했을 때 신속히 해결할 수 있습니다 그럼 어떻게 작동하는지 알아보죠
감독 중인 기기의 소프트웨어 업데이트를 특정 시간에 강제로 실행하는 구성을 추가했습니다 설치 상태에 관한 세부 정보나 설치 실패 사유를 포함한 소프트웨어 업데이트 현황을 보고하는 상태 항목도 추가했죠 예시를 살펴볼게요
이 예시 구성은 특정 시간에 강제로 특정 버전 OS와 빌드의 소프트웨어 업데이트를 실행합니다 TargetOSVersion 키는 업데이트할 OS 버전을 지정하죠
필요시 TargetBuildVersion 키로 미공개 빌드를 지정할 수 있습니다 둘 다 있으면 TargetBuildVersion이 TargetOSVersion을 우선합니다 기기가 특정 버전의 업데이트를 찾지 못하면 Software Update Server에 제공된 기본 업데이트를 찾습니다
TargetLocalDateTime 키는 업데이트를 강제할 로컬 날짜와 시간을 지정하죠
softwareupdate 상태 항목의 상태 보고 예시입니다
install-reason 상태 항목은 설치가 일어나는 사유를 나타내고 있습니다 업데이트가 선언에 따른 것인지 시스템이나 사용자에 의한 것인지 혹은 복합적인지를 보여주는 항목이죠 pending-version 상태 항목은 시스템에서 설치하려는 업데이트가 어떤 버전인지 나타냅니다 install-state 상태 항목은 업데이트와 관련한 현재 시스템 상태를 나타내죠
failure-reason 상태 항목은 오류가 발생한 횟수와 가장 최근 오류의 발생 사유 및 발생 시간을 보여줍니다 이 정보가 사용자 시점에서는 어떻게 보이는지 살펴볼게요
사용자에게는 어떤 업데이트가 언제 강제되는지 명확히 제공되죠
사용자는 간단히 기한 내에 먼저 업데이트를 실행하거나 그날 밤으로 예약할 수 있습니다
'오늘 밤에 업데이트하기'를 사용자가 선택하면 업데이트가 다운로드되고 준비되며 그날 밤에 업데이트되도록 대기열에 올라가죠 기기가 충분히 충전되어 있고 사용되지 않을 때 실행됩니다
사용자가 업데이트를 즉시 설정하지 않는다면 소프트웨어 업데이트에서 기한이 끝나기 전까지 매일 업데이트 알림을 표시합니다 macOS에서는 알림이 뜨면 사용자가 '설치'나 '오늘 밤에 설치'를 선택할 수 있죠 기한이 끝나기 24시간 전부터 이 알림은 1시간마다 표시되며 방해금지 모드를 무시합니다 기한이 끝나기 1시간 전부터는 30분마다 표시되다가 10분 간격으로 표시되죠
사용자가 휴가 중이라 기기를 종료해 두었고 그래서 기한을 놓쳤다고 가정해 봅시다 사용자가 기기를 다시 켜면 소프트 업데이트가 알림을 띄워 업데이트 기간이 지났음을 알리고 1시간 이내로 업데이트를 시도할 겁니다
iOS와 iPadOS에서도 비슷한 방식으로 진행되죠
여기서는 관리자가 강제한 iOS 17.0 업데이트 알림이 하단의 강조된 부분에 나타납니다 사용자는 '지금 업데이트하기'나 '오늘 밤에 업데이트하기'를선택해 macOS와 마찬가지로 미리 업데이트를 설치할 수 있죠
사용자가 스스로 정하지 않으면 macOS와 마찬가지로 간격을 줄여 가며 알림을 표시합니다 기한이 지났을 때도 동일한 동작이 이루어지죠
소프트웨어 업데이트 선언 MDM 커맨드와 프로파일은 공존할 수 있습니다
하지만 선언으로 강제한 소프트웨어 업데이트는 항상 MDM 커맨드와 프로파일보다 우선도가 높습니다
소프트웨어 업데이트 구성과 상태 항목은 macOS를 비롯해 iOS와 iPadOS에서 가능합니다
이제 주제를 바꿔 기기 관리의 또 다른 중요 사항인 앱을 살펴보죠
관리자는 관리되는 기기에서 앱의 라이선싱과 설치 업데이트와 제거를 관리할 수 있어야 합니다 또한 문제가 발생하면 지원하고 기업 내의 역할 변경에 따라 기기가 다른 사용자에게 제공되면 기기를 재설정할 수도 있어야 하죠
MDM 개발자들은 앱 개발용 MDM 커맨드를 사용해 관리자들이 앱을 관리할 수 있는 다양한 도구를 제공하며 Apple Server API로 앱의 메타데이터를 확인하고 라이선싱을 관리합니다
권한이 강하고 폴링 방식을 쓰는 MDM의 성질 때문에 관리자들은 문제가 발생하거나 사용자의 업무가 바뀌거나 여러 사용자가 기기를 공유할 때 신속하게 대응하는 데 어려움을 겪습니다 사용자가 기기를 처음 설정하거나 변경할 때도 기기의 대응이 늦게 되죠
선언적 기기 관리는 관리자에게는 새롭고 효율적인 앱 관리 경험을 제공하며 사용자에게는 더 즉각적이고 신뢰할 수 있는 환경을 제공합니다 자세히 알아보죠
구성을 사용하면 필요시 기기에서 활성화할 수 있는 앱을 지정할 수 있습니다 이런 앱은 미리 기기로 전송되어 기기에서 사용을 지시할 때 바로 준비됩니다
술부를 사용하면 로직을 활성화해 서버에 의해 설정된 관리 권한이나 기기 상태에 기초하여 어떤 사용자에게 어떤 앱을 활성화할지 제어할 수 있습니다 관리자는 활성화할 앱 목록을 필요시 신속하게 전환할 수 있죠
앱은 설치하지 않아도 사용자에게 표시되며 사용자는 서버의 개입 없이 언제 설치할지 정할 수 있습니다 사용자의 동의를 구하는 창을 강제로 띄울 필요도 없어지죠 그리고 비동기 상태 보고가 앱의 최신 변경 사항을 알려주므로 문제가 발생했을 때 관리자가 신속하게 해결할 수 있습니다
구체적인 원리를 살펴보죠
개별 앱의 설치와 업데이트 삭제를 관리할 수 있는 구성이 추가되었습니다 관리되는 앱 목록을 보고하는 새로운 상태 항목도 추가했죠 앱은 App Store에서 받거나 MDM과 유사하게 매니페스트 파일로 지정한 기업 앱을 사용할 수 있습니다
macOS에서는 패키지를 지원하지만 하나의 앱만 포함되어야 합니다 그리고 앱 설치를 사용자의 선택에 맡기도록 설정할 수도 있죠 예시를 살펴봅시다
예시로 가져온 이 관리되는 앱 구성은 App Store에서 Pages 앱을 설치합니다 InstallBehavior에서 앱을 Required로 지정했네요 따라서 구성이 활성화되는 즉시 앱이 설치되고 관리될 겁니다 사용자는 앱을 제거할 수 없죠
대신 InstallBehavior를 Optional로 설정할 수도 있습니다
구성이 활성화되면 앱을 설치할 수 있게 되며 사용자는 원하는 때에 앱을 다운로드할 수 있죠 그리고 언제든지 앱을 삭제할 수도 있습니다
앱별 VPN과 같은 다른 관리용 속성도 아래에 작성되어 있습니다
이 예시는 Pages 앱 설치가 완료되었음을 보여주는 상태 항목입니다
identifier 키는 상태 항목에 쓰이는 특수한 식별자로 앱의 번들 식별자로 설정되어 있죠 declaration-identifier 키는 앱을 관리하는 구성의 식별자입니다 상태 정보는 기기의 변경 사항을 비동기적으로 업데이트하여 폴링이 필요하지 않습니다 이제 사용자 경험을 살펴보죠 많은 MDM 개발자는 사용자도 관리를 제어할 수 있도록 앱에서 선택권을 제공합니다 대개는 앱 목록을 지원하여 사용자가 어떤 앱을 언제 설치할지 선택하게 하고 있죠 사용자는 앱을 눌러서 설치를 시작할 수 있습니다 이 과정을 구현하려면 프라이빗 프로토콜을 사용해 앱과 MDM 서버가 서로 앱 목록을 주고받게 하고 사용자의 결정을 전달받아 서버로 보내야 합니다 그러면 서버가 MDM 커맨드를 보내 설치를 실행하죠 이처럼 응답을 주고받으면 사용자 경험 측면에서 부가적인 지연이 발생합니다 저희는 선택적인 앱 설치의 보안을 유지하면서도 더 간단하게 개선해 문제를 해결하고자 했죠
새로운 ManagedAppDistribution 프레임워크는 서드파티 앱 사용을 지원합니다 이때 App Store 제출 과정에서 요청해야 하는 권한이 필요합니다 SwiftUI 뷰 확장 프로그램이 프레임워크에 포함되어 있어 개별 앱을 SwiftUI로 확장해 레이아웃을 사용자화할 수 있죠 사용자는 세부 사항을 보거나 앱을 눌러 설치할 수 있습니다 MDM 서버를 왕복하느라 발생하는 지연을 제거함으로써 앱을 즉시 설치하고 더 좋은 피드백을 제공하여 사용자 경험이 개선됩니다 여러분이 제작할 앱에서 이 기능이 어떻게 보일지 알아보죠
iOS 앱의 MDM 관리 앱을 예시로 보여드리겠습니다 새로운 뷰 서비스로 사용자에게 앱 목록이 표시되죠
하나는 현재 설치되어 있고 하나는 다운로드 중이며 진행도를 실시간으로 표시합니다 다른 하나는 선택적인 앱으로 설치 대기 상태죠 뷰의 형식은 사용자화 가능하며 본 예시에서는 기본 목록 형식이 쓰였습니다
macOS에서는 더욱 확장된 레이아웃을 사용할 수 있죠 지금 보시는 그리드 레이아웃은 다른 형식의 앱 뷰를 사용합니다
뷰 서비스를 사용하면 앱에서 필요에 따라 적절하게 앱을 정렬하고 묶을 수 있죠 이미 앱 목록을 표시하는 관리 앱을 사용 중이라면 대안으로 이 뷰 서비스를 사용해 사용자 경험을 개선할 수 있습니다 관리 앱 개발을 계획하고 있다면 뷰 서비스를 활용하여 더 간편하게 시작해 보세요
다만 신규 관리 앱 구성에서 InstallBehavior를 Optional로 지정하려면 사용자에게 자체 관리 앱을 제공해야 합니다
관리 앱 구성과 상태 항목 그리고 퍼블릭 프레임워크와 뷰 확장 프로그램은 macOS와 iOS iPadOS에서 지원됩니다
덧붙여 저희는 앱 관리 경험 개선을 위해 새로운 Server API인 Apps and Books for Organizations를 개발했습니다 지금 당장 사용하실 수 있죠
기존의 contentMetadataLookup Server API를 대체해
이 새로운 API는 신규 사용자화 및 버전 관리 기능을 제공하고 성능도 더욱 우수하며 업타임도 늘립니다 developer.apple.com을 방문해 자세한 사항을 살펴보세요 이제 macOS 시스템 서비스와 백그라운드 작업의 보안 준수를 선언적 기기 관리로 시행하고 검증하는 방법을 알아보죠
관리자는 지원 중인 기기가 일관적이고 안전하게 작동하는지 확인해야 할 필요가 있습니다 일관성을 확보했다는 것은 모든 기기가 동일한 방식으로 구성되어 기기 여러 대를 지원하기 편리하다는 뜻이죠 보안 준수를 확보했다는 것은 기기가 기본 수준의 보안성을 갖춰 기업 데이터의 보안을 보장할 수 있다는 뜻입니다
그리고 여러 기기에 변경 사항을 적용해야 하거나 새로운 기기를 목록에 추가할 때도 작업이 신속하고 효율적으로 이루어져야 하죠
때로는 시스템 서비스나 기기에 설치된 타사 서비스를 구성하고 탐지할 수도 있어야 합니다
macOS의 많은 시스템 서비스는 System Configuration 파일로 제어됩니다 예를 들어 sshd는 /etc/ssh 디렉토리에 있는 파일로 구성됩니다
시스템 서비스 대부분은 관리자에 의해 안전하게 구성되어 기업이 요구하는 일관성과 보안 준수를 보증해야 합니다 따라서 System Configuration은 사용자가 고의로, 혹은 실수로 변경할 수 없어야 합니다
보통 System Configuration 파일은 사용자가 수정하거나 사용자 지정 구성 파일을 쓰려고 덮어쓸 수 있기 때문에 이를 통제하는 것은 어려운 작업입니다
선언적 기기 관리는 적절한 해결책으로써 시스템 무결성 보호 기술로 시스템 서비스 구성을 지원하고 기기의 일관성과 보안 준수를 보증하기 위해 백그라운드 작업을 탐지할 수단을 제공하는 등 안전하고 신뢰할 수 있는 메커니즘을 제공합니다 자세히 살펴보죠
선언적 기기 관리 구성은 변조 방지 System Configuration을 다른 시스템 서비스로 지정할 수 있으며 상태 정보를 사용해 백그라운드 작업 현황을 탐지합니다 그리고 술부를 사용해 필요시 완전히 자율적인 방식으로 기기 상태에 따라 활성화된 정교한 보안 규정을 시행합니다 어떻게 작동하는지 보여 드리겠습니다
시스템 서비스 구성 파일 관리를 지원할 수 있도록 선언적 기기 관리 구성을 새롭게 추가했습니다
구성은 ZIP 형식으로 압축된 데이터 에셋을 참조합니다
구성이 활성화되면 압축 파일을 다운로드하고 변조 방지 처리된 서비스 위치에 압축을 해제합니다
이 위치는 프로그래밍 언어로 새 라이브러리의 함수를 호출하면 찾을 수 있기 때문에 관리되는 서비스 구성 파일을 모든 시스템 서비스가 적용할 수 있죠
내장 시스템 서비스도 수정되어 관리되는 서비스 구성 파일을 찾고 기본이나 덮어쓴 시스템 구성 대신 항상 해당 구성을 사용합니다
타사 서비스 또한 관리되는 서비스 구성 파일을 적용할 수 있습니다 여러분이 사용 중인 타사 서비스 개발자와 연락해 이 신규 기능 도입을 논의해 보세요 그럼 작동 방식을 알아보죠
이 예시 구성에서는 관리되는 서비스 구성 파일을 sshd 서비스에 설치합니다
데이터 에셋에 대한 참조가 포함되어 있습니다
데이터 에셋의 예시를 보죠
에셋이 새로운 형식으로 작성됐고 임의 데이터를 나타내고 있습니다
에셋 데이터를 검색할 때 사용하는 Authentication의 Type도 새로운 방식으로 지정하고 있죠 그 덕분에 에셋이 어디에 있든 작업이 유연해지며 데이터에 안전하게 접근하기 위한 인증 및 권한 획득도 유연해지죠
에셋의 DataURL은 참조 구성이 활성화되었을 때 ZIP 파일을 다운로드할 위치를 지정합니다
파일은 변조 방지 서비스 위치에서 압축이 해제되며 따라서 sshd 프로세스가 접근해 관리되는 서비스 구성을 사용할 수 있습니다
이 기능은 다음 내장 서비스에 우선으로 적용됩니다 sshd, sudo, PAM CUPS, Apache httpd 그리고 bash와 zsh입니다
이번 릴리즈로 시스템 서비스 구성을 잠글 수 있으며 설치된 백그라운드 작업의 목록을 보고하는 새로운 상태 항목도 추가됩니다
필요한 작업은 실행되고 불필요한 작업은 실행되지 않는지 관리자가 신속하게 확인할 수 있죠 실제로 어떻게 보일지 살펴봅시다
백그라운드 작업용 상태 배열 항목의 예시입니다 작업의 고유 identifier가 포함되어 있으며 작업을 실행 중인 사용자 계정의 uid와 작업의 state가 있습니다 작업의 type은 daemon이나 agent login item, app 혹은 user item으로 표기됩니다 서비스를 로드하는 데 쓰이는 launchd 프로퍼티의 체크섬 해시 label, program_arguments 등의 launchd 항목도 사용할 수 있죠
그리고 macOS 부트 볼륨의 filevault.enabled 상태를 보고하는 상태 항목도 추가했어요 FileVault 활성화 여부를 나타내는 불리언 값을 반환하며 활성화 술부에서 사용하기도 간편하기 때문에 보안에 민감한 구성이 안전한 환경에서만 설치되도록 제한할 수 있습니다
관리된 서비스 구성 파일과 백그라운드 작업 FileVault 상태 보고를 조합함으로써 관리자가 기업이 운영하는 모든 macOS 기기의 일관성과 보안 준수를 확보할 수 있는 강력한 수단이 생겼습니다 이제 선언적 기기 관리의 보안 인증서와 사용자 인증 정보를 알아보죠
관리자는 내부 및 외부 네트워크가 호스팅하는 기업 자산에 안전하게 접근할 수 있어야 합니다
대개 기기에 인증서나 사용자 인증 정보를 추가해 전송 계층 보안이나 앱 서비스 접근을 허가하죠
다른 앱 서비스가 동일한 인증서나 인증 정보를 사용한다면 각각의 관계를 관리할 수단이 있어야 합니다
인증서는 유효 기간이 있기 때문에 인증서를 안정적으로 갱신할 수단도 필요하죠
그리고 암호 인증 방식을 패스키 방식과 같이 더 빠르고 편하며 피싱을 방지하는 방식으로 대체할 필요가 있습니다 그렇기에 MDM 개발자는 관리자가 인증서와 인증 정보를 안정적으로 관리할 수 있는 수단을 제공해야 하는 것이죠
이미 MDM에는 프로파일 페이로드가 포함되어 기기의 키체인에 인증서와 인증 정보를 생성할 수 있습니다
또한 ACME 프로토콜과 SCEP 프로토콜을 활용한 사용자 인증 정보의 권한 설정을 지원하며 인증서 목록 커맨드를 통해 인증서를 검색할 수 있습니다 하지만 현재 MDM의 기능에는 한계가 있죠
MDM 인증서나 인증 정보 페이로드는 동일한 프로파일의 페이로드가 참조할 수 있습니다
하지만 다른 프로파일에서 인증서나 인증 정보를 참조하는 건 허용되지 않죠
즉, 같은 항목을 참조하기 위해 모든 페이로드를 수용해야 하므로 프로파일이 비대해지며 인증서나 인증 정보를 여러 프로파일에 복사해야 하므로 최신 상태로 유지하기가 번거로워집니다
또한 인증서나 인증 정보를 갱신해야 할 때 프로파일의 모든 페이로드가 시스템상에서 업데이트되므로 사용자 경험에 방해가 될 수 있습니다
선언적 기기 관리는 선언 데이터 모델을 최대한으로 활용함으로써 인증서 및 인증 정보 관리에 효율적인 메커니즘을 제공합니다 자세히 살펴보죠
인증서와 인증 정보는 에셋 선언으로 정의할 수 있습니다 그런 다음 구성에서 해당 에셋을 참조할 수 있죠
다수의 구성이 동일한 인증서나 인증 정보를 참조할 수 있고 다수의 인증서나 인증 정보가 동일한 구성에 의해 참조될 수 있습니다
인증서나 인증 정보를 갱신해야 할 때는 에셋만 업데이트하면 되죠 이처럼 에셋과 구성을 조합하면 MDM 프로파일 페이로드의 한계를 상당 부분 해결할 수 있습니다
ACME 및 SCEP 인증 정보의 권한을 설정할 때도 폴링할 필요 없이 신속한 피드백을 포함한 인증서와 인증 정보 상태를 보고받을 수 있습니다 어떻게 작동하는지 알아보죠
인증서나 인증 정보를 제공하는 에셋을 추가했습니다
인증서는 PEM이나 DER 형식을 사용하죠
인증 정보는 PKCS #12를 쓰거나 ACME나 SCEP 프로토콜을 사용해 권한을 설정할 수 있습니다 사용 가능하다면 하드웨어 바운드 키도 사용하죠
새로운 상태 항목으로는 에셋을 통해 설치된 각각의 인증서나 인증 정보를 보고할 수 있습니다 예시를 살펴보죠
인증서를 설치하는 에셋의 예시입니다
Reference 세부 정보에서 URL을 제공하여 실제 인증서 데이터를 기기에 전달하죠
이 예시에서는 ACME 서버를 통해 인증 정보의 권한을 설정합니다
여기서 Reference 세부 정보가 제공하는 URL은 ACME 프로토콜 교환에 필요한 프로퍼티를 포함하는 JSON 문서를 전달합니다 ACME 프로퍼티 JSON 문서의 예시입니다
DirectoryURL이 ACME 서버 URL을 지정하고 있죠 어떤 형식의 키를 생성할지 정의하는 프로퍼티와 생성된 인증서와 관련한 프로퍼티가 이어집니다
이제 상태 정보를 볼게요 인증서 두 개를 포함하는 상태 배열 항목의 예시입니다 각 항목에 관련된 에셋의 declaration-identifier가 있고 DER 형식으로 암호화된 인증서 데이터와 인증서와 인증 정보가 일치하는지 알려주는 항목이 있습니다
인증서와 인증 정보에 사용할 에셋을 준비했으니 신규 구성 및 기존 구성에서 한번 사용해 봅시다
두 가지 새로운 구성으로 단독 인증서와 단독 인증 정보를 설치할 수 있습니다 모두 자격 증명 에셋을 참조하여 실제 인증서나 인증 정보의 데이터를 제공하죠
인증서 구성은 키체인에 하나의 인증서를 설치합니다 해당 인증서가 자체 서명되었거나 인증 기관이라면 TrustStore에도 추가됩니다
인증 정보 구성은 키체인에 하나의 인증 정보를 설치합니다
이 구성은 모든 플랫폼에서 사용할 수 있죠
그리고 기업 패스키를 배포하는 구성이 있습니다
WWDC22에서 앱과 웹 사이트의 암호를 대체할 패스키를 소개해 드렸었죠 이번 릴리즈로 인증받은 기기와 사용자만 권한을 설정할 수 있게 함으로써 기업의 패스키 배포를 더욱 편리하게 만들고자 합니다
이를 위해 새로운 기업 패스키 인증 구성을 추가했죠 사용자가 해당 구성으로 지정된 사이트를 방문하면 사용자의 패스키를 기기에 안전하게 생성할 수 있습니다
해당 구성은 인증 정보 에셋을 참조합니다
참조한 인증 정보를 사용하여 생성된 패스키의 기본 WebAuthn 인증을 실시하죠 WebAuthn을 사용하는 웹 서비스는 이 증명 결과를 검증하고 관련 사이트에 접근을 허가할 수 있습니다 결국 관리자는 특정 패스키 사용을 관리되는 기기에 한정할 수 있죠
이 기능은 macOS와 iOS iPadOS에서 사용할 수 있습니다
MDM 서버와 이를 사용하는 웹 서비스가 함께 작동하는 방식을 자세히 살펴보려면 '직장에 패스키 배포하기' 세션을 참고해 주세요 마지막으로, Mail과 Exchange 계정 구성이 MDM 프로파일의 페이로드와 기능을 공유할 수 있도록 이제 S/MIME 암호화를 지원합니다
이제 계정 구성이 인증 정보 에셋을 참조하여 S/MIME 인증과 암호화를 사용할 수 있습니다 이 기능은 iOS와 iPadOS에서 지원됩니다
마지막 기능과 관련해 MDM 프로파일을 간편하게 구성으로 전환할 수 있는 새 동작을 살펴보도록 하죠
선언적 기기 관리는 MDM에 내장되어 있고 MDM과 병행하여 새 관리 기능을 활용할 수 있으며 여러분의 제품에 점진적으로 적용해 나갈 수 있습니다 MDM에 선언적 기기 관리를 적용하는 법은 간단합니다 DeclarativeManagement 커맨드를 기기에 전송하고 기기에 활성화된 선언을 동기화하면 됩니다
그러면 MDM 서버에 상태 보고가 들어오죠
이 작업이 더 편리하도록 레거시 프로파일 구성을 생성해서 기존 MDM 프로파일을 구성으로 보낼 수 있게 했습니다 그 덕분에 자율적이고 주도적인 선언적 기기 관리의 장점을 프로파일이 최대한으로 활용할 수 있게 되었습니다
우선 기존 MDM 프로파일을 제거한 다음 동일한 프로파일을 설치하는 구성을 보내 활성화하는 방식이죠
이 작업은 계정 등에서 모든 데이터를 갱신하거나 기기에 누락된 제한 사항을 잠시 관리하지 못하게 되는 등 다소 지장을 초래할 수도 있습니다 MDM 프로파일을 레거시 프로파일 구성으로 더 간편하게 전환하게 해 달라는 MDM 개발자들의 요청에 이 문제를 개선했습니다 자세히 살펴보죠 이제 기존에 설치한 MDM 프로파일을 삭제하지 않아도 선언적 기기 관리에서 관리를 수행할 수 있습니다 서버는 MDM으로 설치한 기존 프로파일과 동일한 프로파일을 포함한 구성을 전송하고 활성화하면 됩니다 그러면 다시 설치하거나 업데이트하지 않아도 선언적 기기 관리가 그 프로파일을 관리하게 되죠 이 시점에서 선언적 기기 관리가 해당 프로파일을 소유하게 됩니다 MDM은 더 이상 프로파일을 변경할 수 없어요 프로파일이 관리하는 기기 상태에 지장을 주지 않으며 관리하지 못하는 부분이 생기지도 않습니다 MDM에서 선언적 기기 관리로 전환하는 작업이 더 간편해지죠
이 새로운 동작은 모든 플랫폼에서 지원됩니다
말씀드린 기능을 마지막으로 이번 선언적 기기 관리 릴리즈의 흥미로운 신규 기능 소개를 마치도록 하겠습니다 그럼 요약해 보죠 기반 요소가 갖추어졌으므로 이번 릴리즈에서 목표로 한 것은 선언적 기기 관리를 활용한 핵심 관리 기능 구축이었습니다
대부분 여러분의 요청에 따라 개발한 기능이죠 피드백을 보내 주셔서 감사합니다 선언적 기기 관리는 아직 발전할 여지가 많으니 앞으로도 피드백을 주시면 여러분에게 중요한 기능을 파악해 개발 우선순위에 반영하겠습니다
선언적 기기 관리에만 적용되는 신규 기능이 많이 추가되었으니 아직 선언적 기기 관리를 제품에 지원하지 않는 분도 사용해 보시면 좋겠습니다 이미 선언적 기기 관리를 제품에 지원하고 있는 분은 고객이 마음에 들어 하는 더욱 좋은 제품을 만들 수 있을 겁니다
이번 릴리즈의 다른 관리 기능은 '새로운 Apple 기기 관리 기능' 세션에서 살펴볼 수 있습니다 새로운 구성과 에셋 상태 항목의 스키마는 Apple Open Source의 스키마 리포지토리에 공개돼 있고 세션의 참조 항목에 링크가 기재되어 있습니다
시청해 주셔서 감사합니다 ♪ ♪
-
-
찾고 계신 콘텐츠가 있나요? 위에 주제를 입력하고 원하는 내용을 바로 검색해 보세요.
쿼리를 제출하는 중에 오류가 발생했습니다. 인터넷 연결을 확인하고 다시 시도해 주세요.