Exchange 2013 での DLP ポリシー テンプレート ファイルの開発
製品: Exchange Server 2013
この概要では、データ損失防止 (DLP) ポリシー テンプレート ファイルの XML スキーマ定義のコンポーネントを説明し、さらに XML 形式のポリシー ファイル例も示します。 開始する前に、DLP アーキテクチャとルール開発プロセス全体を理解しておくと役立ちます。 詳細については、「データ損失防止」および「独自の DLP テンプレートおよび情報の種類の定義」を参照してください。
データ損失防止ソリューションを容易に適用し、管理するために、Microsoft Exchange Server 2013 では、DLP ポリシーとポリシー テンプレートとして認識されている概念モデルが導入されています。 DLP ポリシー テンプレートには、目的とする DLP ポリシーの予備的なデザインが備えられています。 DLP ポリシー テンプレートを有用なものにするには、このテンプレートが、規則やビジネス上の要求などの特定のポリシーの目的を実現するために必要なすべてのディレクティブおよびデータ オブジェクトをカプセル化する必要があります。 テンプレートは環境固有ではありません。 これは、単に、製品構成の一部として提供したり、独立したソフトウェア発行元やパートナーによって提供されたりするポリシーの定義またはモデルです。 その一方で DLP ポリシーは、展開環境に依存するテンプレートの実行時のインスタンス化でもあります。 トランスポート ルールを使用することで、既存のメッセージング ポリシーのフレームワークに DLP ポリシーを組み込むことができます。 トランスポート ルールは、ユーザーの DLP ソリューションに柔軟に適応し、多様な DLP ソリューションに対応します。
ポリシー テンプレートのソースと構造
DLP ポリシー テンプレートは通常、次の画像で示すように、サーバーベースの処理ディレクティブやクライアント コンピューター ポリシー、その他のポリシー コンストラクタなどの複数のソースから影響を受けます。
簡単な管理操作は、Exchange 管理シェルとインターネット ベースのインターフェイス (インポート、エクスポート、削除、クエリ機能を含む Exchange 管理センターなど) の両方を通じて DLP ポリシー テンプレートで使用できます。 DLP ポリシーは、作成プロセスの一部として DLP ポリシー テンプレートを参照することによって作成されます。 これらの参照される DLP ポリシー テンプレートは、システムにインストールされたものへの参照であり、Active Directory ドメイン サービスに格納されるか、外部から提供されたポリシーから直接入力として提供される場合があります。
DLP ポリシー テンプレートは XML ドキュメントとして表されます。 単一の XML スキーマは、Exchange 内および外部からも提供されるポリシーに使用されます。 XML ドキュメントの概念構造は、主な要素を示す次の表で表されています。 ポリシー コンポーネント定義のセットは、規制やビジネス ニーズなどの特定のポリシー目標を達成するのに役立ちます。
構造要素 | 意味または例 |
---|---|
Publisher | マイクロソフトまたはパートナー |
Version | 15.0.1.0 |
Policy Name | PCI-DSS |
説明 | PCI-DSS DLP ポリシーは、クレジット カードやデビット カード番号などの情報など、PCI Data Security Standard (PCI DSS) の対象となる情報の存在を検出するのに役立ちます。 このポリシーを使用しても、規制への準拠は保証されません。 テストを完了したら、情報伝送が組織のポリシーに準拠するように、Exchange で必要な構成変更を行なってください。 たとえば、既知のビジネス パートナーとの TLS を構成したり、この種のデータを含むメッセージに対する権利保護を追加して、より制限の多いトランスポート ルール アクションを追加します。 |
Metadata | 地方の条例、国/地域、キーワードなどを記述するタグ。 |
Set of policy constructs | 条件やアクションなどのトランスポート ルール定義。 インタラクティブな通知を介したクライアント エクスペリエンスを制御する電子メール クライアントの動作定義。 (必要な場合) クライアント環境固有の設定および調整する必要がある構成参照。 |
Set of data classifications | 分類エンティティまたはアフィニティを指定します。 エンティティには数と信頼度があり、アフィニティには信頼度しかありません。 プロパティと分類スキーマの独自のセットが付属しています。 |
ポリシー テンプレート書式定義
DLP ポリシー テンプレートは、次のスキーマに従う XML ドキュメントとして表されます。 XML は大文字と小文字が区別されることに注意してください。 たとえば、 dlpPolicyTemplates
は機能しますが DlpPolicyTemplates
、機能しません。
<?xml version="1.0" encoding="UTF-8"?>
<dlpPolicyTemplates>
<dlpPolicyTemplate id="F7C29AEC-A52D-4502-9670-141424A83FAB" mode="Audit" state="Enabled" version="15.0.2.0">
<contentVersion>4</contentVersion>
<publisherName>Microsoft</publisherName>
<name>
<localizedString lang="en">PCI-DSS</localizedString>
</name>
<description>
<localizedString lang="en">Detects the presence of information subject to Payment Card Industry Data Security Standard (PCI-DSS) compliance requirements.</localizedString>
</description>
<keywords></keywords>
<ruleParameters></ruleParameters>
<ruleParameters/>
<policyCommands>
<!-- The contents below are applied/executed as rules directly in PS - -->
<commandBlock>
<![CDATA[ new-transportRule "PCI-DSS: Monitor Payment Card Information Sent To Outside" -DlpPolicy "%%DlpPolicyName%%" -SentToScope NotInOrganization -SetAuditSeverity High -MessageContainsDataClassifications @{Name="Credit Card Number"; MinCount="1" } -Comments "Monitors payment card information sent to outside the organization as part of the PCI-DSS DLP Policy."]]>
</commandBlock>
<commandBlock>
<![CDATA[ new-transportRule "PCI-DSS: Monitor Payment Card Information Sent To Within" -DlpPolicy "%%DlpPolicyName%%" -Comments "Monitors payment card information sent inside the organization as part of the PCI-DSS DLP Policy." -SentToScope InOrganization -SetAuditSeverity Low -MessageContainsDataClassifications @{Name="Credit Card Number"; MinCount="1" } ]]>
</commandBlock>
</policyCommands>
<policyCommandsResources></policyCommandsResources>
</dlpPolicyTemplate>
</dlpPolicyTemplates>
XML ファイルに含まれるいずれかの要素に対するパラメーターに空白を含める場合、そのパラメーターを二重引用符で囲む必要があり、そうしないと適切に動作しません。 次の例では、次 -SentToScope
のパラメーターは許容可能であり、スペースのない 1 つの連続した文字列であるため、二重引用符は含まれません。 ただし、 に指定された パラメーターは Comments
、二重引用符がなく、スペースが含まれているため、Exchange 管理センターには表示されません。
<CommandBlock><![CDATA[ new-transportRule "PCI-DSS: Monitor Payment Card Information Sent To Within" -DlpPolicy "PCI-DSS" -Comments Monitors payment card information sent inside the organization -SentToScope InOrganization -SetAuditSeverity Low -MessageContainsDataClassifications @{Name="Credit Card Number"; MinCount="1" } ]]> </CommandBlock>
localizedString 要素
テンプレート形式は、テンプレート内の文字列をローカライズする機能を提供します。これは、エンド ユーザーに表示される場合があります。たとえば、インストールされている DLP ポリシー テンプレートの選択の一部として使用できます。 localizedString 要素は、名前と説明の各フィールドに対して複数の定義を提供するのに使用できます。
ruleParameters ノード
これは、展開固有のオブジェクトにマップする DLP ポリシーを作成するときに、テンプレートのインスタンス化フェーズ中に指定する必要があるパラメーターのオプション セットです。 たとえば、展開で利用可能な実際の配布グループなどがあります。
dlpPolicyTemplate 要素
これは、DLP ポリシー テンプレートのルート要素で、すべてのテンプレートに不可欠です。 以下の表に、使用可能な属性を示します。
属性名 | 必須 | 説明 |
---|---|---|
バージョン | ○ | この DLP ポリシー テンプレート ドキュメントで使用されるバージョン番号。 |
State | X | ポリシーの状態の既定の構成 (オプション)。 |
Mode | X | ポリシーのモードの既定の構成 (オプション)。 |
Id | X | この DLP ポリシー テンプレート定義を一意に識別するための GUID で、"A29C69BF-4F98-47F1-9A99-5771DFD2C27F" という形式になります。 |
子要素には、次の要素シーケンスが含まれます。
子の要素 | (最小値、最大値) | 説明 |
---|---|---|
PublisherName | (1, 1) | テンプレートの発行者のメタデータ |
Name | (1, 1) | このテンプレートのローカライズ可能な名前。 |
Description | (1, 1) | このテンプレートのローカライズ可能な説明。 |
Keywords | (1, 1) | このテンプレートに適用するキーワード リスト。 テンプレートのキーワード リストは空欄にすることができます。 |
RuleParameters | (0, 1) | ポリシー定義に使用されるテンプレート パラメーターのリスト。 |
PolicyCommands | (0, 1) | このポリシーのトランスポート ルール定義のリスト。 この要素は省略可能です。 |
DLP ポリシー テンプレート: ポリシー コマンド
ポリシー テンプレートのこの部分には、ポリシー定義のインスタンス化に使用される Exchange 管理シェル コマンドのリストが含まれます。 インポート プロセスは、インスタンス化プロセスの一部として各コマンドを実行します。 以下に、ポリシー コマンドの例を示します。
<PolicyCommands>
<!-- The contents below are applied/executed as rules directly in PS - -->
<CommandBlock> <![CDATA[ new-transportRule "PCI-DSS: Monitor Payment Card Information Sent To Outside" -DlpPolicy "PCI-DSS" -SentToScope NotInOrganization -SetAuditSeverity High -MessageContainsDataClassifications @{Name="Credit Card Number"; MinCount="1" } -Comments "Monitors payment card information sent to outside the organization as part of the PCI-DSS DLP policy."]]></CommandBlock>
<CommandBlock><![CDATA[ new-transportRule "PCI-DSS: Monitor Payment Card Information Sent To Within" -DlpPolicy "PCI-DSS" -Comments "Monitors payment card information sent inside the organization as part of the PCI-DSS DLP policy." -SentToScope InOrganization -SetAuditSeverity Low -MessageContainsDataClassifications @{Name="Credit Card Number"; MinCount="1" } ]]> </CommandBlock>
</PolicyCommands>
コマンドレットの形式は、使用されるコマンドレットの標準的な Exchange 管理シェルのコマンドレット構文です。 コマンドは順番に実行されます。 各コマンド ノードにスクリプト ブロックを含め、複数のコマンドで構成できます。 以下の例では、DLP ポリシー テンプレート内に分類ルール パックを埋め込む方法と、ポリシーの作成プロセスでルール パックをインストールする方法を示しています。 分類ルール パックはポリシー テンプレートに埋め込まれ、次にテンプレート内のコマンドレットにパラメーターとして渡されます。
<CommandBlock>
<![CDATA[
$rulePack = [system.Text.Encoding]::Unicode.GetBytes('<?xml version="1.0" encoding="utf-8"?>
<rulePackage xmlns="http://schemas.microsoft.com/office/2011/mce">
<RulePack id="c3f021a3-c265-4dc2-b3a7-41a1800bf518">
<Version major="1" minor="0" build="0" revision="0"/>
<Publisher id="e17451d3-9648-4117-a0b1-493a6d5c73ad"/>
<Details defaultLangCode="en-us">
<LocalizedDetails langcode="en-us">
<PublisherName>Contoso</PublisherName>
<Name>Contoso Sample Rule Pack</Name>
<Description>This is a sample rule package</Description>
</LocalizedDetails>
</Details>
</RulePack>
<Rules>
<Entity id="7cc35258-6b35-4415-baff-a76d1a018980" patternsProximity="300" recommendedConfidence="85" workload="Exchange">
<Pattern confidenceLevel="85">
<IdMatch idRef="Regex_Contoso" />
<Any minMatches="1">
<Match idRef="Regex_conf" />
</Any>
</Pattern>
</Entity>
<Regex id="Regex_Contoso">(?i)(\bContoso\b)</Regex>
<Regex id="Regex_conf">(?i)(\bConfidential\b)</Regex>
<LocalizedStrings>
<Resource idRef="7cc35258-6b35-4415-baff-a76d1a018980">
<Name default="true" langcode="en-us">
Confidential Information Rule
</Name>
<Description default="true" langcode="en-us">
Sample rule pack - Detects Contoso confidential information
</Description>
</Resource>
</LocalizedStrings>
</Rules>
</RulePackage>
')
New-ClassificationRuleCollection -FileData $rulePack
New-TransportRule -name "customEntity" -DlpPolicy "%%DlpPolicyName%%" -SentToScope NotInOrganization -MessageContainsDataClassifications @{Name="Confidential Information Rule"} -SetAuditSeverity High]]>
</CommandBlock>
子の要素には、次の順序で要素シーケンスが含まれます。
子の要素 | (最小、最大) | 説明 |
---|---|---|
CommandBlock | (1, n) | PowerShell 内で実行されるコマンド ブロック。 各コマンド ブロックはそれぞれ順番に実行されます。 |