podman-secret-create(1) General Commands Manual podman-secret-create(1)

podman-secret-create - ایجاد یک سکرت جدید

podman secret create [گزینه‌ها] name file|-

ایجاد یک سکرت (داده محرمانه) با استفاده از ورودی استاندارد یا از محتوای یک فایل.

دستور ایجاد، مسیر یک فایل یا نشانه - را می‌پذیرد که به پودمن اعلام می‌کند سکرت را از ورودی استاندارد (stdin) بخواند.

یک سکرت، قطعه‌ای از داده‌های حساس (blob) است که کانتینر در زمان اجرا به آن نیاز دارد اما در ایمیج یا سیستم کنترل نسخه ذخیره نمی‌شود؛ مانند نام‌های کاربری و گذرواژه‌ها، گواهی‌ها و کلیدهای TLS، کلیدهای SSH یا سایر رشته‌های مهم عمومی یا داده‌های دودویی (تا حجم حداکثر ۵۱۲ کیلوبایت).

سکرت‌ها با دستور podman commit درون ایمیج ذخیره نمی‌شوند و در آرشیو ایجادشده توسط دستور podman export نیز قرار نمی‌گیرند.

سکرت‌ها همچنین می‌توانند برای ذخیره‌سازی گذرواژه‌ها در podman login جهت احراز هویت در رجیستری‌های کانتینر مورد استفاده قرار گیرند.

مشخص کردن درایور سکرت (پیش‌فرض file است).

مشخص کردن گزینه‌های اختصاصی درایور.

خواندن اطلاعات سکرت از متغیر محیطی.

نمایش راهنمای استفاده از دستور.

اگر سکرتی با همین نام از قبل وجود داشته باشد، خطایی بازگردانده نمی‌شود و شناسه سکرت موجود به جای ایجاد یک سکرت جدید بازگردانده می‌شود. نمی‌توان همزمان با --replace استفاده کرد. مقدار پیش‌فرض false است.

تنظیم فراداده برای سکرت (مانند --label mykey=value). این گزینه می‌تواند چندین بار تکرار شود. این برچسب‌ها در podman secret inspect یا podman secret ls قابل مشاهده هستند.

اگر سکرتی با همین نام از قبل موجود باشد، آن را به‌روزرسانی می‌کند. گزینه --replace سکرت‌های درون کانتینرهای موجود را تغییر نمی‌دهد و تنها بر کانتینرهای تازه‌تولیدشده اثر می‌گذارد. نمی‌توان همزمان با --ignore استفاده کرد. مقدار پیش‌فرض false است.

سکرت در یک فایل با دسترسی محافظت‌شده برای خواندن ذخیره می‌شود.

سکرت در یک فایل رمزنگاری‌شده توسط GPG ذخیره می‌شود.

سکرت توسط اسکریپت‌های سفارشی مدیریت می‌شود. یک متغیر محیطی به نام SECRET_ID به اسکریپت‌ها ارسال می‌شود (به جز برای list)، و سکرت‌ها از طریق stdin/stdout (در صورت لزوم) تبادل می‌شوند. گزینه‌های درایور list، lookup، store و delete برای معرفی اسکریپت‌ها به کار می‌روند:

[secrets]
driver = "shell"
[secrets.opts]
list =
lookup =
store =
delete =

ایجاد سکرت مشخص بر پایه یک فایل محلی:

echo -n mysecret > ./secret.txt
$ podman secret create my_secret ./secret.txt

ایجاد سکرت مشخص از طریق ورودی استاندارد (stdin):

$ printf <secret> | podman secret create my_secret -

ایجاد یا جایگزینی دوره‌ای یک سکرت تصادفی امن از نظر رمزنگاری، درست کمتر از حداکثر 512000 بایت از طریق stdin:

openssl rand -base64 378000 | podman secret create --replace my_secret -

اتصال (Mount) امن یک سکرت مبتنی بر فایل محلی در یک کانتینر:

podman run --rm --secret source=my_secret,type=mount,uid=1001,gid=1001,mode=440 docker.io/library/alpine ls -l /run/secrets/my_secret

ایجاد سکرت رمزنگاری‌شده با GPG بر پایه یک فایل محلی با استفاده از درایور pass:

$ podman secret create --driver=pass my_secret ./secret.txt.gpg

ایجاد سکرت از یک متغیر محیطی به نام 'MYSECRET':

$ podman secret create --env=true my_secret MYSECRET

podman(1), podman-secret(1), podman-login(1), podman-run(1)

  • ژانویه ۲۰۲۱، در ابتدا توسط Ashley Cui acui@redhat.com گردآوری شد ⟨mailto:acui@redhat.com⟩
  • فوریه ۲۰۲۴، افزودن مثال ایجاد سکرت از یک متغیر محیطی توسط Brett Calliss brett@obligatory.email ⟨mailto:brett@obligatory.email⟩
  • مه ۲۰۲۵، افزودن مثال ایجاد، چرخش امن و اتصال سکرت توسط Stuart Cardall