sys.fn_check_object_signatures (Transact-SQL)
Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure Analytics Platform System (PDW)
Retorna uma lista de todos os objetos assináveis e indica se um objeto foi assinado por um determinado certificado ou chave assimétrica. Se o objeto foi assinado pelo certificado ou pela chave assimétrica especificada, também indicará se a assinatura do objeto é válida.
Convenções de sintaxe de Transact-SQL
Sintaxe
fn_ check_object_signatures (
{ '@class' } , { @thumbprint }
)
Argumentos
{ '@classe' }
Identifica o tipo da impressão digital fornecida:
'certificado'
'chave assimétrica'
@class é sysname.
{ @impressão digital }
O hash SHA-1 do certificado com o qual a chave é criptografada, ou o GUID da chave assimétrica com a qual a chave é criptografada. @a impressão digital é varbinary(20).
Tabelas retornadas
A tabela a seguir lista as colunas que fn_check_object_signatures retorna.
Coluna | Type | Descrição |
---|---|---|
tipo | nvarchar(120) | Retorna a descrição do tipo ou o assembly. |
entity_id | int | Retorna a id de objeto do objeto que está sendo avaliado. |
is_signed | int | Retorna 0 quando o objeto não foi assinado pela impressão digital fornecida. Retorna 1 quando o objeto foi assinado pela impressão digital fornecida. |
is_signature_valid | int | Quando o valor is_signed é 1, retorna 0 quando a assinatura não é válida. Retorna 1 quando a assinatura é válida. Quando o valor is_signed é 0, sempre retorna 0. |
Comentários
Use fn_check_object_signatures para confirmar se usuários mal-intencionados não adulteraram objetos.
Permissões
Requer VIEW DEFINITION no certificado ou na chave assimétrica.
Exemplos
O exemplo a seguir detecta o certificado autenticado de esquema relativo ao banco de dados master
e retorna o valor is_signed
de 1 e o valor is_signature_valid
de 1 para objetos que foram assinados pelo certificado autenticado de esquema e que têm assinaturas válidas.
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