sys.fn_check_object_signatures (Transact-SQL)
適用対象:SQL ServerAzure SQL Managed InstanceAnalytics Platform System (PDW)
署名可能なすべてのオブジェクトの一覧を返し、オブジェクトが、指定した証明書または非対称キーで署名されているかどうかを示します。 指定した証明書または非対称キーによって署名されたオブジェクトが署名されている場合は、オブジェクトの署名が有効かどうかを返します。
構文
fn_ check_object_signatures (
{ '@class' } , { @thumbprint }
)
引数
{ '@class' }
提供される拇印の種類を識別します。
'certificate'
'asymmetric key'
@クラス は sysname です。
{ @thumbprint }
キーの暗号化で使用された証明書の SHA-1 ハッシュ。または、キーの暗号化で使用された非対称キーの GUID。 @拇印 は varbinary(20)です。
返されるテーブル
次の表に、 fn_check_object_signatures が返す列の一覧を示します。
Column | 種類 | 説明 |
---|---|---|
type | nvarchar(120) | 型の説明またはアセンブリを返します。 |
entity_id | int | 評価対象のオブジェクトのオブジェクト ID を返します。 |
is_signed | int | 指定された拇印によってオブジェクトが署名されていない場合は、0 を返します。 指定された拇印によってオブジェクトが署名されると、1 を返します。 |
is_signature_valid | int | is_signed の値が 1 の場合、署名が有効ではないときは 0 を返します。 署名が有効な場合は 1 を返します。 is_signed の値が 0 の場合は、常に 0 を返します。 |
解説
fn_check_object_signaturesを使用して、悪意のあるユーザーがオブジェクトを改ざんされていないことを確認します。
アクセス許可
証明書または非対称キーに対する VIEW DEFINITION が必要です。
例
次の例では、データベースのスキーマ署名証明書をmaster
検索し、スキーマ署名証明書によって署名され、有効な署名を持つオブジェクトの値 1 とis_signature_valid
値 1 を返is_signed
します。
USE master;
-- Declare a variable to hold the thumbprint.
DECLARE @thumbprint varbinary(20) ;
-- Populate the thumbprint variable with the master database schema signing certificate.
SELECT @thumbprint = thumbprint
FROM sys.certificates
WHERE name LIKE '%SchemaSigningCertificate%' ;
-- Evaluates the objects signed by the schema signing certificate
SELECT type, entity_id, OBJECT_NAME(entity_id) AS [object name], is_signed, is_signature_valid
FROM sys.fn_check_object_signatures ('certificate', @thumbprint) ;
GO
参照
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示