For the complete documentation index, see llms.txt. This page is also available as Markdown.

Intune 管理下の Linux クライアント

SCEPman バージョン 2.9 以降に適用されます

この方法を使うと、Intune によって管理されているユーザーとデバイスの証明書を登録できます。

この場合、Intune は SCEPman REST API を利用するスクリプトをプッシュします。これにより、新しい証明書を登録するか、既存の証明書を更新します。

弊社の開発者 Christoph が、Workplace Ninja Usergroup Germany でこの機能といくつかの背景情報を紹介しました:

前提条件

1. セルフサービス登録

証明書を登録するには、ユーザーは資格を確認するために認証されている必要があります。これを設定する方法については、このガイドの手順に従ってください。

セルフサービス登録

2. App Service の設定

構成

証明書更新に必要

SCEPman App Service が mTLS クライアント証明書を受け入れるように構成します。Settings セクションの Configuration ブレードで、Incoming client certificates の Client certificate mode が次に設定されていることを確認します。 任意の対話型ユーザー.

Client certificate mode を Require または Allow に設定しないでください。そうすると、SCEP エンドポイントでの SCEPman の通常の動作が壊れてしまいます。

環境変数

このシナリオを使用するには、SCEPman アプリ サービスに次の環境変数を設定する必要があります。

AppConfig:DbCSRValidation:Enabled

証明書の登録と更新に必要

この変数を次に設定します true 証明書署名要求 (CSR) の検証を有効にするには、

AppConfig:DbCSRValidation:AllowRenewals

証明書更新に必要

この変数を次に設定します true 証明書の更新を有効にするには、

AppConfig:DbCSRValidation:ReenrollmentAllowedCertificateTypes

証明書更新に必要

この変数を、更新を許可する証明書の種類のコンマ区切りリストに設定します。使用可能な証明書の種類の一覧については、リンク先の変数のドキュメントを参照してください。

例: Static,IntuneUser,IntuneDevice

このシナリオでは、次の種類の証明書が登録されます IntuneUser および IntuneDevice 選択内容によって異なります。

3. クライアントの前提条件

次の前提条件は、Enrollment REST API を使用できるようにするために、実行クライアント/ホスト上に存在している必要があります。

Azure CLI (バージョン 2.61 以上)

Azure CLI は、登録するユーザーの認証を行い、対象資格を確認してアクセス トークンを取得するために使用されます。

cURL

作成した CSR を SCEPman Enrollment API エンドポイントに送信し、証明書を受け取るために使用します。

OpenSSL

OpenSSL は、証明書の登録または更新のための秘密鍵を生成し、CSR を作成するために使用されます。

Intune への登録

リンク先のドキュメントに従って、Linux クライアントを Intune に登録してください。

登録および更新スクリプト

この enrollrenewcertificate.sh このスクリプトは、最初に証明書を取得するため、および定期的に確認し、しきい値に達した場合に更新を試みるために使用されます。

通常、このスクリプトはターミナルでパラメーターを渡して操作しますが、Intune 経由で展開するために一部を修正する必要があります。

ターミナル引数を変数に割り当てている部分を見つけ、必要に応じて調整してください:

設定例:

APPSERVICE_URL

SCEPman アプリ サービスの URL。

例: "https://scepman.contoso.net/"

API_SCOPE

これは、環境内の SCEPman-api アプリ登録で作成できる API スコープです。

ユーザーには希望する同意ダイアログが表示され、その後セルフサービス機能を使用できるようになります。

例: "api://b7d17d51-8b6d-45eb-b42b-3dae638cd5bc/Cert.Enroll"

CERT_DIR

証明書が作成されるか、更新が試行されるディレクトリです。秘密鍵とルート証明書もここに配置されます。

例: ~/certs/

CERT_NAME

更新用に作成または読み取られる証明書のファイル名(拡張子なし)です。

例: "myCertificate"

KEY_NAME

更新用に作成または読み取られる秘密鍵のファイル名です。

例: "myKey"

RENEWAL_THRESHOLD_DAYS

スクリプトが更新処理を開始するために、証明書の有効期限まであと何日である必要があるかを表します。

例: 30

CERT_TYPE

登録される証明書の種類です。

"user" または "device" のいずれかです

CERT_COMMAND

これは、登録と更新に関するスクリプトの動作を定義します:

"auto" は、証明書を最初に作成し、すでに存在していて期限切れが近い場合は更新します。

"renewal" は、証明書が期限切れ間近であれば更新しますが、最初の証明書作成は行いません。

"initial" は、証明書を登録するだけで、既存の証明書の更新は行いません。

注意事項

  • このスクリプトは生成されたキーを暗号化しません(これにはパスフレーズの入力が必要なため、自動更新を可能にするため暗号化は省略されています)。

  • Certificate Master からパスフレーズで保護された証明書を更新する場合は、それらを更新するためにこのパスフレーズを入力する必要があります。

スクリプトの展開

Intune を使用すると、修正したスクリプトをスケジュールに従って展開し、指定したパラメーターで最初に証明書を登録し、必要に応じて定期的に更新が必要か確認できます。

新しい Linux スクリプトの展開を追加し、 実行コンテキスト を ユーザー を設定し、前のセクションで作成した修正済み bash スクリプトの内容をアップロードまたは貼り付けてください。

を調整し、 実行頻度 を更新のしきい値に合わせてください。

ユーザーは、認証が必要なため、最初の実行時に Azure CLI アプリケーションへのログインを求められます。

最終更新

役に立ちましたか?