CONTAINERS-SIGSTORE-SIGNING-PARAMS.YAML(5) راهنمای پارامترهای امضای sigstore CONTAINERS-SIGSTORE-SIGNING-PARAMS.YAML(5)

containers-sigstore-signing-params.yaml - ساختار و سینتکس فایل پارامترهای امضای sigstore

فایل‌های پارامتر امضای Sigstore برای ذخیره گزینه‌هایی استفاده می‌شوند که ممکن است برای ایجاد امضاهای sigstore مورد نیاز باشند. هیچ مسیر پیش‌فرضی برای این فایل‌ها وجود ندارد؛ آن‌ها توسط کاربر مدیریت می‌شوند و به عنوان ورودی برای عملیات امضای تصویر کانتینر استفاده می‌گردند، مانند skopeo copy --sign-by-sigstore=param-file.yaml یا podman push --sign-by-sigstore=param-file.yaml .

فایل‌های پارامتر امضای Sigstore از قالب YAML استفاده می‌کنند.

بسیاری از پارامترها اختیاری هستند، اما فایل باید اطلاعات کافی را برای ایجاد یک امضا مشخص کند؛ به‌ویژه یک کلید خصوصی یا Fulcio.

•
privateKeyFile: path

ایجاد یک امضا با استفاده از کلید خصوصی واقع در path. وجود این فیلد استفاده از کلید خصوصی را فعال می‌کند.

•
privateKeyPassphraseFile: passphrasePath

عبارت عبور (passphrase) مورد نیاز برای استفاده از privateKeyFile را از passphrasePath می‌خواند. اختیاری: اگر این مقدار تنظیم نشود، کاربر باید عبارت عبور را به صورت تعاملی وارد کند.

به جای یک کلید خصوصی ثابت، فرایند امضا یک جفت‌کلید کوتاه‌مدت تولید کرده و از یک سرور 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 که کاربر را شناسایی کرده (و صدور گواهی را مجاز می‌کند).

این مورد می‌تواند با کلید خصوصی یا Fulcio ترکیب شود. از نظر عملی، این گزینه برای Fulcio الزامی است؛ هنگام استفاده از یک کلید خصوصی ثابت اختیاری است، اما برای سازگاری متقابل با پیکربندی پیش‌فرض cosign ضروری می‌باشد.

•
rekorURL: URL

نشانی وب (URL) سرور Rekor مورد استفاده.

از سرور Rekor «زیرساخت جامعه» (community infrastructure) استفاده می‌کند.

privateKeyFile: "/home/user/sigstore/private-key.key"
privateKeyPassphraseFile: "/mnt/user/sigstore-private-key"
rekorURL: "https://rekor.sigstore.dev"

از سرورهای 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"

skopeo(1), podman(1)

ژانویه 2023 Miloslav Trmač