| podman-image-trust(1) | General Commands Manual | podman-image-trust(1) |
نام (NAME)
podman-image-trust - مدیریت خطمشی اعتماد به رجیستری ایمیجهای کانتینر
خلاصه دستور (SYNOPSIS)
podman image trust set|show [گزینهها] registry[/repository]
توضیحات (DESCRIPTION)
رجیستریهای مورد اعتماد به عنوان منبع ایمیجهای کانتینر را بر اساس مکان آنها مدیریت میکند. (این گزینه در کلاینت ریموت پادمن، از جمله سیستمهای مک و ویندوز (بهجز WSL2) در دسترس نیست).
مکان بر اساس شیوه انتقال (transport) و میزبان رجیستری ایمیج تعیین میشود. با در نظر گرفتن ایمیج کانتینر docker://docker.io/library/busybox به عنوان مثال، docker شیوه انتقال و docker.io میزبان رجیستری است.
اعتماد در فایل /etc/containers/policy.json تعریف میشود و هنگامی که کاربر برای دریافت (pull) یک ایمیج ریموت از رجیستری تلاش میکند اعمال میگردد. خطمشی اعتماد در policy.json محدوده رجیستری (رجیستری و/یا مخزن) را برای اعتماد توصیف میکند. این سازوکار اعتماد میتواند از کلیدهای عمومی برای ایمیجهای امضاشده استفاده کند.
محدوده اعتماد از خاصترین به عامترین ارزیابی میشود. به عبارت دیگر، یک خطمشی ممکن است:
- برای کل یک رجیستری تعریف شود.
- برای یک مخزن خاص در آن رجیستری تعریف شود.
- برای یک ایمیج امضاشده خاص درون رجیستری تعریف شود.
فهرست زیر نمونههایی از مقادیر معتبر محدوده در policy.json از خاصترین به عامترین است:
docker.io/library/busybox:notlatest
docker.io/library/busybox
docker.io/library
docker.io
اگر هیچ پیکربندیای برای هیچیک از این محدودهها یافت نشود، مقدار پیشفرض (که با استفاده از "default" به جای REGISTRY[/REPOSITORY] مشخص میشود) استفاده خواهد شد.
نوع اعتماد (type) روشی را برای موارد زیر فراهم میکند:
قرار دادن رجیستریها در لیست مجاز ("accept") یا لیست مسدود ("reject")، الزام به امضای ساده ("signedBy")، الزام به امضای sigstore ("sigstoreSigned").
اعتماد را میتوان با استفاده از دستور podman image trust set برای یک محدوده اعتماد موجود بهروزرسانی کرد.
گزینهها (OPTIONS)
--help, -h
چاپ راهنمای نحوه استفاده.
گزینههای set
--pubkeysfile, -f=KEY1
مسیری به یک کلید عمومی برونبریشده در سیستم محلی. مسیرهای کلید در policy.json ارجاع داده میشوند. هر مسیری به یک فایل میتواند استفاده شود اما قرار دادن فایل در /etc/pki/containers توصیه میشود. از این گزینه میتوان چندین بار برای الزام به امضای ایمیج با چندین کلید استفاده کرد. گزینه --pubkeysfile برای انواع signedBy و sigstoreSigned الزامی است.
--signature-policy=path
مسیر فایل خطمشی امضا (policy.json) که پادمن آن را بهروزرسانی میکند. این گزینه برای زیردستور set الزامی است.
--type, -t=value
نوع
اعتماد
برای این
ورودی
خطمشی.
مقادیر
پذیرفتهشده:
signedBy (پیشفرض):
الزام به
امضاهای
ساده به
همراه
فهرست
مربوط به
کلیدهای
عمومی
sigstoreSigned: الزام
به امضاهای
sigstore به همراه
فهرست
مربوط به
کلیدهای
عمومی
accept: عدم
الزام به
هیچگونه
امضایی
برای این
محدوده
رجیستری
reject: عدم
پذیرش
ایمیجها
برای این
محدوده
رجیستری
گزینههای show
--json, -j
خروجی اعتماد در قالب JSON برای پردازش ماشینی
--noheading, -n
حذف سرستونهای جدول از خروجی فهرست.
--raw
خروجی فایل خطمشی اعتماد به صورت JSON خام
--signature-policy=path
مسیر فایل خطمشی امضا (policy.json) برای نمایش. در صورت عدم تعیین، پادمن مسیر خطمشی را از پیکربندی سیستم به همان روشی که خطمشی دریافت ایمیج را انتخاب میکند شناسایی مینماید.
مثالها (EXAMPLES)
پذیرش تمام ایمیجهای بدون امضا از یک رجیستری:
sudo podman image trust set --signature-policy /etc/containers/policy.json --type accept docker.io
تغییر خطمشی اعتماد پیشفرض:
sudo podman image trust set --signature-policy /etc/containers/policy.json -t reject default
نمایش خطمشی اعتماد سیستم:
podman image trust show TRANSPORT NAME TYPE ID STORE all default reject repository docker.io/library accept repository registry.access.redhat.com signed security@redhat.com https://access.redhat.com/webassets/docker/content/sigstore repository registry.redhat.io signed security@redhat.com https://registry.redhat.io/containers/sigstore repository docker.io reject docker-daemon accept
نمایش فایل خطمشی اعتماد:
{
"default": [
{
"type": "reject"
}
],
"transports": {
"docker": {
"docker.io": [
{
"type": "reject"
}
],
"docker.io/library": [
{
"type": "insecureAcceptAnything"
}
],
"registry.access.redhat.com": [
{
"type": "signedBy",
"keyType": "GPGKeys",
"keyPath": "/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release"
}
],
"registry.redhat.io": [
{
"type": "signedBy",
"keyType": "GPGKeys",
"keyPath": "/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release"
}
]
},
"docker-daemon": {
"": [
{
"type": "insecureAcceptAnything"
}
]
}
}
}
نمایش اعتماد به صورت JSON:
[
{
"transport": "all",
"name": "* (default)",
"repo_name": "default",
"type": "reject"
},
{
"transport": "repository",
"name": "docker.io",
"repo_name": "docker.io",
"type": "reject"
},
{
"transport": "repository",
"name": "docker.io/library",
"repo_name": "docker.io/library",
"type": "accept"
},
{
"transport": "repository",
"name": "registry.access.redhat.com",
"repo_name": "registry.access.redhat.com",
"sigstore": "https://access.redhat.com/webassets/docker/content/sigstore",
"type": "signed",
"gpg_id": "security@redhat.com"
},
{
"transport": "repository",
"name": "registry.redhat.io",
"repo_name": "registry.redhat.io",
"sigstore": "https://registry.redhat.io/containers/sigstore",
"type": "signed",
"gpg_id": "security@redhat.com"
},
{
"transport": "docker-daemon",
"type": "accept"
}
]
همچنین ببینید (SEE ALSO)
تاریخچه (HISTORY)
ژانویه
۲۰۱۹،
بهروزرسانیشده
توسط Tom Sweeney (tsweeney at redhat dot com)
دسامبر
۲۰۱۸، در
ابتدا توسط Qi
Wang تدوین شد (qiwan at
redhat dot com)