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

管理対象外の Linux クライアント

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

この方法は、Intune 以外の MDM によって管理されていない、または管理されているユーザーおよびデバイスの証明書を登録するために使用できます。

前提条件

1. セルフサービス登録

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

セルフサービス登録

2. App Service Settings

Configuration

証明書更新に必要

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

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

Environment Variables

このシナリオを利用するには、SCEPman app service に次の環境変数を設定する必要があります。

AppConfig:DbCSRValidation:Enabled

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

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

AppConfig:DbCSRValidation:AllowRenewals

証明書更新に必要

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

AppConfig:DbCSRValidation:ReenrollmentAllowedCertificateTypes

証明書更新に必要

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

例: Static,IntuneUser,IntuneDevice

このシナリオでは、次の種類の証明書を登録します IntuneUser.

Powershell モジュール SCEPmanClient

初回要求

SCEPmanClient PowerShell モジュールを使用して、Linux デバイス上で証明書を要求できます:

その後、ユーザーはブラウザー セッションで対話的にログインする必要があり、ログイン中のアカウント用の証明書が作成されます。

証明書の更新

PowerShell モジュールを使用して、既存の証明書を更新することもできます。これにより、認証にサービス プリンシパルを使用する必要もなくなります:

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

PowerShell モジュールを使用できない場合は、 enrollrenewcertificate.sh スクリプトを使用して、最初に証明書を取得し、さらにそれを検証して、有効期限が近い場合に更新を試みることができます。

クライアントの前提条件

Enrollment REST API を使用できるようにするには、実行クライアント/ホストに以下の前提条件が必要です。

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

Azure CLI は、登録するユーザーの認証、適格性の確認、およびアクセス トークンの取得に使用されます。

cURL

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

OpenSSL

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

例:

1. コマンド

スクリプトの動作を定義します

以下のいずれかにできます:

-u ユーザー証明書用。初回登録か更新かを自動検出します

-d デバイス証明書用。初回登録か更新かを自動検出します

-r 更新用

-w ユーザーの初回登録用

-x デバイスの初回登録用

2. App Service URL

SCEPman アプリ サービスの URL です。

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

3. API_SCOPE

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

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

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

4. 証明書ディレクトリ

証明書が作成される、または更新が試みられるディレクトリです。

例: ~/certs/

5. 証明書ファイル名

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

例: "myCertificate"

6. 秘密キー ファイル名

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

例: "myKey"

7. 更新しきい値

スクリプトが更新処理を開始するために、証明書の有効期限が切れるまでの残り日数です。

例: 30

考慮事項

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

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

自動更新の設定

上記の bash スクリプトを実行して証明書がすでに登録済みであることを検出すると、mTLS を使用して証明書を更新します(有効期限が近い場合)。スクリプトを定期的に実行すれば、有効期限が近づいたときに証明書が更新されることを保証できます。これを実現するために cronjob を設定できます。以下のコマンドは、その一例です。システムの電源が入っている場合に毎日コマンドを実行する cronjob と、再起動時にコマンドを実行する cronjob を設定します。

Cron によって実行されるコマンドは、スクリプト/証明書が存在するディレクトリから実行されるとは限らないため、スクリプト/証明書への絶対パスを指定することが重要です。

最終更新

役に立ちましたか?