How to Create a Configuration Profile - Rocketman-Tech/rcc GitHub Wiki

Configuration profiles define non-sensitive, tool-specific parameters for RCC tools, enabling streamlined deployments. This guide demonstrates how to create a profile using Temporary Admin as an example.


Create the Configuration Profile

  1. Open any XML-compatible text editor (e.g., Visual Studio Code, Sublime Text).

  2. Use the following example configuration profile as a base:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
      <dict>
        <key>action</key>
        <string>promote</string>
        <key>timeMin</key>
        <integer>5</integer>
        <key>askReason</key>
        <true/>
        <key>removeGroup</key>
        <string>Temporary Admin Privileges</string>
      </dict>
    </plist>
  3. Replace placeholder values to suit your deployment:

    • action: Defines the operation, such as promote to grant admin rights or demote to revoke them (string).
    • timeMin: Specifies the duration of admin rights in minutes (integer). For example, 5 grants admin rights for 5 minutes.
    • askReason: Prompts the user for a reason when set to true, logging the response for accountability (boolean).
    • removeGroup: Defines the group from which the user will be removed after admin access is granted (string).
    • Refer to the Plist Structure section below for guidance on supported data types.

IMPORTANT: Never include sensitive information such as clientId or clientSecret in the configuration profile, as these will be stored in plaintext. This data should only be placed in Jamf Pro’s script parameter fields.


Quick Overview of Plist Structure

Plist files store data in a structured format as key-value pairs. Each <key> specifies a setting, and the value defines its data type:

  • Strings: <string> for text values.

    <key>ExampleString</key>
    <string>Example Value</string>
  • Integers: <integer> for numerical data.

    <key>ExampleInteger</key>
    <integer>42</integer>
  • Booleans: <true/> or <false/> for binary settings.

    <key>ExampleBoolean</key>
    <true/>
  • Dictionaries: Group multiple key-value pairs:

    <key>ExampleDict</key>
    <dict>
      <key>NestedKey</key>
      <string>NestedValue</string>
    </dict>
  • Arrays: Contain ordered lists of values:

    <key>ExampleArray</key>
    <array>
      <string>Value1</string>
      <string>Value2</string>
    </array>

Use this structure to define and organize tool-specific parameters effectively.

⚠️ **GitHub.com Fallback** ⚠️