LoginSignup
3
0

More than 1 year has passed since last update.

Jamf Pro の Self Service に端末初期化アプリケーションを登録するにあたって工夫したこと

Last updated at Posted at 2022-12-05

はじめに

はじめまして。
都内企業の情シス部門に勤めているへいへいです。
私が所属しているチームでは次の業務をメインに行っています。

  • Jamf Pro や Intune を利用したデバイス管理
  • AV と EDR を利用したデバイス保護
  • CASB によるクラウドサービスのデータ漏洩の検知
  • AWS や Azure 基盤を利用した業務環境の構築、運用
  • IDaaS の設計、運用
  • 上記にソリューションを組み合わせたゼロトラストアーキテクチャの設計、運用

他にも様々な施策を行っておりますが、メインで行っている業務のいくつかをピックアップさせていただきました。

初回投稿となる今回は、Jamf Pro についての記事になります。
先人の方々の知恵を借りながら、自社の運用に合わせた仕様にいたしました。
本記事が誰かの役に立てれば幸いです。

前提

  • 本記事は、Mac OS と Jamf Pro を利用しているユーザーを想定しています

概要

弊社では、リモートワークとオフィスワークを組み合わせたハイブリッドワークで業務を行っています。
そのため端末交換や退職時に従業員から Mac 端末を返却してもらう際、郵送での受け渡しを行うことがあります。

郵送での受け渡しは、端末紛失のリスクがあるため、Filevault によるディスクの暗号化を行っていはいるものの、 Mac 端末内には機密情報が保持されていないことが望ましいと考えています。
そこで、返却時には、端末内のデータを従業員自身で初期化できる仕組みが必要になりました。

Mac 端末には初期化を行うための方法がいくつか用意されておりますが、弊社では、Jamf Pro を活用した方法を用意することにしました。

参考にさせていただいた Blog(本当にありがとうございます!!)

スクリプト内容

本スクリプトは、Jamf Pro で利用することを想定しています。
本スクリプトは、erase-installをインストールすることで動作します。
Jamf Pro のポリシーでスクリプトを動作させる際に入力するパラメータ 4 に、現在リリースされている Mac の最新バージョン(マイナーバージョンは除く)を入力することを想定しています。
2022年12月5日現在は、Ventura が最新バージョンなので、13 を入力します。
Apple ID のチェックは、Macの初期化をJamfで"完全に"自動化したの内容をお借りしました。とても参考になる内容のため確認いただくことをおすすめします!

#!/bin/bash

# apple id の状態チェック
APPLE_ID=$(sudo /usr/libexec/PlistBuddy -c "print" ~/Library/Preferences/MobileMeAccounts.plist | grep AccountID | wc -l);

if [ $APPLE_ID = "1" ]; then
    sudo /Library/Application\ Support/JAMF/bin/jamfHelper.app/Contents/MacOS/jamfHelper \
    -icon "$HOME/Library/Application Support/com.jamfsoftware.selfservice.mac/Documents/Images/brandingimage.png" \
    -windowType utility \
    -description "Apple ID がPCに設定されています。初期化前にサインアウトし、Macを探すをオフにしてください。サインアウト後、再度実行してください。| An Apple ID is set up on your PC. Sign out before resetting and turn off Find My Mac. Please try again after signing out." \
    -button1 OK -defaultButton 1
  exit 1
fi

# リリースされている Mac の最新バージョン Jamf Script の引数を参照
LATEST_VERSION=$4

# バージョンの取得
current_version=`sw_vers | grep ProductVersion | awk '{printf("%d\n",$2)}'`

# バージョンによって初期化バージョンを変更
if [ $current_version -eq $LATEST_VERSION ]; then
	echo "Latest OS version.Initialize to the latest OS version."
    reset_version=$LATEST_VERSION 
elif [ $current_version -lt $LATEST_VERSION ]; then
	echo "Initialize to one previous version because it is not the latest OS version"
    reset_version=$(($LATEST_VERSION - 1)) 
else
	echo "Abort process due to unknown OS"
    exit 1
fi

# 初期化処理
sudo /Library/Management/erase-install/erase-install.sh --erase --os=$reset_version --current-user --confirm --depnotify --check-power

工夫したこと

Jamf Pro の引数に、現在リリースされている Mac の 最新の OS バージョンを渡すことで社内の運用ポリシーに合った初期化が行われます。
例えば、現在利用している Mac OS が Ventura であれば、Ventura で初期化、Montrey 以下であれば、Montrey に初期化されます。

背景

前提として、今回利用した erase-install は、ダウングレードとなる初期化は対応しておりません。
e.g. Ventura の端末で、erase-install を利用して Monterey にダウングレード

弊社では、情シスでサポートする Mac OS のバージョンを次のように定めています。

  1. 社内標準アプリケーションの動作確認が完了している Mac の最新バージョン
  2. 1 でサポートするバージョンの 1 つ前のバージョン

現在は、Monterey が動作確認が完了している最新バージョンなので、情シスでサポートするバージョンは、Monterey または BigSur になります。

近日、Ventura の動作確認が済みサポート OS となる見込みです。
しかしながら、一部の従業員には、業務の都合上Monterey が必須のユーザーがいます。
理由は、各部門で利用しているアプリケーションが、まだ Ventura にサポートしていない可能性があるためです。

そのため、現状、従業員から返却される Mac OS のバージョンは Montrey が望ましいです。

当初、常に最新の OS で初期化を行う設定で行こうと考えておりました。
しかしながら、上述の通り、Monterey が必須のユーザーがいるため、できる限り Monterey で初期化を行うことが望ましいという結論になりました。
Ventura にアップグレードされた端末は、erase-install がダウングレード非サポートのため、Ventura で初期化を行います。

今後の課題

社内の状況に合わせて必要な OS バージョンが変化していくため、状況にあわせて柔軟に運用設計も変えていく必要があります。

最後に

Jamf Pro には様々な機能があるため、ユーザー体験を第一に多くの機能を活用していきたいです。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0