Complete-SqlColumnMasterKeyRotation

列マスター キーの回転を完了します。

構文

Complete-SqlColumnMasterKeyRotation
        -SourceColumnMasterKeyName <String>
        [-InputObject] <Database>
        [-Script]
        [-AccessToken <PSObject>]
        [-TrustServerCertificate]
        [-HostNameInCertificate <String>]
        [-Encrypt <String>]
        [<CommonParameters>]
Complete-SqlColumnMasterKeyRotation
        -SourceColumnMasterKeyName <String>
        [[-Path] <String>]
        [-Script]
        [-AccessToken <PSObject>]
        [-TrustServerCertificate]
        [-HostNameInCertificate <String>]
        [-Encrypt <String>]
        [<CommonParameters>]

説明

Complete-SqlColumnMasterKeyRotation コマンドレットは、既存の列マスター キーを、Always Encrypted機能の新しいターゲット列マスター キーに置き換えるプロセスを完了します。

コマンドレットは、指定したソース列マスター キーで暗号化された暗号化されたキー値を含むすべての列暗号化キー オブジェクトを取得します。

次に、コマンドレットは各列暗号化キー オブジェクトを更新して、指定された列マスター キーを使用して生成された暗号化された値のエントリを削除します。

その結果、影響を受ける各列暗号化キー オブジェクトには、ローテーションのターゲットである列マスター キーを使用して生成された暗号化された値エントリが 1 つだけ含まれます。

Module requirements: version 21+ on PowerShell 5.1; version 22+ on PowerShell 7.x.

例 1: 列マスター キーを回転させるプロセスを完了する

PS C:\> Cleanup-SqlColumnMasterKey -SourceColumnMasterKeyName "CMK1"

このコマンドは、CMK1 という名前の列マスター キーをローテーションするプロセスを完了します。

パラメーター

-AccessToken

ユーザー/パスワードまたは Windows 認証の代わりに、SQL Serverに対する認証に使用されるアクセス トークン。

これは、たとえば、 または を使用して にSQL Azure DB接続したりSQL Azure Managed Instance、 を使用したりManaged Identityするために使用Service Principalできます。

使用するパラメーターには、 を実行Get-AzAccessToken -ResourceUrl https://database.windows.netして返されるトークンまたはオブジェクトをPSAccessToken表す文字列を指定できます。

このパラメーターは、モジュールの v22 の新機能です。

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Encrypt

SQL Serverに接続するときに使用する暗号化の種類。

この値は、 Encrypt Microsoft.Data.SqlClient ドライバーの SqlConnection オブジェクトの プロパティ SqlConnectionEncryptOption にマップされます。

モジュールの v22 では、既定値は Optional (v21 との互換性のために) です。 モジュールの v23 以降では、既定値は "必須" になります。これにより、既存のスクリプトに破壊的変更が発生する可能性があります。

このパラメーターは、モジュールの v22 の新機能です。

Type:String
Accepted values:Mandatory, Optional, Strict
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HostNameInCertificate

SQL Server TLS/SSL 証明書の検証に使われるホスト名。 SQL Server インスタンスで Force Encryption が有効になっており、hostname/shortname を使用してインスタンスに接続する場合は、このパラメーターを渡す必要があります。 このパラメーターを省略した場合、強制暗号化が有効になっているSQL Server インスタンスに接続するには、完全修飾ドメイン名 (FQDN) を -ServerInstance に渡す必要があります。

このパラメーターは、モジュールの v22 の新機能です。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

このコマンドレットが操作を実行する SQL データベース オブジェクトを指定します。

Type:Database
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Path

このコマンドレットが操作を実行する SQL データベースへのパスを指定します。 パラメーターの値を指定しない場合、コマンドレットは現在の作業場所を使用します。

Type:String
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Script

このコマンドレットは、列マスター キーのローテーションを完了するためのスクリプトを実行することを示します。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SourceColumnMasterKeyName

ソース列マスター キーの名前を指定します。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-TrustServerCertificate

信頼を検証するために証明書チェーンの歩き方をバイパスしながらチャネルを暗号化するかどうかを示します。

モジュールの v22 では、既定値は $true (v21 との互換性のために) です。 モジュールの v23 以降では、既定値は "$false" になります。これにより、既存のスクリプトに破壊的変更が発生する可能性があります。

このパラメーターは、モジュールの v22 の新機能です。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

Microsoft.SqlServer.Management.Smo.Database

出力

System.Object