| CONTAINERS-SIGSTORE-SIGNING-PARAMS.YAML(5) | راهنمای پارامترهای امضای sigstore | CONTAINERS-SIGSTORE-SIGNING-PARAMS.YAML(5) |
نام (NAME)
containers-sigstore-signing-params.yaml - ساختار و سینتکس فایل پارامترهای امضای sigstore
توضیحات (DESCRIPTION)
فایلهای پارامتر امضای Sigstore برای ذخیره گزینههایی استفاده میشوند که ممکن است برای ایجاد امضاهای sigstore مورد نیاز باشند. هیچ مسیر پیشفرضی برای این فایلها وجود ندارد؛ آنها توسط کاربر مدیریت میشوند و به عنوان ورودی برای عملیات امضای تصویر کانتینر استفاده میگردند، مانند skopeo copy --sign-by-sigstore=param-file.yaml یا podman push --sign-by-sigstore=param-file.yaml .
قالب (FORMAT)
فایلهای پارامتر امضای Sigstore از قالب YAML استفاده میکنند.
بسیاری از پارامترها اختیاری هستند، اما فایل باید اطلاعات کافی را برای ایجاد یک امضا مشخص کند؛ بهویژه یک کلید خصوصی یا Fulcio.
امضا با کلیدهای خصوصی (Signing with Private Keys)
- •
- privateKeyFile: path
ایجاد یک امضا با استفاده از کلید خصوصی واقع در path. وجود این فیلد استفاده از کلید خصوصی را فعال میکند.
- •
- privateKeyPassphraseFile: passphrasePath
عبارت عبور (passphrase) مورد نیاز برای استفاده از privateKeyFile را از passphrasePath میخواند. اختیاری: اگر این مقدار تنظیم نشود، کاربر باید عبارت عبور را به صورت تعاملی وارد کند.
امضا با گواهیهای تولید شده توسط Fulcio (Signing with Fulcio-generated Certificates)
به جای یک کلید خصوصی ثابت، فرایند امضا یک جفتکلید کوتاهمدت تولید کرده و از یک سرور Fulcio درخواست میکند تا بر اساس احراز هویت کاربر در یک ارائهدهنده OpenID Connect، گواهی برای آن جفتکلید صادر کند.
برای مشخص کردن Fulcio، یک زیرشیء fulcio شامل یک یا چند کلید زیر درج کنید. علاوه بر این، یک سرور Rekor نیز باید مشخص شود.
- •
- fulcioURL: URL
اجباری. نشانی وب (URL) سرور Fulcio مورد استفاده.
- •
- oidcMode: interactive | deviceGrant | staticToken
اجباری. نحوه دریافت اعتبارنامه (credential) مورد نیاز OpenID Connect را مشخص میکند.
interactive یک مرورگر وب را در همان سیستم باز میکند، یا اگر این امکان وجود نداشته باشد، از کاربر میخواهد مرورگر را به صورت دستی باز کرده و کد ارائه شده را وارد کند. این حالت نیازمند آن است که کاربر بتواند مستقیماً با فرایند امضا تعامل داشته باشد.
deviceGrant از جریان اعطای مجوز دستگاه (RFC 8628) استفاده میکند. این حالت نیازمند آن است که کاربر بتواند متنی که توسط فرایند امضا چاپ میشود را خوانده و در زمان مناسب نسبت به آن اقدام کند.
staticToken یک «ID token» از پیش موجود OpenID Connect را ارائه میدهد که باید به طور جداگانه دریافت شده باشد.
- •
- oidcIssuerURL: URL
برای oidcMode: interactive یا deviceGrant اجباری است. نشانی وب (URL) سرور صادرکننده OpenID Connect برای احراز هویت.
- •
- oidcClientID: client ID
برای oidcMode: interactive یا deviceGrant جهت شناسایی کلاینت هنگام ارتباط با صادرکننده استفاده میشود. اختیاری است اما در این موارد احتمالاً ضروری خواهد بود.
- •
- oidcClientSecret: client secret
برای oidcMode: interactive یا deviceGrant جهت احراز هویت کلاینت هنگام ارتباط با صادرکننده استفاده میشود. اختیاری است.
- •
- oidcIDToken: token
برای oidcMode: staticToken اجباری است. یک توکن شناسایی (ID token) از نوع OpenID Connect که کاربر را شناسایی کرده (و صدور گواهی را مجاز میکند).
ثبت امضا در یک سرور شفافیت Rekor (Recording the Signature to a Rekor Transparency Server)
این مورد میتواند با کلید خصوصی یا Fulcio ترکیب شود. از نظر عملی، این گزینه برای Fulcio الزامی است؛ هنگام استفاده از یک کلید خصوصی ثابت اختیاری است، اما برای سازگاری متقابل با پیکربندی پیشفرض cosign ضروری میباشد.
- •
- rekorURL: URL
نشانی وب (URL) سرور Rekor مورد استفاده.
مثالها (EXAMPLES)
امضا با استفاده از یک کلید خصوصی از پیش موجود (Sign Using a Pre-existing Private Key)
از سرور Rekor «زیرساخت جامعه» (community infrastructure) استفاده میکند.
privateKeyFile: "/home/user/sigstore/private-key.key" privateKeyPassphraseFile: "/mnt/user/sigstore-private-key" rekorURL: "https://rekor.sigstore.dev"
امضا با استفاده از یک گواهی صادر شده توسط Fulcio (Sign Using a Fulcio-Issued Certificate)
از سرورهای Fulcio و Rekor «زیرساخت جامعه»، و صادرکننده Dex OIDC که احراز هویت را به صادرکنندگان بزرگ دیگر مانند Google و GitHub واگذار میکند، استفاده مینماید.
سایر پیکربندیها به احتمال زیاد نیاز به ارائه یک OIDC client secret نیز خواهند داشت.
fulcio: fulcioURL: "https://fulcio.sigstore.dev" oidcMode: "interactive" oidcIssuerURL: "https://oauth2.sigstore.dev/auth" oidcClientID: "sigstore" rekorURL: "https://rekor.sigstore.dev"
همچنین ببینید (SEE ALSO)
| ژانویه 2023 | Miloslav Trmač |