رفتن به محتوا

پیکربندیِ تنظیماتِ سرورمدیریت‌شده

Claude Code را برای سازمانت به‌صورتِ متمرکز از طریقِ تنظیماتِ تحویل‌شده از سرور پیکربندی کن، بدونِ نیاز به زیرساختِ مدیریتِ دستگاه.

تنظیماتِ سرورمدیریت‌شده به مدیران اجازه می‌دهد Claude Code را به‌صورتِ متمرکز از طریقِ یک رابطِ تحتِ‌وب روی Claude.ai پیکربندی کنند. کلاینت‌های Claude Code به‌صورتِ خودکار این تنظیمات را وقتی کاربران با اعتبارنامه‌ی سازمانیِ خود احرازِ هویت می‌کنند دریافت می‌کنند.

این رویکرد برای سازمان‌هایی طراحی شده که زیرساختِ مدیریتِ دستگاه ندارند، یا نیاز دارند تنظیماتِ کاربرانِ روی دستگاه‌های مدیریت‌نشده را مدیریت کنند.

برای استفاده از تنظیماتِ سرورمدیریت‌شده، به این‌ها نیاز داری:

  • پلنِ Claude for Teams یا Claude for Enterprise
  • Claude Code نسخه‌ی 2.1.38 یا بالاتر برای Claude for Teams، یا نسخه‌ی 2.1.30 یا بالاتر برای Claude for Enterprise
  • دسترسیِ شبکه به api.anthropic.com

انتخاب بینِ تنظیماتِ سرورمدیریت‌شده و endpoint-managed

Section titled “انتخاب بینِ تنظیماتِ سرورمدیریت‌شده و endpoint-managed”

Claude Code از دو رویکرد برای پیکربندیِ متمرکز پشتیبانی می‌کند. تنظیماتِ سرورمدیریت‌شده پیکربندی را از سرورهای Anthropic تحویل می‌دهند. تنظیماتِ endpoint-managed مستقیماً از طریقِ سیاست‌های بومیِ سیستم‌عامل (ترجیحاتِ مدیریت‌شده‌ی macOS، رجیستریِ Windows) یا فایل‌های تنظیماتِ مدیریت‌شده روی دستگاه‌ها مستقر می‌شوند.

رویکردبهترین برایمدلِ امنیتی
تنظیماتِ سرورمدیریت‌شدهسازمان‌های بدونِ MDM، یا کاربرانِ روی دستگاه‌های مدیریت‌نشدهتنظیمات هنگامِ احرازِ هویت از سرورهای Anthropic تحویل می‌شوند
تنظیماتِ endpoint-managedسازمان‌های دارای MDM یا مدیریتِ endpointتنظیمات از طریقِ پروفایل‌های پیکربندیِ MDM، سیاست‌های رجیستری، یا فایل‌های تنظیماتِ مدیریت‌شده به دستگاه‌ها مستقر می‌شوند

اگر دستگاه‌هایت در یک راهکارِ MDM یا مدیریتِ endpoint ثبت شده‌اند، تنظیماتِ endpoint-managed تضمین‌های امنیتیِ قوی‌تری می‌دهند چون فایلِ تنظیمات می‌تواند در سطحِ سیستم‌عامل از تغییرِ کاربر محافظت شود.

پیکربندیِ تنظیماتِ سرورمدیریت‌شده

Section titled “پیکربندیِ تنظیماتِ سرورمدیریت‌شده”

کنسولِ ادمین را باز کن

در Claude.ai، به Admin Settings > Claude Code > Managed settings برو.

تنظیماتت را تعریف کن

پیکربندی‌ات را به‌صورتِ JSON اضافه کن. همه‌ی تنظیماتِ موجود در settings.json پشتیبانی می‌شوند جز آن‌هایی که به تحویلِ سیاستِ سطحِ سیستم‌عامل محدودند؛ آن فهرستِ کوتاه را در محدودیت‌های فعلی ببین. این شامل هوک‌ها، متغیرهای محیطی، و تنظیماتِ فقط‌مدیریتی مثلِ allowManagedPermissionRulesOnly است.

این مثال یک فهرستِ deny دسترسی را اعمال می‌کند، از دورزدنِ دسترسی‌ها توسطِ کاربران جلوگیری می‌کند، و قواعدِ دسترسی را به آن‌هایی که در تنظیماتِ مدیریت‌شده تعریف شده‌اند محدود می‌کند:

{
"permissions": {
"deny": [
"Bash(curl *)",
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)"
],
"disableBypassPermissionsMode": "disable"
},
"allowManagedPermissionRulesOnly": true
}

هوک‌ها همان فرمتِ settings.json را استفاده می‌کنند.

این مثال یک اسکریپتِ ممیزی را پس از هر ویرایشِ فایل در سراسرِ سازمان اجرا می‌کند:

{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{ "type": "command", "command": "/usr/local/bin/audit-edit.sh" }
]
}
]
}
}

برای پیکربندیِ دسته‌بندِ حالتِ auto تا بداند سازمانت به کدام مخزن‌ها، باکت‌ها، و دامنه‌ها اعتماد دارد:

{
"autoMode": {
"environment": [
"Source control: github.example.com/acme-corp and all repos under it",
"Trusted cloud buckets: s3://acme-build-artifacts, gs://acme-ml-datasets",
"Trusted internal domains: *.corp.example.com"
]
}
}

چون هوک‌ها فرمان‌های shell اجرا می‌کنند، کاربران پیش از اعمالِ آن‌ها یک دیالوگِ تأییدِ امنیتی می‌بینند. برای اینکه ورودی‌های autoMode چطور روی آنچه دسته‌بند مسدود می‌کند اثر می‌گذارند و هشدارهای مهم درباره‌ی فیلدهای environment، allow، soft_deny، و hard_deny، پیکربندیِ حالتِ auto را ببین.

ذخیره و مستقر کن

تغییراتت را ذخیره کن. کلاینت‌های Claude Code تنظیماتِ به‌روزشده را در استارتاپِ بعدی یا چرخه‌ی pollِ ساعتیِ خود دریافت می‌کنند.

راستی‌آزماییِ تحویلِ تنظیمات

Section titled “راستی‌آزماییِ تحویلِ تنظیمات”

برای تأیید اینکه تنظیمات اعمال می‌شوند، از یک کاربر بخواه Claude Code را ری‌استارت کند. اگر پیکربندی شاملِ تنظیماتی باشد که دیالوگِ تأییدِ امنیتی را تریگر می‌کنند، کاربر در استارتاپ اعلانی می‌بیند که تنظیماتِ مدیریت‌شده را توصیف می‌کند. همچنین می‌توانی با واداشتنِ یک کاربر به اجرای /permissions برای دیدنِ قواعدِ دسترسیِ مؤثرش، تأیید کنی که قواعدِ دسترسیِ مدیریت‌شده فعال‌اند.

نقش‌های زیر می‌توانند تنظیماتِ سرورمدیریت‌شده را مدیریت کنند:

  • Primary Owner
  • Owner

دسترسی را به افرادِ موردِ اعتماد محدود کن، چون تغییرهای تنظیمات روی همه‌ی کاربرانِ سازمان اعمال می‌شوند.

بیشترِ کلیدهای تنظیمات در هر محدوده‌ای کار می‌کنند. تعدادِ معدودی از کلیدها فقط از تنظیماتِ مدیریت‌شده خوانده می‌شوند و وقتی در فایل‌های تنظیماتِ کاربر یا پروژه گذاشته شوند هیچ اثری ندارند. برای فهرستِ کامل، تنظیماتِ فقط‌مدیریتی را ببین. هر تنظیمی که در آن فهرست نباشد همچنان می‌تواند در تنظیماتِ مدیریت‌شده گذاشته شود و بالاترین اولویت را می‌گیرد.

تنظیماتِ سرورمدیریت‌شده محدودیت‌های زیر را دارند:

  • تنظیمات به‌صورتِ یکدست روی همه‌ی کاربرانِ سازمان اعمال می‌شوند. پیکربندی‌های به‌ازای گروه هنوز پشتیبانی نمی‌شوند.
  • یک فایلِ managed-mcp.json را نمی‌توان از طریقِ تنظیماتِ سرورمدیریت‌شده توزیع کرد. به‌جایش کلیدهای سیاستِ allowedMcpServers و deniedMcpServers را آنجا تحویل بده.
  • تنظیماتِ محدود به منابعِ سیاستِ سطحِ سیستم‌عامل، مثلِ policyHelper و wslInheritsWindowsSettings، رعایت نمی‌شوند. به‌جایش آن‌ها را از طریقِ MDM یا یک فایلِ سیستمیِ managed-settings.json مستقر کن.

تنظیماتِ سرورمدیریت‌شده و تنظیماتِ endpoint-managed هر دو بالاترین لایه را در سلسله‌مراتبِ تنظیماتِ Claude Code اشغال می‌کنند. هیچ لایه‌ی تنظیماتِ دیگری نمی‌تواند آن‌ها را بازنویسی کند، حتی آرگومان‌های خطِ فرمان.

درونِ لایه‌ی مدیریت‌شده، اولین منبعی که یک پیکربندیِ ناتهی تحویل دهد برنده می‌شود. تنظیماتِ سرورمدیریت‌شده اول بررسی می‌شوند، سپس تنظیماتِ endpoint-managed. منابع merge نمی‌شوند: اگر تنظیماتِ سرورمدیریت‌شده هر کلیدی را تحویل دهند، تنظیماتِ endpoint-managed به‌کلی نادیده گرفته می‌شوند. اگر تنظیماتِ سرورمدیریت‌شده هیچ‌چیز تحویل ندهند، تنظیماتِ endpoint-managed اعمال می‌شوند.

اگر پیکربندیِ سرورمدیریت‌شده‌ات را در کنسولِ ادمین پاک کنی به این قصد که به یک plist یا سیاستِ رجیستریِ endpoint-managed عقب‌نشینی کنی، آگاه باش که تنظیماتِ کش‌شده روی ماشین‌های کلاینت تا fetchِ موفقِ بعدی باقی می‌مانند. برای دیدنِ اینکه کدام منبعِ مدیریت‌شده فعال است /status را اجرا کن.

Claude Code تنظیمات را در استارتاپ از سرورهای Anthropic fetch می‌کند و طیِ نشست‌های فعال به‌صورتِ ساعتی برای به‌روزرسانی‌ها poll می‌کند.

اولین اجرا بدونِ تنظیماتِ کش‌شده:

  • Claude Code تنظیمات را به‌صورتِ ناهم‌زمان fetch می‌کند
  • اگر fetch شکست بخورد، Claude Code بدونِ تنظیماتِ مدیریت‌شده ادامه می‌دهد
  • یک پنجره‌ی کوتاه پیش از بارگذاریِ تنظیمات هست که در آن محدودیت‌ها هنوز اعمال نشده‌اند

اجراهای بعدی با تنظیماتِ کش‌شده:

  • تنظیماتِ کش‌شده بلافاصله در استارتاپ اعمال می‌شوند
  • Claude Code تنظیماتِ تازه را در پس‌زمینه fetch می‌کند
  • تنظیماتِ کش‌شده در طولِ خطاهای شبکه باقی می‌مانند

Claude Code به‌روزرسانی‌های تنظیمات را به‌صورتِ خودکار و بدونِ ری‌استارت اعمال می‌کند، جز تنظیماتِ پیشرفته مثلِ پیکربندیِ OpenTelemetry، که برای اثرگذاری به ری‌استارتِ کامل نیاز دارند.

ورودی‌های نامعتبر در تنظیماتِ تحویل‌شده

Section titled “ورودی‌های نامعتبر در تنظیماتِ تحویل‌شده”

محموله‌های تحویل‌شده با همان قواعدِ سایرِ منابعِ مدیریت‌شده با مدارا پارس می‌شوند. وقتی یک محموله شاملِ ورودی‌ای باشد که اعتبارسنجیِ طرحواره را رد می‌کند، Claude Code آن ورودی را حذف می‌کند، یک خطای اعتبارسنجی رو می‌کند، و هر تنظیمِ معتبرِ باقی‌مانده را اعمال می‌کند. برای رفتارِ سطحِ فیلد، از جمله اینکه فیلدهای اعمالِ امنیت چطور رسیدگی می‌شوند، ورودی‌های نامعتبر در تنظیماتِ مدیریت‌شده را ببین. نیازمندِ Claude Code نسخه‌ی v2.1.169 یا بالاتر است.

تحویلِ سرورمدیریت‌شده این رفتارها را اضافه می‌کند:

  • کش در ~/.claude/remote-settings.json محموله‌ی نجات‌یافته را با ورودی‌های نامعتبرِ حذف‌شده ذخیره می‌کند. محموله‌ی خامِ نامعتبر هیچ‌گاه پایدار نمی‌شود.
  • وقتی هیچ فیلدی در محموله قابلِ نجات نباشد، Claude Code آخرین تنظیماتِ کش‌شده‌ی پذیرفته‌شده را نگه می‌دارد و یک خطای کشنده ثبت می‌کند.
  • دیالوگِ تأییدِ امنیتی محموله‌ی نجات‌یافته را ارزیابی می‌کند، پس یک ورودیِ نامعتبرِ حذف‌شده هیچ‌گاه برای تأیید عرضه نمی‌شود و هیچ‌گاه اجرا نمی‌شود.

برای عیب‌یابیِ مسائلِ تحویل، claude --debug-file <path> را اجرا کن و در لاگ دنبالِ Remote settings بگرد. یک تغییرِ محموله را پیش از عرضه به سازمان، با claude doctor روی یک ماشینِ آزمایشی اعتبارسنجی کن.

اعمالِ استارتاپِ fail-closed

Section titled “اعمالِ استارتاپِ fail-closed”

به‌صورتِ پیش‌فرض، اگر fetchِ تنظیماتِ راه‌دور در استارتاپ شکست بخورد، CLI بدونِ تنظیماتِ مدیریت‌شده ادامه می‌دهد. برای محیط‌هایی که این پنجره‌ی کوتاهِ بدونِ‌اعمال پذیرفتنی نیست، forceRemoteSettingsRefresh: true را در تنظیماتِ مدیریت‌شده‌ات تنظیم کن.

وقتی این تنظیم فعال است، CLI در استارتاپ مسدود می‌شود تا تنظیماتِ راه‌دور تازه fetch شوند. اگر fetch شکست بخورد، CLI به‌جای ادامه‌دادن بدونِ سیاست، خارج می‌شود. این تنظیم خودپایدار است: به‌محضِ تحویل از سرور، به‌صورتِ محلی هم کش می‌شود تا استارتاپ‌های بعدی همان رفتار را حتی پیش از اولین fetchِ موفقِ یک نشستِ جدید اعمال کنند.

برای فعال‌کردنِ این، کلید را به پیکربندیِ تنظیماتِ مدیریت‌شده‌ات اضافه کن:

{
"forceRemoteSettingsRefresh": true
}

پیش از فعال‌کردنِ این تنظیم، مطمئن شو سیاست‌های شبکه‌ات اتصال به api.anthropic.com را اجازه می‌دهند. اگر آن endpoint دست‌نیافتنی باشد، CLI در استارتاپ خارج می‌شود و کاربران نمی‌توانند Claude Code را شروع کنند.

از نسخه‌ی v2.1.139، زیرفرمان‌های claude auth مثلِ claude auth login از این بررسی معاف‌اند، پس کاربران می‌توانند وقتی دلیلِ شکستِ fetchِ تنظیمات اعتبارنامه‌های منقضی است دوباره احرازِ هویت کنند.

دیالوگ‌های تأییدِ امنیتی

Section titled “دیالوگ‌های تأییدِ امنیتی”

برخی تنظیمات که می‌توانند خطرهای امنیتی ایجاد کنند، پیش از اعمال نیازمندِ تأییدِ صریحِ کاربرند:

  • تنظیماتِ فرمانِ shell: تنظیماتی که فرمانِ shell اجرا می‌کنند
  • متغیرهای محیطیِ سفارشی: متغیرهایی که در allowlistِ امنِ شناخته‌شده نیستند
  • پیکربندی‌های هوک: هر تعریفِ هوک

وقتی این تنظیمات حضور دارند، کاربران یک دیالوگِ امنیتی می‌بینند که توضیح می‌دهد چه چیزی پیکربندی می‌شود. کاربران باید برای ادامه تأیید کنند. اگر کاربری تنظیمات را رد کند، Claude Code خارج می‌شود.

تنظیماتِ سرورمدیریت‌شده به یک اتصالِ مستقیم به api.anthropic.com نیاز دارند و هنگامِ استفاده از ارائه‌دهندگانِ مدلِ شخصِ‌ثالث در دسترس نیستند:

  • Amazon Bedrock
  • Google Vertex AI
  • Microsoft Foundry
  • endpointهای سفارشیِ API از طریقِ ANTHROPIC_BASE_URL یا LLM gatewayها

رویدادهای لاگِ ممیزی برای تغییرهای تنظیمات از طریقِ API انطباق یا خروجیِ لاگِ ممیزی در دسترس‌اند. برای دسترسی با تیمِ حسابِ Anthropicِ خود تماس بگیر.

رویدادهای ممیزی شاملِ نوعِ اقدامِ انجام‌شده، حساب و دستگاهی که اقدام را انجام داده، و ارجاع به مقادیرِ پیشین و جدید هستند.

تنظیماتِ سرورمدیریت‌شده اعمالِ سیاستِ متمرکز فراهم می‌کنند، اما به‌عنوانِ یک کنترلِ سمتِ‌کلاینت عمل می‌کنند. روی دستگاه‌های مدیریت‌نشده، کاربرانِ دارای دسترسیِ admin یا sudo می‌توانند باینریِ Claude Code، فایل‌سیستم، یا پیکربندیِ شبکه را تغییر دهند.

سناریورفتار
کاربر فایلِ تنظیماتِ کش‌شده را ویرایش می‌کندفایلِ دستکاری‌شده در استارتاپ اعمال می‌شود، اما تنظیماتِ درست در fetchِ بعدیِ سرور بازیابی می‌شوند
کاربر فایلِ تنظیماتِ کش‌شده را حذف می‌کندرفتارِ اولین‌اجرا رخ می‌دهد: تنظیمات به‌صورتِ ناهم‌زمان fetch می‌شوند با یک پنجره‌ی کوتاهِ بدونِ‌اعمال
API در دسترس نیستتنظیماتِ کش‌شده در صورتِ موجودبودن اعمال می‌شوند، در غیرِ این صورت تنظیماتِ مدیریت‌شده تا fetchِ موفقِ بعدی اعمال نمی‌شوند. با forceRemoteSettingsRefresh: true، CLI به‌جای ادامه‌دادن خارج می‌شود، جز برای زیرفرمان‌های claude auth
کاربر با یک سازمانِ دیگر احرازِ هویت می‌کندتنظیمات برای حساب‌های خارج از سازمانِ مدیریت‌شده تحویل نمی‌شوند
کاربر یک ارائه‌دهنده‌ی مدلِ شخصِ‌ثالث پیکربندی می‌کندتنظیماتِ سرورمدیریت‌شده دور زده می‌شوند. این شامل تنظیمِ CLAUDE_CODE_USE_BEDROCK، CLAUDE_CODE_USE_MANTLE، CLAUDE_CODE_USE_VERTEX، CLAUDE_CODE_USE_FOUNDRY، یا یک ANTHROPIC_BASE_URLِ غیرِپیش‌فرض است

برای تشخیصِ تغییرهای پیکربندیِ زمانِ اجرا، از هوک‌های ConfigChange برای لاگ‌کردنِ تغییرات یا مسدودکردنِ تغییرهای غیرمجاز پیش از اثرگذاری استفاده کن.

برای تضمین‌های اعمالِ قوی‌تر، از تنظیماتِ endpoint-managed روی دستگاه‌های ثبت‌شده در یک راهکارِ MDM استفاده کن.

صفحه‌های مرتبط برای مدیریتِ پیکربندیِ Claude Code:

  • Settings: مرجعِ کاملِ پیکربندی شاملِ همه‌ی تنظیماتِ موجود
  • تنظیماتِ endpoint-managed: تنظیماتِ مدیریت‌شده‌ای که توسطِ IT روی دستگاه‌ها مستقر می‌شوند
  • Authentication: راه‌اندازیِ دسترسیِ کاربر به Claude Code
  • Security: محافظت‌های امنیتی و بهترین شیوه‌ها