DTSProtectionLevel Énumération
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Contrôle la gestion d'informations sensibles dans le package.
public enum class DTSProtectionLevel
public enum DTSProtectionLevel
type DTSProtectionLevel =
Public Enum DTSProtectionLevel
- Héritage
-
DTSProtectionLevel
Champs
DontSaveSensitive | 0 | Les informations sensibles ne sont pas enregistrées dans le package. Les informations sensibles sont supprimées et remplacées par des espaces. |
EncryptAllWithPassword | 3 | Chiffre le package entier à l'aide d'un mot de passe. |
EncryptAllWithUserKey | 4 | Chiffre le package entier en utilisant des clés selon le profil de l'utilisateur. Seul le même utilisateur qui utilise le même profil peut charger le package. |
EncryptSensitiveWithPassword | 2 | Chiffre à l'aide d'un mot de passe uniquement les informations sensibles contenues dans le package. DPAPI est utilisé pour ce chiffrement. |
EncryptSensitiveWithUserKey | 1 | Chiffre les propriétés sensibles uniquement en utilisant des clés selon l'utilisateur actuel. Seul le même utilisateur qui utilise le même profil peut charger le package. Si un utilisateur différent ouvre le package, les informations sensibles sont remplacées par des espaces. DPAPI est utilisé pour ce chiffrement. |
ServerStorage | 5 | Chiffre le package dans une base de données msdb SQL Server. Cette option est prise en charge uniquement lorsqu’un package est enregistré dans SQL Server. Elle n'est pas prise en charge lorsqu'un package est enregistré dans le système de fichiers. Le contrôle d’accès de qui peut déchiffrer le package est contrôlé par SQL Server rôles de base de données. Pour plus d’informations, consultez Database-Level Roles et sysssispackages (Transact-SQL). |
Exemples
L’exemple suivant charge un package, puis récupère plusieurs propriétés de package, y compris celles ProtectionLevel affectées au package.
Class PackageTest
{
static void Main(string[] args)
{
// The variable pkg points to the location of the
// ExecuteProcess package sample
// installed with the samples.
string pkg = @"C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Package Samples\ExecuteProcess Sample\ExecuteProcess\UsingExecuteProcess.dtsx";
Application app = new Application();
Package p = app.LoadPackage(pkg, null);
// Once the package is loaded, this sample can
// query on several properties
long cc = p.CertificateContext;
string cfn = p.CheckpointFileName;
DTSProtectionLevel pl = p.ProtectionLevel;
DTSPackageType dpt = p.PackageType;
Console.WriteLine("CertificateContext = " + cc);
Console.WriteLine("CheckpointFileName = " + cfn);
Console.WriteLine("ProtectionLevel = " + pl);
Console.WriteLine("PackageType = " + dpt);
}
}
Class PackageTest
{
Shared Sub Main(ByVal args() As String)
' The variable pkg points to the location of the
' ExecuteProcess package sample
' installed with the samples.
Dim pkg As String = "C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Package Samples\ExecuteProcess Sample\ExecuteProcess\UsingExecuteProcess.dtsx"
Dim app As Application = New Application()
Dim p As Package = app.LoadPackage(pkg,Nothing)
' Once the package is loaded, this sample can
' query on several properties
Dim cc As Long = p.CertificateContext
Dim cfn As String = p.CheckpointFileName
Dim pl As DTSProtectionLevel = p.ProtectionLevel
Dim dpt As DTSPackageType = p.PackageType
Console.WriteLine("CertificateContext = " + cc)
Console.WriteLine("CheckpointFileName = " + cfn)
Console.WriteLine("ProtectionLevel = " + pl)
Console.WriteLine("PackageType = " + dpt)
End Sub
}
Exemple de sortie :
CertificateContext = 0
CheckpointFileName =
ProtectionLevel = EncryptSensitiveWithUserKey
PackageType = Valeur par défaut
Remarques
Lorsque vous utilisez la valeur DontSaveSensitive, si des informations sensibles sont contenues dans un package, ces informations sensibles ne sont pas enregistrées. Il s’agit de la valeur par défaut.
Pour toutes les valeurs, les informations sensibles sont définies comme suit :
Partie mot de passe d’une chaîne de connexion. Toutefois, si vous choisissez une option qui chiffre tout, la chaîne de connexion entière est considérée comme sensible.
Nœuds XML générés par la tâche marqués avec l’attribut
Sensitive
.Toute variable marquée avec l’attribut
Sensitive
.
Si vous avez des informations sensibles dans un fichier de configuration, vous devez l’enregistrer dans Microsoft SQL Server, ou utiliser une liste de contrôle d’accès (ACL) pour sécuriser l’emplacement ou le dossier. Pour plus d’informations, consultez Créer des configurations de package.
Pour plus d’informations sur la définition des niveaux de protection des packages, consultez Access Control pour les données sensibles dans les packages.
Le chiffrement est effectué à l’aide de deux méthodes. L’API De protection des données Microsoft (DPAPI), qui fait partie de l’API de chiffrement (API Crypto), est utilisée pour les niveaux de protection et EncryptAllWithUserKeyEncryptSensitiveWithUserKey. La TripleDES
classe est utilisée pour les niveaux de protection de EncryptAllWithPassword et EncryptSensitiveWithPassword.
Pour plus d’informations, consultez La classe TripleDES dans la bibliothèque de classes .NET Framework.