ずっと有効なクライアントシークレットを作る
皆さんこんにちは。国井です。
今日は@ITさんで不定期連載しているPowerShell連載からフォローアップのTipsとして
Microsoft Entra IDのアプリの登録で作成するクライアントシークレットについて紹介します。
Add-MgApplicationPasswordコマンドレットはPowerShellを利用してMicrosoft Entra IDアプリの登録にあるクライアントシークレットを作成するためのコマンドレットです。クライアントシークレットはアプリの登録におけるパスワードの役割を担う文字列ですが、有効期限が最大で2年間と設定されているため定期的に再作成する必要があります。以前は無期限のシークレットを作成するってできたので昔からアプリの登録を使っていた方からしてみれば(セキュリティの話は置いといて)面倒くさいなと思ったのではないかと思います。
セキュリティ上の問題があるのは百も承知だから、とにかく面倒だし、ずっと有効なクライアントシークレットを作らせてくれ!そんな時はAdd-MgApplicationPasswordコマンドレットをつかってこんな感じで設定します。
個々の行の解説は連載を見ていただくとして、、
$app=Get-MgApplication -All |Where-Object {$_.displayname -match "AuditLog"} $passwordCred = @{ displayName = 'Created in PowerShell' endDateTime = (Get-Date).AddYears(100) } $secret=Add-MgApplicationPassword -applicationId $app.id -PasswordCredential $passwordCred $secret |fl
ポイントは endDateTime = (Get-Date).AddYears(100) ってところです。
こうすれば有効期限100年っていうクライアントシークレットができるので、そしたらずっと使えますよね?
※ちなみに無限とか永遠という言葉ではなく「ずっと」という言葉を使ったのは100年が永遠ではないからです。