SYSTEMD-IMDS(1) systemd-imds SYSTEMD-IMDS(1)

systemd-imds, systemd-imds-import.service - بازیابی و پردازش فراداده از سرویس‌های متادیتای ابری (IMDS)

systemd-imds-import.service

systemd-imds [OPTIONS...] [KEY]

systemd-imds ابزاری برای دریافت داده‌ها از IMDS (سرویس متادیتای نمونه یا Instance Metadata Service) است، که در بسیاری از محیط‌های ابری ارائه می‌شود. این ابزار یک کلاینت برای systemd-imdsd@.service(8) است و دسترسی به داده‌های IMDS را از محیط‌های شل (shell) فراهم می‌کند.

این ابزار می‌تواند در یکی از پنج حالت زیر عمل کند:

•بدون آرگومان‌های مکانی (و بدون سوییچ --well-known=) داده‌های عمومی سرویس IMDS و چند فیلد شناخته‌شده (well-known) به صورت خوانا برای انسان نمایش داده می‌شوند.
•با یک آرگومان مکانی (و بدون --well-known=) داده‌های IMDS که توسط کلید مشخص‌شده ارجاع داده شده‌اند دریافت شده و به صورت پردازش‌نشده در خروجی استاندارد نوشته می‌شوند. کلیدهای IMDS بخشی از نشانی اینترنتی (URL) دریافت IMDS هستند که به نشانی پایه اضافه می‌شوند. کلیدهای IMDS باید با یک اسلش ("/") آغاز شوند. توجه داشته باشید که کلیدهای IMDS معمولاً وابسته به پیاده‌سازی هستند.
•با مشخص کردن گزینه --well-known= (در زیر ببینید)، فیلد شناخته‌شده‌ی مشخص‌شده به صورت پردازش‌نشده در خروجی استاندارد نوشته می‌شود. مفهوم فیلدهای شناخته‌شده، تفاوت‌های پیاده‌سازی IMDS را تا حدی انتزاعی می‌کند و یک رابط یکپارچه برای فیلدهای IMDS ارائه می‌دهد که معمولاً در بسیاری از پیاده‌سازی‌های مختلف وجود دارند، اما با کلیدهای مختص هر پیاده‌سازی در دسترس هستند.
•با مشخص کردن گزینه --userdata (در زیر ببینید)، داده‌های کاربر ("userdata") ارائه‌شده از طریق IMDS در خروجی استاندارد نوشته می‌شوند. در پشت صحنه این شبیه به --well-known=userdata-base، --well-known=userdata یا --well-known=userdata-base64 است. هر یک از این سه مورد به نوبت (به همین ترتیب) بررسی و امتحان می‌شوند و نخستین مورد موجود بازگردانده می‌شود. برای --well-known=userdata-base آیتم داده کاربر "systemd-userdata" درخواست می‌شود. برای --well-known=userdata-base64 داده‌های بازگردانده شده به صورت خودکار رمزگشایی Base64 می‌شوند.
•با مشخص کردن گزینه --import، فیلدهای مختلف شناخته‌شده و داده‌های کاربر به مخزن محلی اطلاعات احراز هویت (credential store) وارد می‌شوند، جایی که از آن‌ها برای پیکربندی و پارامتربندی سیستم استفاده می‌شود. برای جزئیات به زیر مراجعه کنید.

--well-known=, -K

یکی از مقادیر "hostname"، "region"، "zone"، "ipv4-public"، "ipv6-public"، "ssh-key"، "userdata"، "userdata-base"، "userdata-base64" را می‌پذیرد. یک فیلد خاص شناخته‌شده ("well-known") را از IMDS دریافت می‌کند. بسیاری از این فیلدها معمولاً توسط پیاده‌سازی‌های مختلف IMDS پشتیبانی می‌شوند، اما عموماً برخی از فیلدها پشتیبانی نمی‌شوند. توجه داشته باشید که اگر از --well-known=userdata-base استفاده شود، باید یک زیرکلید اضافی به عنوان آرگومان مکانی مشخص شود، که آیتم خاص داده کاربر را برای دریافت تعیین می‌کند.

در نسخه 261 اضافه شد.

--refresh=

یک زمان بر حسب ثانیه را به عنوان آرگومان می‌گیرد و «تازه بودن» مورد نیاز داده‌ها را در صورتی که از داده‌های حافظه پنهان استفاده شود، مشخص می‌کند.

در نسخه 261 اضافه شد.

--cache=

یک مقدار بولی می‌پذیرد. اگر روی false تنظیم شود، حافظه پنهان محلی IMDS غیرفعال می‌شود و داده‌ها همیشه به صورت تازه از نقطه پایانی (endpoint) IMDS دریافت می‌شوند.

در نسخه 261 اضافه شد.

--userdata, -u

داده‌های کاربر IMDS این نمونه را در صورت موجود بودن دریافت می‌کند. برای جزئیات به بالا مراجعه کنید.

در نسخه 261 اضافه شد.

--import

داده‌های IMDS را دریافت کرده و فیلدهای مرتبط را به عنوان اطلاعات احراز هویت (credentials) در /run/credstore/ می‌نویسد. این در حال حاضر شامل موارد زیر است:
•اگر داده‌های کاربر IMDS یک شیء معتبر JSON حاوی فیلد systemd.credentials (با یک آرایه JSON به عنوان مقدار) باشد، پردازش شده و اطلاعات احراز هویت دلخواه فهرست‌شده در آرایه را وارد می‌کند. هر آیتم آرایه باید دارای فیلد name باشد که نام مدرک احراز هویت (credential) را نشان می‌دهد. ممکن است یکی از فیلدهای text، data یا encrypted را داشته باشد که حاوی داده‌های مدرک احراز هویت است. اگر از text استفاده شود، مقدار باید یک رشته تحت‌اللفظی از مقدار مدرک باشد. اگر از data استفاده شود، مقدار می‌تواند داده‌های باینری دلخواه کدگذاری‌شده در یک رشته Base64 باشد. اگر از encrypted استفاده شود، مقدار باید یک مدرک احراز هویت رمزنگاری‌شده با کدگذاری Base64 باشد. برای اطلاعات درباره اطلاعات احراز هویتی که می‌توان از این طریق وارد کرد، به systemd.system-credentials(7) مراجعه کنید.
•اگر فیلد شناخته‌شده‌ی ssh-key موجود باشد، مقدار آن به مدرک احراز هویت ssh.authorized_keys.root وارد خواهد شد.
•اگر فیلد شناخته‌شده‌ی hostname موجود باشد، مقدار آن به مدرک احراز هویت firstboot.hostname وارد خواهد شد.

این دستور توسط systemd-imds-import.service که هنگام بوت اجرا می‌شود فراخوانی می‌گردد.

در نسخه 261 اضافه شد.

-h, --help

یک متن راهنمای کوتاه را چاپ کرده و خارج می‌شود.

--version

اطلاعات نسخه برنامه را نمایش داده و خارج می‌شود.

در صورت موفقیت، 0 بازگردانده می‌شود، و در غیر این صورت یک کد خطای غیر صفر.

systemd(1), systemd-imdsd@.service(8), systemd-imds-generator(8), systemd.system-credentials(7)

systemd 261.2