podman-image-sign(1) General Commands Manual podman-image-sign(1)

podman-image-sign - ایجاد امضا برای یک ایمیج

podman image sign [گزینه‌ها] ایمیج [ایمیج ...]

دستور podman image sign یک امضای محلی برای یک یا چند ایمیج محلی که از یک رجیستری دریافت (pull) شده‌اند ایجاد می‌کند. این امضا در دایرکتوری مشتق‌شده از فایل‌های پیکربندی رجیستری در مسیر $HOME/.config/containers/registries.d (در صورت وجود) یا در غیر این صورت /etc/containers/registries.d نوشته می‌شود (مگر اینکه در زمان کامپایل بازتعریف شده باشد)، برای اطلاعات بیشتر به containers-registries.d(5) مراجعه کنید. به‌طور پیش‌فرض، امضا برای کاربر ریشه (root) در /var/lib/containers/sigstore و برای کاربران غیرریشه در $HOME/.local/share/containers/sigstore نوشته می‌شود.

امضای تمامی مانیفست‌های یک ایمیج چندمعماری (پیش‌فرض false).

مسیر فایل احراز هویت. مقدار پیش‌فرض در لینوکس ${XDG_RUNTIME_DIR}/containers/auth.json و در ویندوز/مک $HOME/.config/containers/auth.json است. این فایل توسط podman login ایجاد می‌شود. اگر وضعیت احراز هویت در آنجا یافت نشود، مسیر $HOME/.docker/config.json که با docker login تنظیم می‌شود بررسی خواهد شد.

نکته: همچنین این امکان وجود دارد که با تنظیم متغیر محیطی REGISTRY_AUTH_FILE، مسیر پیش‌فرض فایل احراز هویت را بازتعریف کنید. این کار با دستور export REGISTRY_AUTH_FILE=path انجام‌پذیر است.

استفاده از گواهی‌های موجود در path (*.crt, *.cert, *.key) برای اتصال به رجیستری. (پیش‌فرض: /etc/containers/certs.d) برای جزئیات بیشتر، به containers-certs.d(5) مراجعه کنید. (این گزینه در کلاینت ریموت پادمن، از جمله سیستم‌های مک و ویندوز (به‌جز WSL2) در دسترس نیست).

ذخیره امضاها در دایرکتوری مشخص‌شده. پیش‌فرض: /var/lib/containers/sigstore

چاپ راهنمای نحوه استفاده.

بازتعریف هویت پیش‌فرض امضا.

امضای ایمیج busybox با شناسه هویت foo@bar.com با استفاده از دسته‌کلید (keyring) کاربر و ذخیره امضا در /tmp/signatures/:

$ sudo podman image sign --sign-by foo@bar.com --directory /tmp/signatures docker://privateregistry.example.com/foobar
$ sudo podman image sign --authfile=/tmp/foobar.json --sign-by foo@bar.com --directory /tmp/signatures docker://privateregistry.example.com/foobar

مکان نوشتن (و خواندن) امضاها در فایل‌های پیکربندی مبتنی بر YAML در مسیر /etc/containers/registries.d/ برای کاربر ریشه یا $HOME/.config/containers/registries.d برای کاربران غیرریشه تعریف می‌شود. هنگام امضای یک ایمیج، پادمن از این فایل‌های پیکربندی برای تعیین محل نوشتن امضا بر اساس نام رجیستری مبدا یا مقدار پیش‌فرض فضای ذخیره‌سازی استفاده می‌کند، مگر اینکه با گزینه --directory بازتعریف شده باشد. برای مثال، فایل پیکربندی زیر را در نظر بگیرید:

docker:
  privateregistry.example.com:
    sigstore: file:///var/lib/containers/sigstore

هنگام امضای یک ایمیج که نام رجیستری 'privateregistry.example.com' پیشوند آن است، امضا در زیردایرکتوری‌های /var/lib/containers/sigstore/privateregistry.example.com نوشته می‌شود. استفاده از 'sigstore' همچنین بدین معناست که در عملیات‌های مربوط به دریافت (pull)، امضا از همان مکان خوانده می‌شود.

containers-certs.d(5), containers-registries.d(5)

نوامبر ۲۰۱۸، در ابتدا توسط Qi Wang تدوین شد (qiwan at redhat dot com)