구성 서비스 공급자 DDF 파일

이 문서에서는 다양한 구성 서비스 공급자에 대한 OMA DM DDF(디바이스 설명 프레임워크) 파일을 나열합니다. DDF 파일은 OMA DM 프로비저닝 XML에서만 사용됩니다.

2022년 12월부터 OS 빌드 적용 가능성과 같은 추가 정보를 포함하도록 DDF XML 스키마가 업데이트되었습니다. Windows 10 및 Windows 11 대한 DDF v2 XML 파일이 결합되어 단일 다운로드로 제공됩니다.

DDF v2 스키마

DDF v2 XML 스키마 정의는 참조된 네임스페이스에 대한 스키마 정의와 함께 아래에 나열되어 MSFT 있습니다.

  • DDF v2에 대한 스키마 정의:

    <?xml version="1.0" encoding="Windows-1252"?>
    <xs:schema xmlns="http://tempuri.org/DM_DDF-V1_2" elementFormDefault="qualified" targetNamespace="http://tempuri.org/DM_DDF-V1_2"
               xmlns:xs="http://www.w3.org/2001/XMLSchema"
               xmlns:MSFT="http://schemas.microsoft.com/MobileDevice/DM">
      <xs:import schemaLocation="DDFv2Msft.xsd" namespace="http://schemas.microsoft.com/MobileDevice/DM" />
      <xs:element name="MgmtTree">
        <xs:annotation>
          <xs:documentation>Starting point for DDF</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="VerDTD" />
            <xs:element minOccurs="1" ref="MSFT:Diagnostics" />
            <xs:element minOccurs="1" maxOccurs="unbounded" ref="Node" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="VerDTD" type="xs:string" />
      <xs:element name="Node">
        <xs:annotation>
          <xs:documentation>Main Recurring XML tag describing nodes of the CSP</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="NodeName" />
            <xs:element minOccurs="0" maxOccurs="1" ref="Path" />
            <xs:element minOccurs="1" maxOccurs="1" ref="DFProperties" />
            <xs:choice>
              <xs:element minOccurs="0" maxOccurs="unbounded" ref="Node" />
            </xs:choice>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="NodeName" type="xs:anyURI" />
      <xs:element name="Path" type="xs:anyURI" />
      <xs:element name="MIME" type="xs:string" />
      <xs:element name="DDFName" type="xs:string" />
      <xs:element name="DFProperties">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="AccessType" />
            <xs:element minOccurs="0" maxOccurs="1" ref="DefaultValue" />
            <xs:element minOccurs="0" maxOccurs="1" ref="Description" />
            <xs:element ref="DFFormat" />
            <xs:element minOccurs="0" maxOccurs="1" ref="Occurrence" />
            <xs:element minOccurs="0" maxOccurs="1" ref="Scope" />
            <xs:element minOccurs="0" maxOccurs="1" ref="DFTitle" />
            <xs:element ref="DFType" />
            <xs:element minOccurs="0" maxOccurs="1" ref="CaseSense" />
            <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:Applicability" />
            <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:DynamicNodeNaming" />
            <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:AllowedValues" />
            <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:ReplaceBehavior" />
            <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:RebootBehavior" />
            <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:GpMapping" />
            <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:CommonErrorResults" />
            <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:Deprecated" />
            <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:DependencyBehavior" />
            <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:ConflictResolution" />
            <xs:element minOccurs="0" maxOccurs="1" ref="MSFT:AtomicRequired" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AccessType">
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="Add" />
            <xs:element minOccurs="0" maxOccurs="1" name="Copy" />
            <xs:element minOccurs="0" maxOccurs="1" name="Delete" />
            <xs:element minOccurs="0" maxOccurs="1" name="Exec" />
            <xs:element minOccurs="0" maxOccurs="1" name="Get" />
            <xs:element minOccurs="0" maxOccurs="1" name="Replace" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="DefaultValue" type="xs:string" />
      <xs:element name="Description" type="xs:string" />
      <xs:element name="DFFormat">
        <xs:complexType>
          <xs:choice>
            <xs:element name="b64" />
            <xs:element name="bin" />
            <xs:element name="bool" />
            <xs:element name="chr" />
            <xs:element name="int" />
            <xs:element name="node" />
            <xs:element name="null" />
            <xs:element name="xml" />
            <xs:element name="date" />
            <xs:element name="time" />
            <xs:element name="float" />
          </xs:choice>
        </xs:complexType>
      </xs:element>
      <xs:element name="Occurrence">
        <xs:complexType>
          <xs:choice>
            <xs:element name="One" />
            <xs:element name="ZeroOrOne" />
            <xs:element name="ZeroOrMore" />
            <xs:element name="OneOrMore" />
            <xs:element name="ZeroOrN" type="xs:integer" />
            <xs:element name="OneOrN" type="xs:integer" />
          </xs:choice>
        </xs:complexType>
      </xs:element>
      <xs:element name="Scope">
        <xs:complexType>
          <xs:choice>
            <xs:element name="Permanent" />
            <xs:element name="Dynamic" />
          </xs:choice>
        </xs:complexType>
      </xs:element>
      <xs:element name="DFTitle" type="xs:string" />
      <xs:element name="DFType">
        <xs:complexType>
          <xs:choice>
            <xs:element minOccurs="1" maxOccurs="unbounded" ref="MIME" />
            <xs:element ref="DDFName" />
          </xs:choice>
        </xs:complexType>
      </xs:element>
      <xs:element name="CaseSense">
        <xs:complexType>
          <xs:choice>
            <xs:element name="CS" />
            <xs:element name="CIS" />
          </xs:choice>
        </xs:complexType>
      </xs:element>
    </xs:schema>
    
  • 네임스페이 MSFT 스에 대한 스키마 정의:

    <?xml version="1.0" encoding="utf-8"?>
    <xs:schema elementFormDefault="qualified" xmlns="http://schemas.microsoft.com/MobileDevice/DM" targetNamespace="http://schemas.microsoft.com/MobileDevice/DM" xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:element name="Diagnostics" type="xs:string">
        <xs:annotation>
          <xs:documentation>This node contains an XML blob that can be used as an argument to the DiagnosticsLogCSP to pull diagnostics for a feature.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Deprecated">
        <xs:annotation>
          <xs:documentation>This node marks that a feature is deprecated.  If included, OsBuildDeprecated gives the OS Build version that the node is no longer recommended to be set.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:attribute name="OsBuildDeprecated" type="xs:string" />
        </xs:complexType>
      </xs:element>
      <xs:element name="DynamicNodeNaming">
        <xs:annotation>
          <xs:documentation>This node contains information on how to dynamically name the node such that the name is valid.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:choice>
            <xs:element name="ServerGeneratedUniqueIdentifier">
              <xs:annotation>
                <xs:documentation>This indicates that the server should generate a unique identifier for the node.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="ClientInventory">
              <xs:annotation>
                <xs:documentation>This indicates that the client will generate the name of the node based on the device state (such as inventorying apps).</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="UniqueName" type="xs:string">
              <xs:annotation>
                <xs:documentation>This indicates that the server should name the node, and the value listed gives a regex to define what is allowed.</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:choice>
        </xs:complexType>
      </xs:element>
      <xs:element name="ConflictResolution" default="NoMerge">
        <xs:simpleType>
          <xs:annotation>
            <xs:documentation>The type of the conflict resolution.</xs:documentation>
          </xs:annotation>
          <xs:restriction base="xs:string">
            <xs:enumeration value="NoMerge">
              <xs:annotation>
                <xs:documentation>No policy merge.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="LowestValueMostSecure">
              <xs:annotation>
                <xs:documentation>The lowest value is the most secure policy value.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="HighestValueMostSecure">
              <xs:annotation>
                <xs:documentation>The highest value is the most secure policy value.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="LastWrite">
              <xs:annotation>
                <xs:documentation>The last written value is current value</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="LowestValueMostSecureZeroHasNoLimits">
              <xs:annotation>
                <xs:documentation>The lowest value is the most secure policy value unless the value is zero.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="HighestValueMostSecureZeroHasNoLimits">
              <xs:annotation>
                <xs:documentation>The highest value is the most secure policy value unless the value is zero.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Applicability">
        <xs:annotation>
          <xs:documentation>These tags indicate what are required on the device for the node to be applicable to configured.  These tags can be inherited by children nodes.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" name="OsBuildVersion" type="xs:string">
              <xs:annotation>
                <xs:documentation>This tag describes the first build that a feature is released to.  If the feature was backported, multiple OS versions will be listed, such that the OS build version without a minor number is the first "major release."</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="CspVersion" type="xs:decimal">
              <xs:annotation>
                <xs:documentation>This tag describes the lowest CSP Version that the node was released to.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="EditionAllowList" type="xs:string">
              <xs:annotation>
                <xs:documentation>This tag describes the list of Edition IDs that the features is allowed on.  0x88* refers to Windows Holographic for Business.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element minOccurs="0" maxOccurs="1" name="RequiresAzureAd">
              <xs:annotation>
                <xs:documentation>This tag indicates that the node requires the device to be Azure Active Directory Joined to be applicable.</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AllowedValues">
        <xs:annotation>
          <xs:documentation>These tags describe what values are allowed to be set for this particular node.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:group ref="AllowedValuesGroup" />
          <xs:attributeGroup ref="AllowedValuesAttributeGroup" />
        </xs:complexType>
      </xs:element>
      <xs:attributeGroup name="AllowedValuesAttributeGroup">
        <xs:attribute name="ValueType" use="required">
          <xs:annotation>
            <xs:documentation>This attribute describes what kind of Allowed Values tag this is.</xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="XSD">
                <xs:annotation>
                  <xs:documentation>This attribute indicates that the Value tag contains an XSD for the node.</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
              <xs:enumeration value="RegEx">
                <xs:annotation>
                  <xs:documentation>This attribute indicates that the Value tag contains a RegEx for the node.</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
              <xs:enumeration value="ADMX">
                <xs:annotation>
                  <xs:documentation>This attribute indicates that the node can be described by an external ADMX file.</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
              <xs:enumeration value="JSON">
                <xs:annotation>
                  <xs:documentation>This attribute indicates that the node can be described by a JSON schema.</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
              <xs:enumeration value="ENUM">
                <xs:annotation>
                  <xs:documentation>This attribute indicates that the allowed values are an enumeration.</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
              <xs:enumeration value="Flag">
                <xs:annotation>
                  <xs:documentation>This attribute indicates that the allowed values can be combined into a bitwise flag.</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
              <xs:enumeration value="Range">
                <xs:annotation>
                  <xs:documentation>This attribute indicates that the allowed values are a numerical range.</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
              <xs:enumeration value="SDDL">
                <xs:annotation>
                  <xs:documentation>This attribute indicates that the allowed values are a string in the SDDL format.</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
              <xs:enumeration value="None">
                <xs:annotation>
                  <xs:documentation>This attribute indicates there is no data-driven way to define the allowed values of the node.  This potentially means that all string values are valid values.</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:attributeGroup>
      <xs:group name="AllowedValuesGroup">
        <xs:sequence>
          <xs:group minOccurs="0" maxOccurs="1" ref="AllowedValueGroupedNodes" />
          <xs:element minOccurs="0" maxOccurs="1" name="List">
            <xs:annotation>
              <xs:documentation>This tag indicates that the node input can contain multiple, delimited values.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
              <xs:attribute name="Delimiter" type="xs:string" use="required">
                <xs:annotation>
                  <xs:documentation>This attribute details the delimeter used for the list of values.</xs:documentation>
                </xs:annotation>
              </xs:attribute>
            </xs:complexType>
          </xs:element>
        </xs:sequence>
      </xs:group>
      <xs:group name="ValueAndDescriptionGroup">
        <xs:sequence>
          <xs:element name="Value" type="xs:string">
            <xs:annotation>
              <xs:documentation>This tag indicates an allowed value.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" maxOccurs="1" name="ValueDescription" type="xs:string">
            <xs:annotation>
              <xs:documentation>This tag gives further description to an allowed value, such as for an enumeration.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:group>
      <xs:group name="AllowedValueGroupedNodes">
        <xs:choice>
          <xs:element ref="Enum" maxOccurs="unbounded" />
          <xs:group ref="ValueAndDescriptionGroup" />
          <xs:element ref="AdmxBacked" />
        </xs:choice>
      </xs:group>
      <xs:element name="Enum">
        <xs:annotation>
          <xs:documentation>This tag gives details for one particular enumeration of the allowed values.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:group ref="ValueAndDescriptionGroup" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AdmxBacked">
        <xs:annotation>
          <xs:documentation>This tag indicates the relevent details for the corresponding ADMX policy for this node.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:attribute name="Area" type="xs:string" use="required">
            <xs:annotation>
              <xs:documentation>This attribute gives the area path of the ADMX policy.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="Name" type="xs:string" use="required">
            <xs:annotation>
              <xs:documentation>This attribute gives the name of the ADMX policy.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="File" type="xs:string" use="required">
            <xs:annotation>
              <xs:documentation>This attribute gives the filename for the ADMX policy.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element name="ReplaceBehavior" default="Replace">
        <xs:annotation>
          <xs:documentation>This tag details the replace behavior of the node.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="Append">
              <xs:annotation>
                <xs:documentation>When performing a replace operation on this node, the value is appending to the existing node data.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Replace">
              <xs:annotation>
                <xs:documentation>When performing a replace operation on this node, the existing node data is removed before new data is added.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="RebootBehavior" default="None">
        <xs:annotation>
          <xs:documentation>This tag describes the reboot behavior of the node.</xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="None">
              <xs:annotation>
                <xs:documentation>No reboot is required for this node.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Automatic">
              <xs:annotation>
                <xs:documentation>This node will automatically perform a reboot to take effect.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ServerInitiated">
              <xs:annotation>
                <xs:documentation>This node needs a reboot initiated from an external source to take effect.</xs:documentation>
              </xs:annotation>
            </xs:enumeration>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="GpMapping">
        <xs:annotation>
          <xs:documentation>This tag details the information necessary to map this node to an existing group policy.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:attribute name="GpEnglishName" type="xs:string" use="required">
            <xs:annotation>
              <xs:documentation>This attribute details the English name of the GP.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="GpAreaPath" type="xs:string" use="required">
            <xs:annotation>
              <xs:documentation>This attribute details the area path of the GP.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
          <xs:attribute name="GpElement" type="xs:string">
            <xs:annotation>
              <xs:documentation>This attribute details a particular element of a GP that the CSP node maps to.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element name="CommonErrorResults">
        <xs:annotation>
          <xs:documentation>This tag lists out common error HRESULTS reported by the CSP and English text to associate with them.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="CommonErrorOne" type="xs:string" />
            <xs:element name="CommonErrorTwo" type="xs:string" />
            <xs:element name="CommonErrorThree" type="xs:string" />
            <xs:element name="CommonErrorFour" type="xs:string" />
            <xs:element name="CommonErrorFive" type="xs:string" />
            <xs:element name="CommonErrorSix" type="xs:string" />
            <xs:element name="CommonErrorSeven" type="xs:string" />
            <xs:element name="CommonErrorEight" type="xs:string" />
            <xs:element name="CommonErrorNine" type="xs:string" />
            <xs:element name="CommonErrorTen" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="AtomicRequired">
        <xs:annotation>
          <xs:documentation>This tag indicates that this node and all children nodes should be enclosed by an Atomic tag when being sent to the client.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DependencyBehavior">
        <xs:annotation>
          <xs:documentation>These tags detail potential dependencies that the current CSP node has on other nodes in the same CSP.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="DependencyGroup" maxOccurs="unbounded" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Dependency">
        <xs:annotation>
          <xs:documentation>This tag describes a dependency that the current CSP node has on another nodes in the same CSP.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element name="DependencyUri" type="xs:anyURI">
              <xs:annotation>
                <xs:documentation>The URI that the current CSP node has a dependency on.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element ref="DependencyAllowedValue" />
          </xs:sequence>
          <xs:attribute name="Type" use="required">
            <xs:annotation>
              <xs:documentation>This tag details the kind of dependency.</xs:documentation>
            </xs:annotation>
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="DependsOn">
                  <xs:annotation>
                    <xs:documentation>The current node depends on the dependency holding a certain value.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
                <xs:enumeration value="Not">
                  <xs:annotation>
                    <xs:documentation>The current node depends on the dependency not holding a certain value.</xs:documentation>
                  </xs:annotation>
                </xs:enumeration>
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element name="DependencyGroup">
        <xs:annotation>
          <xs:documentation>This tag details one specific dependency.  A node might have multiple different dependencies.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:element minOccurs="0" maxOccurs="1" ref="DependencyChangedAllowedValues" />
            <xs:element ref="Dependency" maxOccurs="unbounded" />
          </xs:sequence>
          <xs:attribute name="FriendlyId" type="xs:string" use="required">
            <xs:annotation>
              <xs:documentation>This attribute gives a friendly ID to the dependency, to differentiate it from other dependencies.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element name="DependencyAllowedValue">
        <xs:annotation>
          <xs:documentation>This tag details the values that the dependency must be set to for the dependency to be satisfied.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:group ref="AllowedValuesGroup" />
          <xs:attributeGroup ref="AllowedValuesAttributeGroup" />
        </xs:complexType>
      </xs:element>
      <xs:element name="DependencyChangedAllowedValues">
        <xs:annotation>
          <xs:documentation>This tag details a change to the current node's allowed values if the dependency is satisfied.</xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:group ref="AllowedValuesGroup" />
          <xs:attributeGroup ref="AllowedValuesAttributeGroup" />
        </xs:complexType>
      </xs:element>
    </xs:schema>
    

이전 DDF 파일

아래 링크에서 다양한 CSP에 대한 이전 DDF 파일을 다운로드할 수 있습니다.

다음 링크를 클릭하여 이전 정책 영역 DDF 파일을 다운로드할 수 있습니다.