Jamf Concepts
Przewodniki

Przewodniki

AI Governance: Rozszerzanie zasięgu za pomocą Jamf Extender

~17 min read
Czy to było pomocne?

AI Governance: Rozszerzanie zasięgu za pomocą Jamf Extender

Czym jest AI Governance?

AI Governance zamyka lukę między „zezwoliliśmy na AI" a „możemy udowodnić, że jest poprawnie skonfigurowane w całej flocie". Oferowane w ramach Jamf for Mac, daje zespołom IT i bezpieczeństwa dwie zintegrowane możliwości: AI Visibility zapewnia niemal w czasie rzeczywistym inwentarz tego, jakie narzędzia AI są uruchomione, co robią i z czym się łączą. AI Policies przekłada kontrole korporacyjne każdego narzędzia AI na wybory w prostym języku i dostarcza je jako ustawienia zarządzane egzekwowane przez system operacyjny. Razem odpowiadają na trzy pytania, które zadają audytorzy i kierownictwo: co jest uruchomione, czy jest poprawnie skonfigurowane i czy można to udowodnić.

Dowiedz się więcej o AI Governance


Co dodaje Jamf Extender

  • Eksport zasad dla Windows: Pobieraj zasady AI governance jako gotowe do wdrożenia pakiety do przesłania do dowolnego rozwiązania MDM lub UEM, co ułatwia egzekwowanie konfiguracji narzędzi AI na punktach końcowych Windows obok floty macOS i mobilnej.

  • Widoczność statusu blokad w czasie rzeczywistym: Sprawdzaj w jednym rzucie oka, które narzędzia AI są już zablokowane przed wdrożeniem. Zielone wskaźniki statusu pokazują aktualny zasięg, pomagając uniknąć zbędnej pracy i natychmiast zrozumieć swoją postawę egzekwowania.

  • Usprawniony przepływ wdrażania: Wdrażaj Custom Prevent Lists (kontrola punktów końcowych) i blokady domen (kontrola sieci) do narzędzi bezpieczeństwa Jamf bezpośrednio z pulpitu AI Visibility, bez przełączania kontekstu między portalami czy ręcznego tworzenia list.

  • Automatyczne wykrywanie duplikatów: Rozszerzenie inteligentnie pomija identyfikatory podpisów i domeny, które są już zablokowane, zapewniając czyste podsumowanie wdrożenia i zapobiegając niepotrzebnym duplikatom.

  • Orkiestracja między portalami: Jamf Extender automatycznie kieruje wdrożenia do właściwych portali Jamf Cloud na podstawie konfiguracji Portal Group w Jamf Extender, eliminując ręczne wyszukiwania i błędy konfiguracji.

Spis treści

Kto zyskuje najwięcej:

Organizacje zarządzające wieloma środowiskami (produkcyjne, testowe, deweloperskie) lub takie, które często dostosowują zasady AI governance, docenią widoczność i szybkość wdrażania. Zespoły, które chcą potwierdzenia w czasie rzeczywistym swojej postawy egzekwowania w narzędziach bezpieczeństwa Jamf, uznają zintegrowane wskaźniki statusu za szczególnie wartościowe.


Przegląd

Ten przewodnik pokazuje, jak korzystać z Jamf Extender w ramach AI Governance w Jamf Account. Jamf Extender dodaje możliwości do pulpitu AI Visibility, umożliwiając podgląd użycia narzędzi AI oraz wdrażanie dodatkowych blokad na poziomie punktu końcowego i sieci dla zidentyfikowanych narzędzi AI w Twoim środowisku. Jamf Extender dodaje również opcję pobierania bezpośrednio w kreatorze AI Policies, pozwalając wyeksportować dowolną zasadę jako gotowy do wdrożenia pakiet dla punktów końcowych Windows, poprzez przesłanie do wybranego rozwiązania MDM lub UEM.

Co osiągniesz:

  1. Podgląd użycia narzędzi AI w Jamf Account AI Visibility
  2. Wdrożenie Custom Prevent Lists (Jamf Protect) i Custom Domain Blocks (Security Cloud)
  3. Weryfikacja i zarządzanie blokadami AI governance
  4. (Opcjonalnie) Wdrożenie konfiguracji zasad AI Governance na punktach końcowych Windows

Wymagany czas: 2–5 minut na wdrożenie


Wymagania wstępne

✅ Jamf Extender zainstalowany i skonfigurowany (patrz Konfiguracja Jamf Extender poniżej)
✅ Portal Groups skonfigurowane, łączące Jamf Pro z Protect i/lub Security Cloud
✅ Dostęp administratora do:

  • Jamf Account AI Governance
  • Instancji Jamf Protect (z uprawnieniami zapisu dla Custom Prevent Lists)
  • Instancji Jamf Security Cloud (opcjonalnie, do blokowania domen)

Konfiguracja Jamf Extender

Przegląd

Ten przewodnik przeprowadzi Cię przez konfigurację Jamf Extender po instalacji, w tym konfigurację poświadczeń API oraz łączenie systemów Jamf za pomocą Portal Groups.

Co osiągniesz:

  1. Skonfigurujesz poświadczenia API dla Jamf Pro, Jamf Protect i Jamf Security Cloud
  2. Połączysz te systemy za pomocą Portal Groups
  3. Włączysz wyszukiwanie urządzeń i wdrożenia między platformami

Wymagany czas: 5–10 minut na wstępną konfigurację

Wymagania wstępne konfiguracji

✅ Jamf Extender zainstalowany w przeglądarce (Chrome, Safari, Edge lub Firefox)
✅ Dostęp administratora do:

  • Instancji Jamf Pro
  • Instancji Jamf Protect
  • Instancji Jamf Security Cloud

✅ Wymagane uprawnienia:

  • Jamf Pro: Możliwość tworzenia ról i klientów API
  • Jamf Protect: Rola administratora (NIE tylko do odczytu) do tworzenia Custom Prevent Lists. Rolę można ograniczyć wyłącznie do zapisu Prevent Lists.
  • Jamf Security Cloud: Poświadczenia administratora

Część A: Wstępna konfiguracja rozszerzenia

Po zainstalowaniu Jamf Extender zobaczysz:

  • Pasek narzędzi przeglądarki: Ikona Jamf Extender (kliknij, aby otworzyć okienko)
  • Strony Jamf Pro: Pigułka statusu pojawia się obok logo Jamf
  • Pasek boczny Jamf Pro: Przycisk „Jamf Extender" nad „Resource Center"

Status początkowy: Pigułka statusu będzie pokazywać żółte „Configure Extension", dopóki nie skonfigurujesz poświadczeń.

Część B: Konfiguracja poświadczeń Jamf Pro

Masz dwie opcje: Szybka konfiguracja (zalecana) lub Konfiguracja ręczna.

Konfiguracja automatyczna (zalecana)

Konfiguracja automatyczna tworzy rolę i klienta API z odpowiednimi uprawnieniami.

  1. Przejdź do swojej instancji Jamf Pro i zaloguj się
  2. Kliknij Jamf Extender w menu po lewej stronie poniżej Settings
  3. Kliknij „Set Up Automatically" w sekcji Configuration
  4. Poczekaj na potwierdzenie (zwykle 5–10 sekund)
  5. Odśwież stronę internetową
  6. Gotowe! Pigułka statusu zmieni się na zielone „Extension Active"

Co robi konfiguracja automatyczna:

  • Tworzy rolę API o nazwie „Jamf Extender"
  • Przyznaje wszystkie wymagane uprawnienia odczytu (komputery, zasady, profile, grupy itd.)
  • Przyznaje uprawnienia zapisu dla Categories i Packages (usuwanie nieużywanych)
  • Tworzy klienta API przypisanego do tej roli
  • Bezpiecznie przechowuje poświadczenia (Pęk kluczy macOS na komputerze Mac z zainstalowaną aplikacją Jamf Extender, w przeciwnym razie pamięć przeglądarki)

Rozwiązywanie problemów z szybką konfiguracją:

  • ❌ „Failed to create API client" → Sprawdź, czy Twój użytkownik Jamf Pro ma uprawnienia do tworzenia ról/klientów API
  • ❌ „Network error" → Sprawdź, czy jesteś zalogowany do Jamf Pro i czy strona w pełni się załadowała

Część C: Konfiguracja poświadczeń Jamf Protect

⚠️ KRYTYCZNE: Potrzebujesz klienta API Protect z MOŻLIWOŚCIĄ ZAPISU (nie tylko do odczytu), aby wdrażać Custom Prevent Lists.

Konfiguracja automatyczna (zalecana)

  1. Przejdź do swojej instancji Jamf Protect (np. tenant.protect.jamfcloud.com) i zaloguj się
  2. Kliknij ikonę Jamf Extender na pasku narzędzi przeglądarki
  3. Sekcja Jamf Protect pojawia się, pokazując wykrytą instancję w Configuration
  4. (Opcjonalnie) Zmień Client Name, jeśli chcesz
  5. Kliknij „Set Up Automatically"
  6. Skopiuj i zapisz Client ID oraz Password (pokazane raz) do menedżera haseł

⚠️ Ważne: Automatycznie utworzony klient ma domyślnie uprawnienia tylko do odczytu. Do wdrożeń AI Visibility potrzebujesz dostępu do zapisu.

Po utworzeniu początkowego klienta API powyżej:

Opcja A: Przyznanie pełnego dostępu administratora

  1. Przejdź do Administrative → API Clients i wybierz nowo utworzonego klienta API
  2. Kliknij Edit i dodaj rolę Full Admin za pomocą menu rozwijanego Roles
  3. (Opcjonalnie) Usuń rolę Read Only, klikając X na etykiecie

Opcja B: Dodanie odpowiednich uprawnień zapisu

  1. Przejdź do Administrative → Account → Roles i wybierz +Create Role
  2. Nazwij nowego klienta API (przykład: Prevent List Creation)
  3. Odznacz pole na górze kolumny Write, aby odznaczyć wszystkie uprawnienia
  4. Zaznacz pole dla Prevent Lists w kolumnie Write
  5. Przejdź do Administrative → API Clients i wybierz nowo utworzonego klienta API
  6. Kliknij Edit i dodaj nową ograniczoną rolę, którą utworzyłeś, za pomocą menu rozwijanego Roles
  7. (Opcjonalnie) Usuń rolę Read Only, klikając X na etykiecie

Co to robi:

  • Tworzy klienta API poprzez GraphQL API Protect
  • Wykorzystuje JWT Auth0 przechwycony z sesji przeglądarki
  • Przechowuje poświadczenia dla każdego źródła (np. protect_creds:https://overview.protect.jamfcloud.com)

Część D: Konfiguracja poświadczeń Jamf Security Cloud

Konfiguracja ręczna

W Security Cloud:

  1. Skopiuj wartość customerId z domeny — przykład: https://radar.wandera.com/dashboard?customerId=1a2s3d4f5g6h7j8k9l0
  2. Przejdź do Integrations → Risk API w menu po lewej stronie
  3. Kliknij Generate API key
  4. Nadaj kluczowi API nazwę
  5. Skopiuj i zapisz Application ID oraz Secret (pokazane raz) do menedżera haseł

W Jamf Extender

  1. Kliknij ikonę paska narzędzi Jamf Extender
  2. W sekcji Configuration rozwiń sekcję Manual
  3. Wybierz Add new... w pierwszym menu rozwijanym w Portals
  4. Wybierz Security Cloud w Type
  5. Wklej swój customerId do pola Customer ID
  6. Wklej swój Application ID do pola Client ID
  7. Wklej swój Application Secret do pola Client Secret
  8. Wprowadź Admin Email i Password, których używasz do logowania do Security Cloud

Część E: Tworzenie Portal Groups (łączenie systemów)

Portal Groups łączą Twoją instancję Jamf Pro z Protect i/lub Security Cloud, umożliwiając wyszukiwanie urządzeń i wdrożenia między platformami.

Utwórz Portal Group

  1. Kliknij ikonę paska narzędzi Jamf Extender
  2. Przewiń do sekcji „Portal Groups"
  3. Kliknij „Add Group"
  4. Skonfiguruj:
    • Group Name: Opisowa nazwa (np. „Production" lub „Dev Environment")
    • Jamf Pro Instance: Wybierz z menu rozwijanego (musi być najpierw skonfigurowana)
    • Security Cloud Customer ID: (Opcjonalnie) Wybierz, jeśli wdrażasz blokady domen
    • Jamf Protect Instance: (Opcjonalnie) Wybierz, jeśli wdrażasz Prevent Lists
    • ⚠️ Wymagany jest jeden Protect lub Security Cloud dla Portal Group
  5. Kliknij „Add Group"

Przykładowa Portal Group:

Name: Production Environment
Jamf Pro: https://myorg.jamfcloud.com
Security Cloud: Customer ID 12345
Jamf Protect: https://overview.protect.jamfcloud.com

Dlaczego Portal Groups mają znaczenie:

  • Rozszerzenie automatycznie wykrywa, do której instancji Protect/Security Cloud wdrażać
  • Strony szczegółów urządzenia w Jamf Pro pokazują dane między platformami (podatności, zagrożenia itd.)
  • Wdrożenia AI Visibility są automatycznie kierowane do właściwych systemów

Część 1: Pulpit AI Visibility i wdrażanie

Teraz najciekawsza część! Wdróż blokady AI governance z poziomu Jamf Account.

Dostęp do AI Visibility

  1. Przejdź do Jamf Account: account.jamf.com
  2. Zaloguj się swoimi poświadczeniami Jamf
  3. Przejdź do: AI Governance → AI Visibility
  4. Wybierz swoje środowisko (jeśli zarządzasz wieloma)

Co zobaczysz:

  • Licznik „N unique products in use"
  • Karty produktów dla każdego wykrytego narzędzia AI (np. Claude, Cursor, ChatGPT)
  • Każda karta pokazuje:
    • Nazwę produktu i bundle ID
    • Launchers (identyfikatory podpisów dla głównej aplikacji)
    • Commands (identyfikatory podpisów dla procesów pomocniczych)
    • Liczbę zdarzeń w wybranym oknie czasowym

Zrozumienie wskaźników statusu blokad

Jamf Extender wstrzykuje wskaźniki statusu w czasie rzeczywistym, pokazując, co jest już zablokowane:

Przed kliknięciem czegokolwiek szukaj:

  • Zielona pigułka obok produktów: „✓ Block Configured in Protect"
  • Zielona pigułka obok procesów: „✓ Block Configured"
  • Pigułka podsumowania w nagłówku:
    • „✓ All prevent lists configured (N)" — Wszystko jest zablokowane
    • „N of M signing IDs blocked in Protect" — Częściowy zasięg

Wskaźniki te pojawiają się automatycznie — nie jest wymagana żadna konfiguracja. Sprawdzają Twoją instancję Protect w czasie rzeczywistym. Ich pojawienie się przy pierwszym ładowaniu może zająć chwilę.

Wdrażanie blokad (wszystkie produkty)

Aby zablokować wszystkie narzędzia AI wykryte na stronie:

  1. Kliknij przycisk „Configure Additional Blocks"

    • Znajduje się na LEWO od licznika „N unique products in use"
    • Obejmuje WSZYSTKIE produkty na stronie
  2. Sprawdzenie poświadczeń (dzieje się automatycznie):

    • Rozszerzenie ustala Twoją instancję Protect na podstawie UUID środowiska
    • Sprawdza, czy poświadczenia mają możliwość zapisu (nie tylko do odczytu)
    • Jeśli tylko do odczytu: Pokazuje błąd z instrukcjami konfiguracji
    • Jeśli gotowe: Otwiera okno wdrażania
  3. Wybierz, co zablokować:

    Custom Prevent Lists:

    • Produkty są pogrupowane z polami wyboru
    • Każdy produkt ma:
      • ☐ Pole wyboru bundle ID produktu (np. com.anthropic.claudefordesktop)
      • ☐ Jedno pole wyboru na identyfikator podpisu launcher/command ✅ Kluczowe punkty:
    • Zaznaczenie pól wyboru nagłówka zaznaczy wszystkie pola podrzędne
    • Pola podrzędne są NIEZALEŻNE
    • Domyślnie nic nie jest zaznaczone
    • Już zablokowane identyfikatory pokazują zieloną plakietkę „Already blocked"

    Custom Domain Blocks:

    • (Jeśli Security Cloud jest skonfigurowane w Portal Group)
    • Każdy produkt pokazuje swoje znane domeny
    • Zaznacz domeny do zablokowania (np. claude.ai, claude.com)
    • Blokady domen dotyczą punktów końcowych macOS, iOS, iPadOS, VisionOS, Android i Windows
  4. Kliknij „Deploy"

  5. Wyniki:

    • Licznik sukcesu: „Created N Prevent Lists, Skipped M duplicates"
    • Wszelkie już istniejące wpisy są automatycznie pomijane
    • Prevent Lists są natychmiast aktywne we wszystkich wdrożonych Plans

Na ostatnim ekranie będą dostępne przyciski umożliwiające bezpośrednie przejście do Protect lub Security Cloud w celu zobaczenia dodanych blokad

Wdrażanie blokad (pojedynczy produkt)

Aby zablokować tylko jedno narzędzie AI:

  1. Znajdź kartę produktu (np. „Claude")
  2. Kliknij link „Block {Product}"
    • Znajduje się w grupie kontrolek karty (obok wyboru zakresu dni)
  3. Postępuj zgodnie z tym samym przepływem wdrażania co powyżej (ograniczonym tylko do tego produktu)

Na ostatnim ekranie będą dostępne przyciski umożliwiające bezpośrednie przejście do Protect lub Security Cloud w celu zobaczenia dodanych blokad

Weryfikacja wdrożenia

W Jamf Protect:

  1. Przejdź do: Configuration → Prevent Lists
  2. Poszukaj nowych wpisów o nazwach takich jak:
    • „Block AI Tool: com.anthropic.claudefordesktop"
    • „Block AI Tool: com.openai.chatgpt.atlas"
  3. Każdy ma:
    • Type: Custom Prevent List

W Jamf Security Cloud:

  1. Przejdź do: Policies → Content filtering policy → Custom rules
  2. Poszukaj nowych niestandardowych blokad domen
  3. Sprawdź, czy domeny są wymienione i przypisane do grup, do których mają być przypisane

Z powrotem w AI Visibility:

  • Odśwież stronę
  • Zielone plakietki „✓ Block Configured" powinny pojawić się obok wdrożonych elementów

Najlepsze praktyki

1. Używaj opisowych nazw Portal Group

Dobre nazwy: „Production", „Dev - US East", „QA Environment"
Złe nazwy: „Test", „Group 1", „asdf"

Dlaczego: Będziesz mieć wiele Portal Groups, jeśli zarządzasz wieloma środowiskami.

2. Monitoruj skuteczność Prevent List

Po wdrożeniu:

  1. W Jamf Protect: Alerts → View All
  2. Filtruj według: blokad Prevent List
  3. Sprawdź, czy narzędzia AI są faktycznie blokowane

Dlaczego: Potwierdza, że Twoje wdrożenie działa w produkcji.

3. Zezwalanie na wyjątki

Aby zezwolić na konkretne narzędzie AI (np. Claude dla programistów):

Opcja 1 — Nie wdrażaj jego blokad:

  • Po prostu nie zaznaczaj jego pól podczas wdrażania
  • Inne narzędzia zostaną zablokowane, to pozostanie otwarte

Opcja 2 — Usuń Prevent Lists:

  • W Jamf Protect: Configuration → Prevent Lists
  • Znajdź listę „Block AI Tool: com.anthropic.claudefordesktop"
  • Usuń ją
  • Narzędzie jest teraz dozwolone
  • W Jamf Security Cloud → Policies → Content filtering policy → Custom rules
  • Usuń wszelkie reguły, które nie są już potrzebne

Część 2: Wdrażanie zasad AI dla Windows (opcjonalnie)

Poza blokowaniem narzędzi AI na poziomie sieci i procesów, możesz również wdrażać konfiguracje zasad bezpośrednio do aplikacji AI na punktach końcowych Windows. Jest to szczególnie przydatne dla organizacji, które muszą:

  • Konfigurować narzędzia AI z ustawieniami zatwierdzonymi przez organizację (np. zatwierdzone modele, punkty końcowe API, flagi funkcji)
  • Egzekwować spójne konfiguracje we flotach Windows za pomocą MDM
  • Wdrażać Claude Code lub Claude Desktop z zarządzanymi ustawieniami

Co jest wdrażane

Jamf Extender generuje pakiety wdrożeniowe Windows, które zapisują konfiguracje zasad w Rejestrze Windows:

Claude Code:

  • Ścieżka rejestru: HKLM\SOFTWARE\Policies\ClaudeCode\Settings
  • Format: Pojedynczy skompresowany ciąg JSON zawierający wszystkie ustawienia
  • Wdrażany przez: skrypt PowerShell, który waliduje i zapisuje wartość rejestru

Claude Desktop (Claude Cowork):

  • Ścieżka rejestru: HKLM\SOFTWARE\Policies\Claude
  • Format: Jedna wartość rejestru na klucz ustawienia (np. model, temperature)
  • Wdrażany przez: skrypt PowerShell, który zapisuje pojedyncze wartości ciągów

Eksport zasady dla Windows

  1. Przejdź do AI Policies:

    • Przejdź do: AI Governance → AI Policies w Jamf Account
    • Znajdź zasadę, którą chcesz wdrożyć na Windows
  2. Eksport pojedynczej zasady:

    • Kliknij menu trzykropkowe (⋯) obok zasady
    • Wybierz „Export for Windows"
    • Przeglądarka pobiera plik ZIP o nazwie takiej jak: claude-code-windows-deploy.zip
  3. Lub eksport wszystkich zasad (zbiorczo):

    • Kliknij „Download Policies for Windows" na pasku narzędzi
    • Przeglądarka pobiera: ai-policies-windows-deploy.zip
    • Zawiera oddzielne foldery wdrożeniowe dla każdej zasady

Zrozumienie struktury pakietu

Każdy eksport zasady zawiera:

claude-code-windows-deploy/
├── Deploy-ClaudeCode-Registry.ps1        # Device-side registry writer
├── intune/
│   ├── Provision-ClaudeCode-Intune.ps1   # Admin provisioner (PowerShell)
│   └── provision_claudecode_intune.py    # Admin provisioner (Python/MSAL)
├── metadata.json                          # Source policy details
└── README.txt                             # Setup instructions

W przypadku zasad Claude Desktop zobaczysz również:

settings/settings.json                     # Reference copy of settings

W przypadku eksportów zbiorczych:

ai-policies-windows-deploy/
├── policy-1/                              # One folder per policy
│   ├── Deploy-ClaudeCode-Registry.ps1
│   └── intune/...
├── policy-2/
│   ├── Deploy-ClaudeDesktop-Registry.ps1
│   └── intune/...
├── all-policy-import/
│   ├── Import-All-AIPolicies-Intune.ps1   # Multi-policy provisioner
│   └── import_all_aipolicies_intune.py    # Multi-policy provisioner
└── metadata.json                          # Index of all policies

Opcja wdrażania 1: Dowolny MDM (ręczne uruchamianie skryptu)

Skrypty po stronie urządzenia (Deploy-*.ps1) działają z dowolnym MDM, który potrafi uruchamiać skrypty PowerShell.

Kroki:

  1. Wypakuj pakiet ZIP
  2. Przejrzyj Deploy-ClaudeCode-Registry.ps1 lub Deploy-ClaudeDesktop-Registry.ps1
  3. Prześlij skrypt do swojego MDM (Intune, Workspace ONE itd.)
  4. Przypisz do grup urządzeń Windows
  5. Skrypt uruchamia się jako SYSTEM i zapisuje do rejestru

Co robi skrypt:

  • Osadza JSON zasady bezpośrednio w skrypcie
  • Waliduje składnię JSON za pomocą ConvertFrom-Json (natychmiast zgłasza błędy)
  • Tworzy klucz rejestru, jeśli nie istnieje
  • Zapisuje ustawienia do odpowiedniej ścieżki rejestru
  • Kończy z kodem 0 (sukces) lub 1 (niepowodzenie)

Obsługiwane narzędzia MDM:

  • Microsoft Intune (Platform Scripts)
  • VMware Workspace ONE (Scripts & Sensors)
  • Dowolny MDM, który potrafi uruchamiać PowerShell w kontekście SYSTEM

Opcja wdrażania 2: Microsoft Intune (automatyczne provisionowanie)

Provisionery Intune automatyzują proces przesyłania skryptów do Microsoft Intune poprzez Microsoft Graph API.

Wybierz swój provisioner:

Provisioner PowerShell (Provision-*-Intune.ps1)

Wymagania wstępne:

  • Komputer z systemem Windows z PowerShell 5.1+
  • Zainstalowany moduł PowerShell Microsoft.Graph: Install-Module Microsoft.Graph
  • Rola Entra ID Global Administrator lub Intune Administrator

Kroki:

  1. Wypakuj pakiet ZIP
  2. Przejdź do: intune/
  3. Kliknij prawym przyciskiem Provision-ClaudeCode-Intune.ps1Run with PowerShell
  4. Przejrzyj monit potwierdzenia pokazujący:
    • Nazwę i wersję zasady
    • Wymagane uprawnienia Intune
    • Co zostanie utworzone w Intune
  5. Wpisz Y, aby potwierdzić
  6. Przeglądarka otwiera się do interaktywnego logowania Microsoft (obsługuje MFA)
  7. Skrypt uwierzytelnia się i przesyła skrypt po stronie urządzenia do Intune
  8. Skrypt wypisuje: ID skryptu Intune Platform Script i potwierdzenie sukcesu

Kolejne kroki w portalu Intune:

  1. Przejdź do: Devices → Scripts and remediations → Platform scripts
  2. Znajdź nowo utworzony skrypt (np. „Claude Code Policy v1")
  3. Kliknij Assignments → Dodaj grupy urządzeń
  4. Urządzenia w tych grupach otrzymają zasadę przy następnym sprawdzeniu

Provisioner Python/MSAL (provision_*_intune.py)

Dlaczego używać Pythona?

  • Działa na Windows, macOS lub Linux
  • Nie wymaga rejestracji aplikacji
  • Wykorzystuje przepływ OAuth device-code (oparty na przeglądarce, działa z MFA)
  • Brak sekretów do zarządzania

Wymagania wstępne:

pip install msal requests

Kroki:

  1. Wypakuj pakiet ZIP
  2. Przejdź do: intune/
  3. Uruchom: python provision_claudecode_intune.py
  4. Przejrzyj monit potwierdzenia
  5. Wpisz yes, aby potwierdzić
  6. Skrypt wypisuje: „Go to https://microsoft.com/devicelogin and enter code: XXXXXX"
  7. Otwórz przeglądarkę, wprowadź kod, zaloguj się kontem administratora Intune
  8. Skrypt kończy przesyłanie
  9. Przypisz do grup urządzeń w portalu Intune (tak samo jak w przepływie PowerShell)

Zalety:

  • Wieloplatformowość (nie wymaga Windows)
  • Zero nakładu na rejestrację aplikacji
  • Uwierzytelnianie oparte na przeglądarce (znajomy przepływ MFA)
  • Wyłącznie zależności open-source

Zbiorcze wdrażanie zasad (wiele zasad naraz)

Dla organizacji zarządzających wieloma zasadami AI:

Korzystanie z provisionera wszystkich zasad:

  1. Wypakuj ai-policies-windows-deploy.zip
  2. Przejdź do: all-policy-import/
  3. Uruchom jeden z:
    • PowerShell: Import-All-AIPolicies-Intune.ps1
    • Python: python import_all_aipolicies_intune.py
  4. Pojedynczy przepływ uwierzytelniania przesyła wszystkie zasady
  5. Każda zasada staje się osobnym Intune Platform Script

Wynik:

  • Wiele skryptów Intune utworzonych w jednym uruchomieniu
  • Każdy skrypt można przypisać do różnych grup urządzeń
  • Przydatne do wdrażania różnych konfiguracji dla różnych zespołów (np. inżynieria vs. marketing)

Weryfikacja wdrożenia Windows

Na urządzeniu testowym:

  1. Otwórz Edytor rejestru (regedit.exe)
  2. Przejdź do:
    • Claude Code: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\ClaudeCode
    • Claude Desktop: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Claude
  3. Sprawdź, czy wartości rejestru istnieją

Dla Claude Code:

  • Poszukaj wartości o nazwie Settings (REG_SZ)
  • Wartość zawiera skompresowany JSON (bez nowych linii)

Dla Claude Desktop:

  • Wiele wartości, jedna na klucz ustawienia
  • Każda wartość jest ciągiem (nawet dla wartości logicznych/liczbowych)
  1. Uruchom aplikację (Claude Code lub Claude Desktop)
  2. Sprawdź, czy ustawienia są egzekwowane (np. wybór modelu, punkty końcowe API)

Rozwiązywanie problemów:

  • Jeśli brakuje wartości rejestru: Sprawdź dzienniki uruchamiania skryptu MDM
  • Jeśli aplikacja ignoruje ustawienia: Upewnij się, że wersja aplikacji obsługuje zarządzane ustawienia rejestru
  • Jeśli skrypt zawiedzie: Sprawdź metadata.json pod kątem błędów walidacji

Walidacja schematu (tylko Claude Code)

Zasady Claude Code są walidowane względem oficjalnego schematu JSON przed wdrożeniem:

Walidacja odbywa się:

  • W czasie eksportu (w Jamf Extender)
  • W czasie uruchamiania skryptu (PowerShell po stronie urządzenia waliduje składnię JSON)

Co jest walidowane:

  • Niezgodności typów (np. ciąg tam, gdzie oczekiwana jest wartość logiczna)
  • Nieprawidłowe wartości enum (np. nieobsługiwane nazwy modeli)
  • Nieznane klucze konfiguracji
  • Nazewnictwo zmiennych środowiskowych (musi być wielkimi literami, alfanumeryczne + podkreślenia)

Błędy są pokazywane:

  • W przeglądarce podczas eksportu (blokuje pobieranie w przypadku błędów krytycznych)
  • W README.txt po eksporcie (tylko ostrzeżenia)
  • W danych wyjściowych skryptu PowerShell (niepowodzenia parsowania JSON)

Claude Desktop:

  • Brak opublikowanego schematu (wdrażany bez zmian)
  • Administratorzy odpowiadają za walidację ustawień względem dokumentacji Claude Desktop

Najlepsze praktyki wdrażania Windows

1. Testuj przed produkcją

  • Wdróż najpierw do pilotażowej grupy urządzeń
  • Sprawdź, czy wartości rejestru są zapisywane poprawnie
  • Przetestuj zachowanie aplikacji z zarządzanymi ustawieniami

2. Wersjonuj swoje zasady

  • Wersja zasady jest osadzona w nazwie skryptu Intune (np. „Claude Code Policy v2")
  • Aktualizacja zasady tworzy nową wersję
  • Stare wersje pozostają w Intune, chyba że zostaną ręcznie usunięte

3. Używaj opisowych nazw zasad

  • Dobrze: „Claude Code - Engineering Team - GPT-4 Only"
  • Źle: „Policy 1", „Test", „asdf"
  • Nazwa zasady pojawia się na liście Intune Platform Script

4. Zabezpiecz poświadczenia

  • Provisionery Intune używają uwierzytelniania interaktywnego (brak osadzonych poświadczeń)
  • Skrypty po stronie urządzenia zawierają wyłącznie JSON zasady (brak sekretów)
  • Nigdy nie umieszczaj wypakowanych pakietów w systemie kontroli wersji, jeśli zawierają wrażliwe ustawienia

5. Przejrzyj przed wdrożeniem

  • Zawsze sprawdzaj README.txt w pakiecie
  • Przejrzyj błędy/ostrzeżenia walidacji w metadanych
  • Przetestuj składnię skryptu PowerShell na maszynie deweloperskiej przed przesłaniem do MDM

Ograniczenia wdrażania Windows

Czego to NIE robi:

  • Nie instaluje Claude Code ani Claude Desktop (wymaga osobnego wdrożenia)
  • Nie blokuje narzędzi AI na poziomie procesu (do tego użyj Jamf Protect)
  • Nie działa na macOS (użyj profili MDM macOS lub ustawień opartych na plikach)
  • Nie wdraża na punktach końcowych Linux

Tylko rejestr:

  • Ustawienia oparte na plikach (np. settings.json w katalogach aplikacji) NIE są zapisywane
  • Aplikacje muszą odczytywać z lokalizacji zasad w rejestrze
  • Sprawdź, czy wersja Twojej aplikacji obsługuje zarządzane ustawienia oparte na rejestrze

Wsparcie i opinie

Jeśli odkryjesz identyfikatory podpisów dla nieznanych narzędzi:

  1. Uruchom: codesign -dv /Applications/YourApp.app
  2. Zapisz: Bundle ID, Team ID, domeny
  3. Zgłoś problem na GitHub z dołączonym raportem walidacji

Twój wkład pomaga całej społeczności Jamf!

Czy to było pomocne?