次の方法で共有


Azure Local でシークレットをローテーションする

適用対象: Azure Local 2311.2 以降

この記事では、Azure Local のデプロイ ユーザーに関連付けられているパスワードを変更する方法について説明します。

デプロイ ユーザーのパスワードを変更する

PowerShell コマンドレット Set-AzureStackLCMUserPassword を使用して、ドメイン管理者の資格情報シークレットAzureStackLCMUserCredential ローテーションします。 このコマンドレットは、サーバー ホストに接続するユーザーのパスワードを変更します。

メモ

Set-AzureStackLCMUserPasswordを実行すると、コマンドレットは Active Directory で以前に変更されたもののみを更新します。

PowerShell コマンドレットとプロパティ

Set-AzureStackLCMUserPassword コマンドレットは、次のパラメーターを受け取ります。

パラメーター 説明
Identity パスワードを変更するユーザーのユーザー名。
OldPassword ユーザーの現在のパスワード。
NewPassword ユーザーの新しいパスワード。
UpdateAD Active Directory で新しいパスワードを設定するために使用する省略可能なパラメーター。

Set-AzureStackLCMUserPassword コマンドレットを実行する

パラメーターを設定し、 Set-AzureStackLCMUserPassword コマンドレットを実行してパスワードを変更します。

$old_pass = convertto-securestring "<Old password>" -asplaintext -force
$new_pass = convertto-securestring "<New password>" -asplaintext -force

Set-AzureStackLCMUserPassword -Identity mgmt -OldPassword $old_pass -NewPassword $new_pass -UpdateAD 

パスワードが変更されると、セッションは終了します。 その後、更新されたパスワードでサインインする必要があります。

Set-AzureStackLCMUserPasswordを使用する場合の出力例を次に示します。

PS C:\Users\MGMT> $old_pass = convertto-securestring "Passwordl23!" -asplaintext -force 
PS C:\Users\MGMT> $new_pass = convertto-securestring "Passwordl23!1" -asplaintext -force
PS C:\Users\MGMT> Set-AzureStackLCMUserPassword -Identity mgmt -OldPassword $old_pass -NewPassword $new_pass -UpdateAD 
WARNING: !WARNING!
The current session will be unresponsive once this command completes. You will have to login again with updated credentials. Do you want to continue?
Updating password in AD.
WARNING: Please close this session and log in again.
PS C:\Users\MGMT> 

クラスター監視ストレージ アカウント キーを変更する

このセクションでは、クラスター監視ストレージ アカウントのストレージ アカウント キーを変更する方法について説明します。

  1. デプロイ ユーザーの資格情報を使用して、いずれかの Azure ローカル ノードにサインインします。

  2. セカンダリ ストレージ アカウント キーを使用して監視クォーラムを構成します:

    Set-ClusterQuorum -CloudWitness -AccountName <storage account name> -AccessKey <storage account secondary key>
    
  3. ストレージ アカウントの主キーをローテーションします。

  4. 回転させたストレージアカウントキーを使って証人クォーラムを構成します。

    Set-ClusterQuorum -CloudWitness -AccountName <storage account name> -AccessKey <storage account primary key>
    
  5. ストレージ アカウントのセカンダリ キーをローテーションします。

  6. ECE ストアのストレージ アカウントの主キーを更新します。

    $SecureSecretText = ConvertTo-SecureString -String "<Replace Storage account key>" -AsPlainText -Force
    $WitnessCred = New-Object -Type PSCredential -ArgumentList "WitnessCredential,$SecureSecretText"
    Set-ECEServiceSecret -ContainerName WitnessCredential -Credential $WitnessCred
    

Azure ローカル VM イメージに使用されるストレージ アカウントの SAS トークンを取り消す

このセクションでは、Arc によって有効になっている Azure ローカル VM で使用されるイメージに使用されるストレージ アカウントの Shared Access Signature (SAS) トークンを取り消す方法について説明します。

SAS ポリシー SAS の有効期限が切れていますか? 取り消す手順
任意の SAS はい SAS が無効になったので、アクションは必要ありません。
アカウント キーで署名されたアドホック SAS いいえ SAS の作成に使用 ストレージ アカウント キーを手動でローテーションまたは再生成します。
アドホックSASはユーザー委任キーで署名されています いいえ ユーザー委任キーの取り消しまたはロールの割り当ての変更については、「ユーザー委任 SASの取り消し」を参照してください。
保存されたアクセス ポリシーを含む SAS いいえ 有効期限を過去の日付または時刻に更新したり、保存されているアクセス ポリシーを削除したりするには、「保存されているアクセス ポリシーを変更または取り消す」を参照してください。

詳細については、「SASの取り消し」を参照してください。

デプロイメント サービス プリンシパルを変更する

このセクションでは、デプロイに使用するサービス プリンシパルを変更する方法について説明します。

メモ

このシナリオは、Azure Local 2306 ソフトウェアを Azure Local バージョン 23H2 にアップグレードした場合にのみ適用されます。

デプロイ サービス プリンシパルを変更するには、次の手順に従います。

  1. Microsoft Entra ID にサインオンします。

  2. Azure ローカル インスタンスのデプロイ時に使用したサービス プリンシパルを見つけます。 サービス プリンシパルの新しいクライアント シークレットを作成します。

  3. 既存のサービス プリンシパルのappIDと新しい<client secret>をメモしてください。

  4. デプロイ ユーザーの資格情報を使用して、いずれかの Azure ローカル マシンにサインオンします。

  5. Azure にサインインします。 次の PowerShell コマンドを実行します。

    Connect-AzAccount
    
  6. サブスクリプションのコンテキストを設定します。 次の PowerShell コマンドを実行します。

    Set-AzContext -Subscription <Subscription ID>
    
  7. サービス プリンシパル名を更新します。 次の PowerShell コマンドを実行します。

    cd "C:\Program Files\WindowsPowerShell\Modules\Microsoft.AS.ArcIntegration"
    Import-Module Microsoft.AS.ArcIntegration.psm1 -Force
    $secretText=ConvertTo-SecureString -String <client secret> -AsPlainText -Force
    Update-ServicePrincipalName -AppId <appID> -SecureSecretText $secretText
    

ARB サービス プリンシパル シークレットの変更

このセクションでは、デプロイ時に作成した Azure リソース ブリッジに使用されるサービス プリンシパルを変更する方法について説明します。

デプロイ サービス プリンシパルを変更するには、次の手順に従います。

  1. Microsoft Entra ID にサインインします。

  2. Azure リソース ブリッジのサービス プリンシパルを見つけます。 サービス プリンシパルの名前は、ClusternameXX.arbの形式です。

  3. サービス プリンシパルの新しいクライアント シークレットを作成します。

  4. 既存のサービス プリンシパルのappIDと新しい<client secret>をメモしてください。

  5. デプロイ ユーザーの資格情報を使用して、いずれかの Azure ローカル マシンにサインインします。

  6. 次の PowerShell コマンドを実行します。

    $SubscriptionId= "<Subscription ID>" 
    $TenantId= "<Tenant ID>"
    $AppId = "<Application ID>" 
    $secretText= "<Client secret>" 
    $NewPassword = ConvertTo-SecureString -String $secretText -AsPlainText -Force 
    Set-AzureStackRPSpCredential -SubscriptionID $SubscriptionId -TenantID $TenantId -AppId $AppId -NewPassword $NewPassword 
    

内部シークレットをローテーションする

このセクションでは、内部シークレットをローテーションする方法について説明します。 内部シークレットには、Azure ローカル インフラストラクチャで使用される証明書、パスワード、セキュリティで保護された文字列、およびキーが含まれます。 内部シークレットのローテーションは、それが侵害された可能性がある場合、または有効期限アラートを受け取った場合にのみ必要です。

シークレットローテーションの正確な手順は、Azure Local インスタンスが実行されているソフトウェアバージョンによって異なります。

2411.2 以降を実行している Azure ローカル インスタンス

  1. デプロイ ユーザーの資格情報を使用して、いずれかの Azure ローカル ノードにサインインします。

  2. シークレットのローテーションを開始します。 次の PowerShell コマンドを実行します。

    Start-SecretRotation
    

2411.1 から 2411.0 を実行している Azure ローカル インスタンス

  1. デプロイ ユーザーの資格情報を使用して、いずれかの Azure ローカル ノードにサインインします。

  2. ECE ストアの CA 証明書パスワードを更新します。 次の PowerShell コマンドを実行します。

    $SecureSecretText = ConvertTo-SecureString -String "<Replace with a strong password>" -AsPlainText -Force
    $CACertCred = New-Object -Type PSCredential -ArgumentList "CACertUser,$SecureSecretText"
    Set-ECEServiceSecret -ContainerName CACertificateCred -Credential $CACertCred
    
  3. シークレットのローテーションを開始します。 次の PowerShell コマンドを実行します。

    Start-SecretRotation
    

2408.2 以前を実行している Azure ローカル インスタンス

  1. デプロイ ユーザーの資格情報を使用して、いずれかの Azure ローカル ノードにサインインします。

  2. ECE ストアの CA 証明書パスワードを更新します。 次の PowerShell コマンドを実行します。

    $SecureSecretText = ConvertTo-SecureString -String "<Replace with a strong password>" -AsPlainText -Force
    $CACertCred = New-Object -Type PSCredential -ArgumentList (CACertificateCred),$SecureSecretText
    Set-ECEServiceSecret -ContainerName CACertificateCred -Credential $CACertCred
    
  3. すべてのクラスター ノードから FCA 証明書を削除し、FCA サービスを再起動します。 Azure Local インスタンスの各ノードで次のコマンドを実行します。

    $cert = Get-ChildItem -Recurse cert:\LocalMachine\My | Where-Object { $_.Subject -like "CN=FileCopyAgentKeyIdentifier*" } 
    $cert | Remove-Item 
    restart-service "AzureStack File Copy Agent*"
    
  4. シークレットのローテーションを開始します。 次の PowerShell コマンドを実行します。

    Start-SecretRotation
    

次のステップ

前提条件とチェックリストを完了し、Azure Localをインストールします。