Macでのリモートアクションスクリプトの署名(クラシック)

以下はMacデバイスでリモートアクションスクリプトを署名するためのステップバイステップガイドです。

本番環境では、コード署名証明書の使用をお勧めします。

証明書を作成する

  • Macデバイスでキーチェーンアクセスを起動します。

  • キーチェーンアクセス > 証明書アシスタント > 証明書を作成... に進みます。

Create a certificate
  • 証明書の名前を入力してください。

  • 証明書タイプCode Signing を選択します。

  • テスト目的の場合、デフォルトをオーバーライドする は未選択のままでかまいません。

  • 作成 をクリックして、完了 をクリックします。 システムが証明書を生成しました。

リモートアクションスクリプトの署名とパッケージ化

署名

標準のmacOSコードサインユーティリティを使用してリモートアクションスクリプトに署名します。

パラメーター:

コード署名証明書のアイデンティティはキーチェーンにあります。 一般的には、証明書のサブジェクトコモン名または証明書のハッシュです。 完全な説明については、codesign マニュアルページを参照してください。

署名のための信頼できるタイムスタンプ。

コード署名識別子のプレフィックス。 これにより、識別子に会社のアイデンティティを付加し、識別子をユニークにするのに役立ちます。 コード署名識別子生成ルールについては、codesign マニュアルページを参照してください。

既に存在する場合、コード署名を強制的に書き換えます。

example_ra_script.sh リモートアクションスクリプトのためのテスト証明書の例:

スクリプトファイルの署名は、ファイルに付随するファイルシステムの拡張属性で生成されます。 コード署名の詳細を取得し、署名を検証するには、codesignユーティリティを使用してください。

Screenshot of the terminal
Screenshot of the terminal

パッケージング

リモートアクションスクリプトを.tarアーカイブと.gzip圧縮でパッケージします。 拡張子".tar.gz"は必須です。

スクリプトファイルが署名されている場合、tarユーティリティはその拡張属性もパックします。 このようにして、システムはコード署名をスクリプトファイルと共に転送することができます。 制約

  • 1つのアーカイブには1つのスクリプトのみを入れることができます。

  • スクリプトファイルはルートパッケージフォルダーに入れる必要があり、./myscript/myscript.shパスは正しくありません。

  • スクリプトは.sh拡張子を持っている必要があります。

  • スクリプトファイル名は、macOSでデフォルトであるUTF-8でエンコードされている必要があります。

test.shスクリプトのパッケージングの例:

結果として得られるexample_ra_script.tar.gzは、リモートアクションスクリプトファイルです。

リモートアクションスクリプトの署名とパッケージ化

Nexthinkは、このスクリプトを使用して署名とパッケージ化のプロセスを簡素化することを推奨します。

エンドポイントにインストールするためのコード署名証明書のエクスポート

コード署名証明書がキーチェーンにある場合、その公開版をエンドポイントにインストールするには、まずエクスポートする必要があります。

  • ポップアップウィンドウで、公開証明書として Certificate (.cer) ファイル形式を選択します。

エンドポイントのキーチェーンにコード署名証明書をインポート

  • コード署名された証明書をシステムキーチェーンにインポートし、Trusted Publisher 実行ポリシーでリモートアクションスクリプトを使用します。

  • .cerファイルをダブルクリックし、Keychain ドロップダウンメニューで System オプションを選択します。

Add certificates
  • 証明書をインポートするには、ルートパスワードをEnterします。

証明書が自己署名されている場合、コード署名にも信頼される必要があります。

  • ユーティリティのキーチェーンアクセス証明書をダブルクリックし、コード署名 オプションで 常に信頼 を選択します。

Certificate details

これらのタスクを自動化するには、セキュリティユーティリティ(外部リンク)または自分の自動化フレームワークを使用してください。

証明書がエンドポイントに正しくインポートされたことを確認する

  • 署名されたリモートアクションスクリプトをエンドポイントにコピーして展開します。

  • 署名を検証します。

署名が正しくインポートされている場合、次の出力が表示されるはずです:


関連トピック

Last updated

Was this helpful?