-
Notifications
You must be signed in to change notification settings - Fork 446
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Full support of secret variables in Apple configuration profiles #24925
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #24925 +/- ##
========================================
Coverage 63.57% 63.58%
========================================
Files 1605 1606 +1
Lines 152110 152219 +109
Branches 3914 3914
========================================
+ Hits 96706 96785 +79
- Misses 47706 47728 +22
- Partials 7698 7706 +8
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
fb6e5f0
to
afad95c
Compare
1d6631c
to
ca8cbf6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One small nit and a more general question about encryption of payloads being sent to the device (not a blocker to merge but something we should clarify with product before we release, I think).
} | ||
switch cmd.Subtype { | ||
case mdm.CommandSubtypeProfileWithSecrets: | ||
// Secrets were expanded above. Now we need to base64 encode and sign the configuration profile before returning it to the caller. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have we looked into encrypting the profile content here? Otherwise, I'm assuming we are ok for this iteration that unencrypted secrets might be accessible in transit or at rest on the device, for example, by a user running profiles
in the terminal or via osquery macos_profiles
table.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I brought up a similar issue with product.
Are you suggesting there is a way to prevent the device user from viewing profile contents. For example, from viewing the EnrollSecret in our Fleetd configuration profile?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, it is possible to encrypt profiles. Here are the Apple docs.
{Name: "N5", Contents: teamProfiles[1]}, | ||
{Name: "NS1", Contents: teamProfiles[2]}, | ||
}} | ||
t.Logf("VICTOR: %s", string(teamProfiles[2])) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this log be removed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, will remove in next PR.
For secrets subtask #24548
Fixed secret variables support in Apple configuration profiles.
Checklist for submitter
COLLATE utf8mb4_unicode_ci
).