剣と魔法ではじめるJamf Pro超入門
この記事は STORES PX Advent Calendar 2023 Spring の3日目の記事です
はじめに
こんにちは、STORESのPX部門IT本部でコーポレートエンジニアをしている佐々木(ssk_ats)です。
普段はMacなどAppleデバイスの管理をしている事が多いです。
STORESのAppleデバイス管理
STORESでは業務用のPCとして主にMacBook Air/Proを使用しており、業務利用するMacやiOSなどのAppleデバイスの管理にJamf ProというMDMを使用しています。
Jamf ProはAppleデバイスを業務で利用する多くの組織で使われていて、Premium onboarding(以前はJumpStartという名称でした)というブートキャンプ的なオンボーディングプログラムもあり、多機能でありながらも扱いやすいMDMではないかと思います。
この記事を書いた背景
Jamf Proは比較的扱いやすいとはいえ、Apple製品やJamf Pro自体に不慣れなうちはよくわからないこともたくさんあります。
もともとはチームや社内に向けてJamf Pro入門的なものを書こうと思っていたのですが、今回のアドベントカレンダーを機にちょっと趣向を変えた感じで書いてみることにしました。
テーマは剣と魔法ではじめるJamf Pro超入門
ちょっと何言ってるかわからないですね🤔
これは今年のはじめに突然降ってきたアイデアで、いつかどこかで書きたいなと思っていました。今回アドベントカレンダーやるという話を聞いて、この機に乗って仕事としてやってしまおうという公私混同テーマです。
Jamf Proを使う前提での内容ではありますが、MDMやAppleの構成プロファイルの概念をふわっと捉えるという意味では他のMDMを使っていてもそんなに変わらないと思います。
それでは本編いってみましょう。
IT管理者よ、ようこそJamf Proの世界へ
皆さんはRPGやったことありますか?
異世界転生作品を観たことや読んだことありますか?
なくても読めるように書いたつもりですが、知ってたほうが面白いかなと思います(知ってても面白いかどうかはちょっとわからないです)。
今回はJamf Proの超入門として、よく使う機能や用語をありがちなファンタジーやRPGの用語に例えて解説する試みになります。
とにかくわかりやすさを重視しようというところから始まっているため、AppleデバイスやJamf Proのについての説明が不十分/不正確であったり、ファンタジー世界観の解釈的に多少おかしな部分もあるかと思いますが、あらかじめご了承下さい。
製品や機能の正確な仕様については、各項目や記事の最後にあるリンク先の公式ドキュメントをご参照下さい。
この記事では
Jamf Pro
構成プロファイル
ポリシー
コンピュータインベントリ
について、どんなイメージの役割や機能なのかを書いています。
冒険者ギルド - Jamf Pro
Jamf Proってなに
参考リンク:
Jamf Pro | Apple Mobile Device Management | MDM
Jamf Pro ドキュメント
Jamf ProはMacやiOSデバイスなどのAppleデバイスの管理を行うためのMDM( Mobile Device Management | Wikipedia )製品です。近年は企業でのAppleデバイス利用増加に伴い導入数も伸びているようです。
冒険者ギルドってなに
参考リンク:
冒険者ギルド - ピクシブ百科事典
ファンタジー作品や、特に異世界転生作品によく出てきますね。酒場や宿屋が併設されている描写も多く見られます。
冒険者の登録を行って身分証を発行したり、民間や行政からの依頼(モンスターの討伐、薬草の採取、商隊の護衛など)を冒険者に紹介したりする組織です
冒険者の実力に応じてランクを決めて、そのランクによって受けられる依頼や報酬が変わる、みたいなのがよくある設定です。
冒険者のランクは達成した依頼(魔物の討伐や素材の採取等)の難易度で判定される他、冒険者の潜在能力を魔法や特別な魔道具などで測定して決められたりもします。
また、その冒険者ギルドがある街に大規模なモンスターの襲撃などが発生した際は、所属する冒険者を招集して自体の対処にあたるなどの描写もよく見られます。
Jamf Proは冒険者ギルド 🍺
Jamf Proに登録された端末は、そのJamf Proを使っている組織に所属していることが証明されます。
構成プロファイル(後述)やポリシー(後述)などを使用してその組織のポリシーやルールに沿った設定を行ったり、役割や部署によって異なる権限やアプリケーションを配布したり、コンピュータインベントリ(後述)でそのデバイスの状態を確認したりできます。
そう、Jamf ProはAppleデバイスにとっての冒険者ギルドなのです。
Macやユーザーは冒険者であり、彼らが合法かつ安全に冒険を行えるようサポートを行います。
IT管理者であるあなたは、冒険者ギルドの職員、あるいはギルドマスターかもしれません。
こんな感じで行きます
装備 - 構成プロファイル
構成プロファイルってなに
参考リンク:
コンピュータ構成プロファイル | Jamf Pro ドキュメント
構成プロファイル(Configuration Profile)は、Apple製品でデバイスやアプリケーションなどの設定に使われる仕組みです。
mobileconfigという形式のファイルで作成され、macOSやiOS(iPadOS)にインストールされることで機能します。
Jamf Proを使って配布する端末の条件を指定したり、ユーザーが任意のタイミングで適用したりもできます。
Appleが用意している仕組みなので、Jamf Pro以外のMDM製品でも利用されます。
装備ってなに
参考リンク:
装備 - そうび - ピクシブ百科事典 - pixiv
一般的にRPGには装備できるアイテムがあります。鎧や剣や盾、アクセサリーなどです。
装備にはキャラクターのステータスを変化させるオプションが付いていて、例えば剣では攻撃力が上がったり、防具では防御力が上がるといった感じです。
基本的なステータス以外にも特定の属性など特別な効果がついた装備も存在します。
水属性のモンスターに通常より大きなダメージを与える稲妻の剣や、炎属性の攻撃に耐性を持つ氷の鎧、装備しているだけで闇属性の攻撃から身を守る聖なる首飾りみたいなイメージです。
キャラクターのステータスを増加させて冒険を安全に進めるための装備ですが、物によっては呪われたアイテムのようにステータス異常を起こすこともあります。
物騒な名前だったり怪しい雰囲気が漂っているアイテムを不用意に装備してしまうと、呪われてしまい身動きが取れなくなったり、混乱して仲間を攻撃したり、攻撃力が異常に上昇する代償として生命力が大幅に現象するなどの状態異常になってしまう事があります。
呪われたアイテムは大抵の場合自ら外すことは出来ず、僧侶や神官などにお祓いをしてもらわないと外すことができないというのが定番の設定です。
構成プロファイルは装備 ⚔️
構成プロファイルは、Appleが用意したフレームワークを利用してデバイスを管理する仕組みです。タイプ別に用意された様々な機能の中から、必要な機能を必要な設定で利用するためのお約束が決まっています。
決められたお約束に沿って構成プロファイルを作成してデバイスにインストールすることで、デバイスの構成を設定することができます。
お約束の部分はJamf Proがいい感じにやってくれるので、管理者はどの機能をどう使えば良いかを考えることに専念できます。
例えばパスワードやWi-Fiの設定、Firewallやディスクの暗号化等、AppleがOSに用意している基本的な設定を構成することができます。
他にもシステム拡張やバックグラウンドで動作するアプリケーションの許可、証明書の配布や各種機能制限など、企業でAppleデバイスを利用する際に利用するための機能を構成できます。
そして設定された項目は、構成プロファイルがアンインストールされない限り維持されます。
これはまさしく装備です。
攻撃力や防御力以外にも、エンチャントなどにより様々な特殊効果が付与された装備を使用することで、冒険を有利に進めることができます。
冒険者ギルドが武器や道具を配布するというのはあまり聞いたことがありませんが、武器屋や防具屋などが併設されているというのは無理な設定では無さそうです。
冒険者ギルドは依頼の内容や難易度、冒険者のステータスを把握しているため、冒険者に合った装備の選択やアドバイスをするというのも役割として違和感が無いですね。
構成プロファイルの中身をちょっとだけ見てみましょう
(俺の魔眼が構成プロファイルを解析するぜ)
MDMを利用する際に構成プロファイルの中身を直接読んだり書いたりする事は無いですしやらなくていいですが、どんな決まりで書かれているかを知っているとイメージしやすいかなと思うのでさらっと書きます。
詳しく知りたい人はこことかこことかを参考にしてください。
神(🍎)より賜りし規範(リファレンス📕)
構成プロファイルがmobileconfigファイルというのは先程触れました。
そのmobileconfigファイルの中身はplist(Property list)という、AppleのOSで何かしら設定をするときに使われる形式です。
plistはxmlというフォーマットで書かれているので、なるほど構成プロファイルというのはxmlみたいな感じで設定が書かれているんだなと思って下さい。
構成プロファイルのお約束は色々あるのですが、今回はPayloadTypeとPayloadKeyについて触れたいと思います。
†PayloadType†
OSやアプリケーション管理の機能を種類別にまとめたものというイメージです。
今回は一例として、Jamf Proの制限ペイロードで使われている com.apple.applicationaccess というPayloadTypeを例にします(他にもたくさんあるのですが、あくまで一例です)。
†PayloadKey†
機能のカタマリPayloadTypeの中に用意されている個別の機能が、どのように振る舞うかを伝える合言葉です。
さきほどのcom.apple.applicationaccessの中に用意されている カメラの使用を許可 を制限する場合を例にします。先程例に出したペイロードタイプを指定して、allowCamera という合言葉(PayloadKey)にfalseと指定することで実現できます。
何言ってるかわからないと思うので、該当部分だけ抜粋したのが以下の例になります。魔導書の一部や魔法陣だと思って下さい。
<dict>
<!-- ペイロードタイプ(機能のカタマリ)の指定 -->
<key>PayloadType</key>
<string>com.apple.applicationaccess</string>
<!-- ペイロードキー(上で指定したペイロードタイプの中の特定の機能)の指定 -->
<key>allowCamera</key>
<!-- 上で指定したペイロードキー(機能)がどのように振る舞うかの指定 -->
<false/>
</dict>
付与魔術士がこの呪文を詠唱(または魔法陣を発動)することによって構成プロファイルにエンチャントが施され、
その構成プロファイルを装備した冒険者はカメラの使用が制限されます。何言ってるかわからないですね🤔
鍛冶屋 兼 付与魔術士のドワーフ
魔法 - ポリシー
ポリシーってなに
参考リンク:
ポリシー | Jamf Pro ドキュメント
スクリプトの実行やアカウントの管理、ソフトウェアのインストールなどを行えるJamf Proの機能です。任意のタイミングや条件で実行することが出来ます。
実行のタイミングをユーザーに任せることも可能なので、ユーザーが必要になったタイミングで必要なアプリケーションや設定をインストールするなどの使い方もできます。
魔法ってなに
魔法 (まほう)とは【ピクシブ百科事典】 - pixiv
RPGでは、必要に応じて魔法を使用することで様々な効果が得られます。魔法使いや僧侶など特定の職業の人が、MPやマナといった不思議なエネルギーを消費し、それを対価として魔法を発動します。
魔法によって攻撃や回復、ステータスの上昇や、場合によっては昼夜を入れ替えたり鍵を勝手に開けたりなど無茶苦茶な様々な魔法があります。
ルーラが使えたら良いのになと皆さんも日々思っていることだと思います。
ポリシーは魔法 📛
Jamf Proを使ってポリシーを使用する場合、スクリプトを実行したりアプリケーションのインストールを行うことが多いです。
特にスクリプトは、Jamf Proから管理されているMacへ配信されてから実行されるため色々な事が出来てしまいます。
「出来てしまう」と敢えて書いたのは、内容によってはユーザーや管理者さえも望んでいないような結果になることもあるからです。
大いなる力には、大いなる責任が伴う とも言いますし、十分に発達した科学技術は、魔法と見分けがつかないという言葉もあります。魔法のような力を無自覚に使ってしまわないようにという自戒も込めています。
スクリプト
参考リンク:
スクリプト | Jamf Pro ドキュメント
もともとは台本・脚本などの意味を持つ言葉ですが、ITの文脈ではコンパイルを必要としないプログラミング言語を指して言う場合が多いと思います。
Jamf Proはいくつかのスクリプト言語に対応していますが、Bashが使われる事が多いのかなというのが個人的な印象です。
予め用意したスクリプトをJamf Proに登録して、先に挙げたポリシーという機能を使ってMacに展開します。
イメージとしては、魔道具に魔法を込めておいて、必要なタイミングで使用するようなイメージです。
呪文や魔法書をスクリプトと表現する作品もありますし、凄腕のハッカーをウィザード(魔法使い)と呼ぶカルチャーもあったりするので、今回のテーマとして割と連想しやすいのではと思っています。
凄腕を自称するのはさすがに憚られると思うので、心の中でこっそり(自分は魔法使いなのだ)って思ったりして楽しくお仕事しましょう。
ステータス - コンピュータインベントリ
コンピュータインベントリってなに
参考リンク:
コンピュータインベントリ | Jamf Pro ドキュメント
Jamf Proで管理されているコンピュータの情報を見る事ができます。
シリアルナンバーやモデル、適用されているポリシーや構成プロファイル、管理の履歴など、ここにぱぱっと例挙げるのが難しいくらい沢山の情報を見ることができます。詳しくは上のリンク先をご覧ください。
ステータスって何
参考リンク:
ステータス - ピクシブ百科事典 - pixiv
RPGではキャラクターごとに能力値が設定されています。
生命力や攻撃力、素早さや運の良さなどのキャラクター自信の能力。装備しているアイテムや、そのアイテムの効果。キャラクターが使える魔法やスキルなどの特殊能力などなど、そのキャラクターの個性を表す能力が数値化されて設定されています。
ファンタジー作品ではしばしば、ステータスの値と、それまでの冒険者としての実績を総合的に判断して冒険者ランクが決まるという設定があります。冒険者ランクは単にその冒険者の強さを表すだけではなく、その冒険者が請け負う依頼(クエスト)の難易度を決めるための重要な指標でもあります。
ステータスによって攻撃の方法の得意不得意が決まったり、敵と戦う時の立ち回りも変わってきます。
例えば力が強く魔力が少ないキャラクターの場合、剣などの武器を使った近接戦闘を得意とする反面、遠距離からの攻撃が苦手であったり、攻撃力は低いが回復や補助の魔力が高いキャラクターの場合は、戦闘中に回復やステータス上昇の魔法を使って仲間をサポートするなどです。
大抵の場合は職業によってステータスに偏りがあり、複数の職業のキャラクターで構成されたパーティで、お互いの長所を活かし、短所を補い合って冒険に挑みます。
コンピュータインベントリはステータス画面
コンピューターインベントリではMacの状態を見る事ができます。
OSのバージョンや、インストールされているアプリケーションとそのバージョン。配布した構成プロファイルやポリシーが正しく適用されたり実行されているか、もしそれらにエラーが発生しているとしたらどのようなエラーなのか。ユーザーを紐づけている場合はどの部署の誰が使っているのか。
購入情報を登録している場合は、いつどこで買って価格はいくらで保証はいつまでなのかなどなど。
コンピューターインベントリはまさしくステータス画面でしょう。Macの状態を把握し、ユーザーが快適にMacを利用できているのかを知ることができます。仮に異常が発生していた場合はその原因を調査したり、あるいは利用者にヒアリングを行って対処したりできます。
エクストラスキル
拡張属性
参考リンク:
コンピュータの拡張属性 | Jamf Pro ドキュメント
コンピュータインベントリには、予め用意された種類の情報がMacから取得されて表示されます。
拡張属性はインベントリ表示の項目を追加することができる機能です。管理画面から特定のコンピュータのインベントリ情報を手動で入力するか、あるいはAPIを使って入力することができます。
また、拡張属性のためのスクリプトを使用してMacの状態を定期的に取得して表示することも出来ます。
例えば返却されたMacの外観情報(ステッカーが貼ってあるとか傷だらけとかありますよね)を拡張属性に登録しておいて、ストックしたデバイスを再利用したいときに参照するみたいな使い方ができます。
スクリプトを使用して情報を取得する例としては、Macの連続起動日数を取得して表示したり、セキュリティソフトの動作ステータスを取得して表示するなどです。
拡張属性はスマートコンピュータグループのクライテリアに使用することもできるので、スクリプトで取得した情報を基にグループを作成して、そのグループに対して特定のポリシーを適用するみたいな使い方もできます。
ちなみにこの項はタイトルが言いたかっただけなので、ファンタジー小話みたいのは無いです。
さいごに
思いついたときはヘリウム並みの軽い気持ちだったのですが、出来上がってみたらだいぶ長くなってしまいました。
わかりやすさ重視と言いながらも、逆にわかりづらくしているのでは…?という疑念はそっと胸に秘めました。
チームメンバーが社名変更に伴うOktaやGoogle Workspaceについての真面目な記事を書いている中でこの記事のレビューを依頼するのはちょっと心が折れそうだったのですが、もしこれを読んで頂いたどこかの誰かに、ほんの少しでも『なるほど』が生まれてくれたら嬉しいです。
参考
Apple
Jamf
この記事が気に入ったらサポートをしてみませんか?