{"id":800,"date":"2026-03-25T09:40:55","date_gmt":"2026-03-25T08:40:55","guid":{"rendered":"https:\/\/secure-pipelines.com\/uncategorized\/container-image-signing-tools-compared-cosign-notation-gpg\/"},"modified":"2026-03-25T09:40:55","modified_gmt":"2026-03-25T08:40:55","slug":"container-image-signing-tools-compared-cosign-notation-gpg","status":"publish","type":"post","link":"https:\/\/secure-pipelines.com\/ar\/ci-cd-security\/container-image-signing-tools-compared-cosign-notation-gpg\/","title":{"rendered":"\u0645\u0642\u0627\u0631\u0646\u0629 \u0623\u062f\u0648\u0627\u062a \u062a\u0648\u0642\u064a\u0639 \u0635\u0648\u0631 \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a: Cosign \u0645\u0642\u0627\u0628\u0644 Notation \u0645\u0642\u0627\u0628\u0644 GPG"},"content":{"rendered":"<h2>\u0644\u0645\u0627\u0630\u0627 \u064a\u064f\u0639\u062f\u0651 \u062a\u0648\u0642\u064a\u0639 \u0635\u0648\u0631 \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a \u0623\u0645\u0631\u064b\u0627 \u0645\u0647\u0645\u064b\u0627<\/h2>\n<p>\u0641\u064a \u0643\u0644 \u0645\u0631\u0629 \u062a\u0633\u062d\u0628 \u0641\u064a\u0647\u0627 \u0635\u0648\u0631\u0629 \u062d\u0627\u0648\u064a\u0629 \u0648\u062a\u0646\u0634\u0631\u0647\u0627 \u0641\u064a \u0628\u064a\u0626\u0629 \u0627\u0644\u0625\u0646\u062a\u0627\u062c\u060c \u0641\u0625\u0646\u0643 \u062a\u0645\u0646\u062d \u062b\u0642\u0629 \u0636\u0645\u0646\u064a\u0629 \u0644\u0647\u0630\u0627 \u0627\u0644\u0645\u064f\u062e\u0631\u064e\u062c. \u0644\u0643\u0646 \u0643\u064a\u0641 <em>\u062a\u062a\u062d\u0642\u0642<\/em> \u0645\u0646 \u0623\u0646 \u0627\u0644\u0635\u0648\u0631\u0629 \u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u062a\u0644\u0627\u0639\u0628 \u0628\u0647\u0627\u061f \u0648\u0643\u064a\u0641 \u062a\u062a\u0623\u0643\u062f \u0623\u0646\u0647\u0627 \u0628\u064f\u0646\u064a\u062a \u0641\u0639\u0644\u0627\u064b \u0628\u0648\u0627\u0633\u0637\u0629 \u0645\u0633\u0627\u0631 CI\/CD \u0627\u0644\u062e\u0627\u0635 \u0628\u0643 \u0648\u0644\u064a\u0633 \u0645\u0646 \u0642\u0628\u0644 \u0645\u0647\u0627\u062c\u0645 \u0627\u062e\u062a\u0631\u0642 \u0633\u062c\u0644 \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a\u061f<\/p>\n<p>\u064a\u062d\u0644 \u062a\u0648\u0642\u064a\u0639 \u0635\u0648\u0631 \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a \u0647\u0630\u0647 \u0627\u0644\u0645\u0634\u0643\u0644\u0629 \u0639\u0646 \u0637\u0631\u064a\u0642 \u0625\u0631\u0641\u0627\u0642 \u062a\u0648\u0642\u064a\u0639 \u062a\u0634\u0641\u064a\u0631\u064a \u0628\u0635\u0648\u0631\u0643. \u0642\u0628\u0644 \u0627\u0644\u0646\u0634\u0631\u060c \u064a\u0645\u0643\u0646 \u0644\u0645\u064f\u0646\u0633\u0651\u0642 \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a \u0623\u0648 \u0648\u062d\u062f\u0629 \u0627\u0644\u062a\u062d\u0643\u0645 \u0641\u064a \u0627\u0644\u0642\u0628\u0648\u0644 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0647\u0630\u0627 \u0627\u0644\u062a\u0648\u0642\u064a\u0639\u060c \u0645\u0645\u0627 \u064a\u0636\u0645\u0646 \u062f\u062e\u0648\u0644 \u0627\u0644\u0635\u0648\u0631 \u0627\u0644\u0645\u0648\u062b\u0648\u0642\u0629 \u0648\u0627\u0644\u0645\u0635\u0627\u062f\u0642 \u0639\u0644\u064a\u0647\u0627 \u0641\u0642\u0637 \u0625\u0644\u0649 \u0628\u064a\u0626\u062a\u0643. \u064a\u064f\u0639\u062f\u0651 \u0647\u0630\u0627 \u0631\u0643\u064a\u0632\u0629 \u0623\u0633\u0627\u0633\u064a\u0629 \u0644\u0640<strong>\u0623\u0645\u0646 \u0633\u0644\u0633\u0644\u0629 \u062a\u0648\u0631\u064a\u062f \u0627\u0644\u0628\u0631\u0645\u062c\u064a\u0627\u062a<\/strong> \u0648\u0645\u062a\u0637\u0644\u0628\u064b\u0627 \u0641\u064a \u0623\u064f\u0637\u0631 \u0639\u0645\u0644 \u0645\u062b\u0644 <a href=\"https:\/\/slsa.dev\/\" target=\"_blank\" rel=\"noopener\">SLSA<\/a> \u0648<a href=\"https:\/\/www.nist.gov\/itl\/executive-order-14028-improving-nations-cybersecurity\" target=\"_blank\" rel=\"noopener\">NIST SSDF<\/a>.<\/p>\n<p>\u0644\u0643\u0646 \u0623\u062f\u0648\u0627\u062a \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0644\u064a\u0633\u062a \u0645\u062a\u0633\u0627\u0648\u064a\u0629. \u0627\u0644\u0623\u0633\u0627\u0644\u064a\u0628 \u0627\u0644\u062b\u0644\u0627\u062b\u0629 \u0627\u0644\u0633\u0627\u0626\u062f\u0629 \u0627\u0644\u064a\u0648\u0645 \u2014 <strong>Cosign<\/strong> (\u062c\u0632\u0621 \u0645\u0646 \u0645\u0634\u0631\u0648\u0639 Sigstore)\u060c \u0648<strong>Notation<\/strong> (\u0639\u0645\u064a\u0644 Notary v2)\u060c \u0648<strong>GPG<\/strong> (\u0627\u0644\u0623\u0633\u0644\u0648\u0628 \u0627\u0644\u062a\u0642\u0644\u064a\u062f\u064a) \u2014 \u062a\u0623\u062a\u064a \u0643\u0644 \u0645\u0646\u0647\u0627 \u0628\u0645\u0642\u0627\u064a\u0636\u0627\u062a \u0645\u062e\u062a\u0644\u0641\u0629 \u062c\u0630\u0631\u064a\u064b\u0627 \u0641\u064a \u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d\u060c \u0648\u0627\u0644\u062a\u0643\u0627\u0645\u0644 \u0645\u0639 CI\/CD\u060c \u0648\u0627\u0644\u062a\u0648\u0627\u0641\u0642 \u0645\u0639 \u0627\u0644\u0646\u0638\u0627\u0645 \u0627\u0644\u0628\u064a\u0626\u064a.<\/p>\n<p>\u0641\u064a \u0647\u0630\u0627 \u0627\u0644\u062f\u0644\u064a\u0644\u060c \u0633\u0646\u064f\u062c\u0631\u064a \u0645\u0642\u0627\u0631\u0646\u0629 \u0639\u0645\u0644\u064a\u0629 \u0648\u0645\u0639\u0645\u0651\u0642\u0629 \u0628\u064a\u0646 \u0627\u0644\u0623\u062f\u0648\u0627\u062a \u0627\u0644\u062b\u0644\u0627\u062b \u062d\u062a\u0649 \u062a\u062a\u0645\u0643\u0646 \u0645\u0646 \u0627\u062a\u062e\u0627\u0630 \u0627\u0644\u0642\u0631\u0627\u0631 \u0627\u0644\u0635\u062d\u064a\u062d \u0644\u0645\u0633\u0627\u0631\u0627\u062a \u0639\u0645\u0644\u0643.<\/p>\n<h2>Cosign \u0648\u0646\u0638\u0627\u0645 Sigstore \u0627\u0644\u0628\u064a\u0626\u064a<\/h2>\n<h3>\u0646\u0638\u0631\u0629 \u0639\u0627\u0645\u0629<\/h3>\n<p>Cosign \u0647\u064a \u0623\u062f\u0627\u0629 \u062a\u0648\u0642\u064a\u0639 \u0635\u0648\u0631 \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a \u0645\u0646 <a href=\"https:\/\/www.sigstore.dev\/\" target=\"_blank\" rel=\"noopener\">\u0645\u0634\u0631\u0648\u0639 Sigstore<\/a>\u060c \u0648\u0647\u0648 \u0627\u0644\u0622\u0646 \u0645\u0634\u0631\u0648\u0639 \u0645\u062a\u062e\u0631\u0651\u062c \u062a\u062d\u062a \u0645\u0624\u0633\u0633\u0629 Linux Foundation. \u0645\u0647\u0645\u0629 Sigstore \u0647\u064a \u062c\u0639\u0644 \u062a\u0648\u0642\u064a\u0639 \u0627\u0644\u0628\u0631\u0645\u062c\u064a\u0627\u062a \u0634\u0627\u0626\u0639\u064b\u0627 \u0639\u0628\u0631 \u0625\u0632\u0627\u0644\u0629 \u0623\u0643\u0628\u0631 \u0639\u0627\u0626\u0642: <strong>\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d<\/strong>.<\/p>\n<p>\u064a\u064f\u062e\u0632\u0651\u0646 Cosign \u0627\u0644\u062a\u0648\u0642\u064a\u0639\u0627\u062a \u0643\u0645\u064f\u062e\u0631\u062c\u0627\u062a OCI \u0645\u0628\u0627\u0634\u0631\u0629 \u0628\u062c\u0627\u0646\u0628 \u0627\u0644\u0635\u0648\u0631\u0629 \u0627\u0644\u0645\u0648\u0642\u0651\u0639\u0629 \u0641\u064a \u0646\u0641\u0633 \u0627\u0644\u0633\u062c\u0644. \u0648\u0647\u0630\u0627 \u064a\u0639\u0646\u064a \u0623\u0646\u0647 \u0644\u0627 \u064a\u0648\u062c\u062f \u0646\u0638\u0627\u0645 \u062a\u062e\u0632\u064a\u0646 \u062a\u0648\u0642\u064a\u0639\u0627\u062a \u0645\u0646\u0641\u0635\u0644 \u064a\u062c\u0628 \u0635\u064a\u0627\u0646\u062a\u0647 \u2014 \u0641\u0633\u062c\u0644 \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a \u0627\u0644\u062d\u0627\u0644\u064a (Docker Hub\u060c GitHub Container Registry\u060c AWS ECR\u060c Google Artifact Registry\u060c \u0625\u0644\u062e) \u064a\u0624\u062f\u064a \u062f\u0648\u0631\u064b\u0627 \u0645\u0632\u062f\u0648\u062c\u064b\u0627.<\/p>\n<h3>\u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d \u0645\u0639 Fulcio \u0648Rekor<\/h3>\n<p>\u0627\u0644\u0645\u064a\u0632\u0629 \u0627\u0644\u0623\u0643\u062b\u0631 \u062b\u0648\u0631\u064a\u0629 \u0641\u064a Cosign \u0647\u064a <strong>\u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d<\/strong>. \u0628\u062f\u0644\u0627\u064b \u0645\u0646 \u0625\u062f\u0627\u0631\u0629 \u0645\u0641\u0627\u062a\u064a\u062d \u062a\u0648\u0642\u064a\u0639 \u0637\u0648\u064a\u0644\u0629 \u0627\u0644\u0623\u0645\u062f\u060c \u064a\u062a\u0643\u0627\u0645\u0644 Cosign \u0645\u0639 \u062e\u062f\u0645\u062a\u064a\u0646:<\/p>\n<ul>\n<li><strong>Fulcio<\/strong> \u2014 \u0633\u0644\u0637\u0629 \u0634\u0647\u0627\u062f\u0627\u062a \u062a\u064f\u0635\u062f\u0631 \u0634\u0647\u0627\u062f\u0627\u062a \u062a\u0648\u0642\u064a\u0639 \u0642\u0635\u064a\u0631\u0629 \u0627\u0644\u0623\u0645\u062f \u0628\u0646\u0627\u0621\u064b \u0639\u0644\u0649 \u0647\u0648\u064a\u0629 OpenID Connect (OIDC). \u0641\u064a \u0633\u064a\u0627\u0642 CI\/CD\u060c \u064a\u0643\u0648\u0646 \u0647\u0630\u0627 \u0639\u0627\u062f\u0629\u064b \u0631\u0645\u0632 \u0627\u0644\u0647\u0648\u064a\u0629 \u0645\u0646 \u0645\u0632\u0648\u0651\u062f \u0627\u0644\u0645\u0633\u0627\u0631 (GitHub Actions OIDC\u060c GitLab CI OIDC\u060c \u0625\u0644\u062e).<\/li>\n<li><strong>Rekor<\/strong> \u2014 \u0633\u062c\u0644 \u0634\u0641\u0627\u0641\u064a\u0629 \u063a\u064a\u0631 \u0642\u0627\u0628\u0644 \u0644\u0644\u062a\u063a\u064a\u064a\u0631 \u064a\u064f\u0633\u062c\u0651\u0644 \u0643\u0644 \u062d\u062f\u062b \u062a\u0648\u0642\u064a\u0639. \u064a\u0648\u0641\u0631 \u0647\u0630\u0627 \u0645\u0633\u0627\u0631 \u062a\u062f\u0642\u064a\u0642 \u0645\u0642\u0627\u0648\u0645 \u0644\u0644\u062a\u0644\u0627\u0639\u0628 \u064a\u0648\u0636\u062d \u0645\u0646 \u0648\u0642\u0651\u0639 \u0645\u0627\u0630\u0627 \u0648\u0645\u062a\u0649.<\/li>\n<\/ul>\n<p>\u0645\u0639 \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d\u060c \u064a\u0628\u062f\u0648 \u0633\u064a\u0631 \u0627\u0644\u0639\u0645\u0644 \u0643\u0627\u0644\u062a\u0627\u0644\u064a:<\/p>\n<ol>\n<li>\u064a\u0637\u0644\u0628 \u0645\u0633\u0627\u0631 CI \u0627\u0644\u062e\u0627\u0635 \u0628\u0643 \u0631\u0645\u0632 OIDC \u0645\u0646 \u0645\u0632\u0648\u0651\u062f \u0627\u0644\u0645\u0633\u0627\u0631.<\/li>\n<li>\u064a\u064f\u0642\u062f\u0651\u0645 Cosign \u0647\u0630\u0627 \u0627\u0644\u0631\u0645\u0632 \u0625\u0644\u0649 Fulcio\u060c \u0627\u0644\u0630\u064a \u064a\u064f\u0635\u062f\u0631 \u0634\u0647\u0627\u062f\u0629 \u0642\u0635\u064a\u0631\u0629 \u0627\u0644\u0623\u0645\u062f \u062a\u0631\u0628\u0637 \u0647\u0648\u064a\u0629 \u0627\u0644\u0645\u0633\u0627\u0631 \u0628\u0632\u0648\u062c \u0645\u0641\u0627\u062a\u064a\u062d \u0645\u0624\u0642\u062a.<\/li>\n<li>\u064a\u0648\u0642\u0651\u0639 Cosign \u0645\u0644\u062e\u0635 \u0627\u0644\u0635\u0648\u0631\u0629 \u0628\u0627\u0644\u0645\u0641\u062a\u0627\u062d \u0627\u0644\u062e\u0627\u0635 \u0627\u0644\u0645\u0624\u0642\u062a.<\/li>\n<li>\u064a\u062a\u0645 \u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0648\u0627\u0644\u0634\u0647\u0627\u062f\u0629 \u0641\u064a \u0633\u062c\u0644 \u0627\u0644\u0634\u0641\u0627\u0641\u064a\u0629 Rekor.<\/li>\n<li>\u064a\u062a\u0645 \u0627\u0644\u062a\u062e\u0644\u0635 \u0645\u0646 \u0627\u0644\u0645\u0641\u062a\u0627\u062d \u0627\u0644\u062e\u0627\u0635 \u0627\u0644\u0645\u0624\u0642\u062a \u2014 \u0641\u0647\u0648 \u0644\u0645 \u064a\u0643\u0646 \u0645\u0648\u062c\u0648\u062f\u064b\u0627 \u0633\u0648\u0649 \u0644\u062b\u0648\u0627\u0646\u064d.<\/li>\n<\/ol>\n<p>\u064a\u064f\u0632\u064a\u0644 \u0647\u0630\u0627 \u0641\u0626\u0629 \u0643\u0627\u0645\u0644\u0629 \u0645\u0646 \u0627\u0644\u0645\u0634\u0627\u0643\u0644 \u0627\u0644\u0645\u062a\u0639\u0644\u0642\u0629 \u0628\u062a\u062f\u0648\u064a\u0631 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d \u0648\u062a\u062e\u0632\u064a\u0646\u0647\u0627 \u0648\u0627\u062e\u062a\u0631\u0627\u0642\u0647\u0627. \u0644\u0627 \u064a\u0648\u062c\u062f \u0633\u0631 \u0637\u0648\u064a\u0644 \u0627\u0644\u0623\u0645\u062f \u064a\u062c\u0628 \u062d\u0645\u0627\u064a\u062a\u0647.<\/p>\n<h3>\u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0627\u0644\u0642\u0627\u0626\u0645 \u0639\u0644\u0649 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d<\/h3>\n<p>\u064a\u062f\u0639\u0645 Cosign \u0623\u064a\u0636\u064b\u0627 \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0627\u0644\u062a\u0642\u0644\u064a\u062f\u064a \u0628\u0632\u0648\u062c \u0645\u0641\u0627\u062a\u064a\u062d \u0644\u0644\u0628\u064a\u0626\u0627\u062a \u0627\u0644\u062a\u064a \u0644\u0627 \u064a\u0643\u0648\u0646 \u0641\u064a\u0647\u0627 \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d \u0645\u0645\u0643\u0646\u064b\u0627 (\u0627\u0644\u0634\u0628\u0643\u0627\u062a \u0627\u0644\u0645\u0639\u0632\u0648\u0644\u0629\u060c \u0627\u0644\u0645\u062a\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u062a\u0646\u0638\u064a\u0645\u064a\u0629 \u0644\u062d\u0641\u0638 \u0645\u0641\u0627\u062a\u064a\u062d \u0645\u062d\u062f\u062f\u0629). \u062a\u064f\u0646\u0634\u0626 \u0632\u0648\u062c \u0645\u0641\u0627\u062a\u064a\u062d \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 <code>cosign generate-key-pair<\/code> \u0648\u062a\u0648\u0642\u0651\u0639 \u0628\u0640 <code>cosign sign --key cosign.key<\/code>.<\/p>\n<h3>\u0645\u062b\u0627\u0644 \u0639\u0644\u0649 \u0627\u0644\u062a\u0643\u0627\u0645\u0644 \u0645\u0639 CI\/CD: GitHub Actions<\/h3>\n<pre><code># .github\/workflows\/sign.yml\njobs:\n  sign:\n    runs-on: ubuntu-latest\n    permissions:\n      id-token: write   # Required for keyless signing\n      packages: write   # Required to push signatures to GHCR\n    steps:\n      - uses: sigstore\/cosign-installer@v3\n\n      - name: Sign the container image (keyless)\n        env:\n          COSIGN_EXPERIMENTAL: 1\n        run: |\n          cosign sign --yes ghcr.io\/myorg\/myapp@sha256:abc123...\n\n      - name: Verify the signature\n        run: |\n          cosign verify \\\n            --certificate-oidc-issuer https:\/\/token.actions.githubusercontent.com \\\n            --certificate-identity-regexp https:\/\/github.com\/myorg\/myapp\/.github\/workflows\/* \\\n            ghcr.io\/myorg\/myapp@sha256:abc123...\n<\/code><\/pre>\n<p>\u0635\u0644\u0627\u062d\u064a\u0629 <code>id-token: write<\/code> \u0647\u064a \u0627\u0644\u0639\u0646\u0635\u0631 \u0627\u0644\u062d\u0627\u0633\u0645 \u2014 \u0641\u0647\u064a \u062a\u0633\u0645\u062d \u0644\u0640 GitHub Actions \u0628\u0625\u0635\u062f\u0627\u0631 \u0631\u0645\u0632 OIDC \u0627\u0644\u0630\u064a \u064a\u0633\u062a\u062e\u062f\u0645\u0647 Fulcio \u0644\u0625\u0635\u062f\u0627\u0631 \u0634\u0647\u0627\u062f\u0629 \u0627\u0644\u062a\u0648\u0642\u064a\u0639. \u0644\u0627 \u0623\u0633\u0631\u0627\u0631 \u0644\u0644\u062a\u0647\u064a\u0626\u0629\u060c \u0648\u0644\u0627 \u0645\u0641\u0627\u062a\u064a\u062d \u0644\u0644\u062a\u062e\u0632\u064a\u0646. \u0644\u0644\u0627\u0637\u0644\u0627\u0639 \u0639\u0644\u0649 \u0634\u0631\u062d \u0639\u0645\u0644\u064a \u062a\u0641\u0635\u064a\u0644\u064a\u060c \u0631\u0627\u062c\u0639 <a href=\"https:\/\/secure-pipelines.com\/ar\/ci-cd-security\/lab-signing-verifying-container-images-cosign-github-actions\/\">\u0645\u062e\u062a\u0628\u0631 \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Cosign<\/a>.<\/p>\n<h3>\u0646\u0642\u0627\u0637 \u0627\u0644\u0642\u0648\u0629<\/h3>\n<ul>\n<li>\u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d \u064a\u064f\u0644\u063a\u064a \u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d \u0628\u0627\u0644\u0643\u0627\u0645\u0644 \u0641\u064a CI\/CD<\/li>\n<li>\u0633\u062c\u0644 \u0627\u0644\u0634\u0641\u0627\u0641\u064a\u0629 (Rekor) \u064a\u0648\u0641\u0631 \u0645\u0633\u0627\u0631 \u062a\u062f\u0642\u064a\u0642 \u063a\u064a\u0631 \u0642\u0627\u0628\u0644 \u0644\u0644\u062a\u063a\u064a\u064a\u0631<\/li>\n<li>\u062a\u062e\u0632\u064a\u0646 \u0645\u064f\u062e\u0631\u062c\u0627\u062a OCI \u0627\u0644\u0623\u0635\u0644\u064a \u2014 \u0644\u0627 \u062d\u0627\u062c\u0629 \u0644\u0645\u062e\u0632\u0646 \u062a\u0648\u0642\u064a\u0639\u0627\u062a \u062e\u0627\u0631\u062c\u064a<\/li>\n<li>\u062a\u062d\u0642\u0642 \u063a\u0646\u064a \u0628\u0627\u0644\u0633\u064a\u0627\u0633\u0627\u062a \u0645\u0639 \u0645\u0637\u0627\u0628\u0642\u0629 \u0647\u0648\u064a\u0629 \u0627\u0644\u0634\u0647\u0627\u062f\u0629<\/li>\n<li>\u062f\u0639\u0645 \u0648\u0627\u0633\u0639 \u0644\u0644\u0646\u0638\u0627\u0645 \u0627\u0644\u0628\u064a\u0626\u064a (Kyverno\u060c OPA Gatekeeper\u060c \u0648\u062d\u062f\u0627\u062a \u062a\u062d\u0643\u0645 \u0633\u064a\u0627\u0633\u0627\u062a Kubernetes)<\/li>\n<li>\u0645\u062c\u062a\u0645\u0639 \u0645\u0641\u062a\u0648\u062d \u0627\u0644\u0645\u0635\u062f\u0631 \u0646\u0634\u0637 \u0648\u0645\u0645\u0648\u0644 \u062c\u064a\u062f\u064b\u0627<\/li>\n<\/ul>\n<h3>\u0627\u0644\u0642\u064a\u0648\u062f<\/h3>\n<ul>\n<li>\u0648\u0636\u0639 \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d \u064a\u062a\u0637\u0644\u0628 \u0627\u062a\u0635\u0627\u0644\u0627\u064b \u0628\u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a \u0644\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 Fulcio \u0648Rekor (\u0635\u0639\u0628 \u0644\u0644\u0628\u064a\u0626\u0627\u062a \u0627\u0644\u0645\u0639\u0632\u0648\u0644\u0629)<\/li>\n<li>\u0627\u0644\u062a\u062d\u0642\u0642 \u0641\u064a \u0627\u0644\u0628\u064a\u0626\u0627\u062a \u0627\u0644\u0645\u0639\u0632\u0648\u0644\u0629 \u064a\u062a\u0637\u0644\u0628 \u0646\u0633\u062e \u0633\u062c\u0644 \u0627\u0644\u0634\u0641\u0627\u0641\u064a\u0629 \u0645\u062d\u0644\u064a\u064b\u0627<\/li>\n<li>\u0645\u0634\u0631\u0648\u0639 \u062d\u062f\u064a\u062b \u0646\u0633\u0628\u064a\u064b\u0627 \u0645\u0642\u0627\u0631\u0646\u0629 \u0628\u0640 GPG (\u0631\u063a\u0645 \u0623\u0646\u0647 \u0627\u0644\u0622\u0646 \u0645\u0633\u062a\u0642\u0631 \u0648\u0645\u062a\u062e\u0631\u0651\u062c)<\/li>\n<\/ul>\n<h2>Notation \u0648Notary v2<\/h2>\n<h3>\u0646\u0638\u0631\u0629 \u0639\u0627\u0645\u0629<\/h3>\n<p><a href=\"https:\/\/notaryproject.dev\/\" target=\"_blank\" rel=\"noopener\">Notation<\/a> \u0647\u0648 \u0639\u0645\u064a\u0644 \u0633\u0637\u0631 \u0627\u0644\u0623\u0648\u0627\u0645\u0631 \u0644\u0645\u0648\u0627\u0635\u0641\u0629 Notary v2\u060c \u0648\u0647\u0648 \u0645\u0634\u0631\u0648\u0639 CNCF \u0645\u062f\u0639\u0648\u0645 \u0628\u0634\u0643\u0644 \u0623\u0633\u0627\u0633\u064a \u0645\u0646 Microsoft \u0648AWS. \u062d\u064a\u062b \u0635\u064f\u0645\u0645 Cosign \u062e\u0635\u064a\u0635\u064b\u0627 \u0644\u0646\u0638\u0627\u0645 Sigstore \u0627\u0644\u0628\u064a\u0626\u064a\u060c \u0635\u064f\u0645\u0645 Notation \u0644\u0644\u062a\u0643\u0627\u0645\u0644 \u0645\u0639 \u0627\u0644\u0628\u0646\u064a\u0629 \u0627\u0644\u062a\u062d\u062a\u064a\u0629 \u0644\u0644\u0645\u0641\u0627\u062a\u064a\u062d \u0627\u0644\u0639\u0627\u0645\u0629 (PKI) \u0627\u0644\u0645\u0624\u0633\u0633\u064a\u0629 \u0648\u0633\u064a\u0631 \u0639\u0645\u0644 \u0634\u0647\u0627\u062f\u0627\u062a X.509 \u0627\u0644\u062d\u0627\u0644\u064a\u0629.<\/p>\n<p>\u064a\u0633\u062a\u062e\u062f\u0645 Notation \u062a\u0648\u0642\u064a\u0639\u0627\u062a <strong>COSE (CBOR Object Signing and Encryption)<\/strong> \u0627\u0644\u0645\u064f\u062e\u0632\u0651\u0646\u0629 \u0643\u0645\u064f\u062e\u0631\u062c\u0627\u062a OCI \u0645\u0631\u0641\u0642\u0629 \u0628\u0627\u0644\u0635\u0648\u0631\u0629 \u0627\u0644\u0645\u0648\u0642\u0651\u0639\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0645\u0648\u0627\u0635\u0641\u0629 <a href=\"https:\/\/oras.land\/\" target=\"_blank\" rel=\"noopener\">ORAS<\/a> (OCI Registry As Storage). \u0645\u062b\u0644 Cosign\u060c \u064a\u0639\u0646\u064a \u0647\u0630\u0627 \u0623\u0646 \u0627\u0644\u062a\u0648\u0642\u064a\u0639\u0627\u062a \u062a\u0639\u064a\u0634 \u0641\u064a \u0633\u062c\u0644 OCI \u0628\u062c\u0627\u0646\u0628 \u0627\u0644\u0635\u0648\u0631.<\/p>\n<h3>\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d \u0639\u0628\u0631 \u0627\u0644\u0625\u0636\u0627\u0641\u0627\u062a<\/h3>\n<p>\u064a\u0633\u062a\u062e\u062f\u0645 Notation \u0628\u0646\u064a\u0629 \u0625\u0636\u0627\u0641\u0627\u062a \u0644\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d. \u0628\u062f\u0644\u0627\u064b \u0645\u0646 \u0627\u0644\u062a\u0639\u0627\u0645\u0644 \u0645\u0639 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d \u0645\u0628\u0627\u0634\u0631\u0629\u060c \u064a\u064f\u0641\u0648\u0651\u0636 \u0627\u0644\u0623\u0645\u0631 \u0625\u0644\u0649 \u0625\u0636\u0627\u0641\u0627\u062a \u062a\u062a\u0648\u0627\u0635\u0644 \u0645\u0639 \u062e\u0632\u0627\u0626\u0646 \u0645\u0641\u0627\u062a\u064a\u062d \u062e\u0627\u0631\u062c\u064a\u0629:<\/p>\n<ul>\n<li><strong>\u0625\u0636\u0627\u0641\u0629 Azure Key Vault<\/strong> \u2014 \u062a\u0648\u0642\u0651\u0639 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0645\u0641\u0627\u062a\u064a\u062d \u0645\u064f\u062e\u0632\u0651\u0646\u0629 \u0641\u064a Azure Key Vault.<\/li>\n<li><strong>\u0625\u0636\u0627\u0641\u0629 AWS Signer<\/strong> \u2014 \u062a\u0633\u062a\u062e\u062f\u0645 AWS Signer\u060c \u0648\u0647\u064a \u062e\u062f\u0645\u0629 \u062a\u0648\u0642\u064a\u0639 \u0645\u064f\u062f\u0627\u0631\u0629 \u0628\u0627\u0644\u0643\u0627\u0645\u0644.<\/li>\n<li><strong>\u0625\u0636\u0627\u0641\u0629 HashiCorp Vault<\/strong> \u2014 \u062a\u062a\u0643\u0627\u0645\u0644 \u0645\u0639 \u0645\u062d\u0631\u0643 \u0623\u0633\u0631\u0627\u0631 Transit \u0641\u064a Vault.<\/li>\n<\/ul>\n<p>\u0646\u0645\u0648\u0630\u062c \u0627\u0644\u0625\u0636\u0627\u0641\u0627\u062a \u0647\u0630\u0627 \u0645\u0646\u0627\u0633\u0628 \u0628\u0634\u0643\u0644 \u0637\u0628\u064a\u0639\u064a \u0644\u0644\u0645\u0624\u0633\u0633\u0627\u062a \u0627\u0644\u062a\u064a \u0644\u062f\u064a\u0647\u0627 \u0628\u0627\u0644\u0641\u0639\u0644 \u0625\u062f\u0627\u0631\u0629 \u0645\u0641\u0627\u062a\u064a\u062d \u0645\u0631\u0643\u0632\u064a\u0629 \u0648\u0628\u0646\u064a\u0629 \u062a\u062d\u062a\u064a\u0629 PKI. \u0645\u0641\u062a\u0627\u062d \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0644\u0627 \u064a\u063a\u0627\u062f\u0631 \u0623\u0628\u062f\u064b\u0627 HSM \u0623\u0648 KMS \u0627\u0644\u0633\u062d\u0627\u0628\u064a \u2014 \u064a\u064f\u0631\u0633\u0644 Notation \u0627\u0644\u0645\u0644\u062e\u0635 \u0625\u0644\u0649 \u0627\u0644\u0625\u0636\u0627\u0641\u0629\u060c \u0648\u062a\u064f\u0639\u064a\u062f \u0627\u0644\u0625\u0636\u0627\u0641\u0629 \u0627\u0644\u062a\u0648\u0642\u064a\u0639.<\/p>\n<h3>\u0633\u064a\u0627\u0633\u0627\u062a \u0627\u0644\u062b\u0642\u0629 \u0648\u0645\u062e\u0627\u0632\u0646 \u0627\u0644\u062b\u0642\u0629<\/h3>\n<p>\u064a\u0633\u062a\u062e\u062f\u0645 Notation \u0646\u0638\u0627\u0645 <strong>\u0633\u064a\u0627\u0633\u0629 \u062b\u0642\u0629<\/strong> \u0642\u0627\u0626\u0645 \u0639\u0644\u0649 JSON \u0644\u0644\u062a\u062d\u0642\u0642. \u062a\u064f\u062d\u062f\u062f \u0627\u0644\u0633\u062c\u0644\u0627\u062a \u0648\u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639\u0627\u062a \u0648\u0627\u0644\u0635\u0648\u0631 \u0627\u0644\u062a\u064a \u062a\u062b\u0642 \u0628\u0647\u0627 \u0648\u0627\u0644\u0634\u0647\u0627\u062f\u0627\u062a \u0623\u0648 \u0633\u0644\u0627\u0633\u0644 \u0627\u0644\u0634\u0647\u0627\u062f\u0627\u062a \u0627\u0644\u0645\u0635\u0631\u0651\u062d \u0644\u0647\u0627 \u0628\u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0639\u0644\u064a\u0647\u0627. \u0647\u0630\u0627 \u0623\u0645\u0631 \u0642\u0648\u064a \u0644\u0633\u064a\u0646\u0627\u0631\u064a\u0648\u0647\u0627\u062a \u0627\u0644\u062d\u0648\u0643\u0645\u0629 \u0627\u0644\u0645\u0624\u0633\u0633\u064a\u0629 \u062d\u064a\u062b \u064a\u0643\u0648\u0646 \u0644\u062f\u0649 \u0627\u0644\u0641\u0631\u0642 \u0627\u0644\u0645\u062e\u062a\u0644\u0641\u0629 \u0633\u0644\u0637\u0627\u062a \u062a\u0648\u0642\u064a\u0639 \u0645\u062e\u062a\u0644\u0641\u0629.<\/p>\n<pre><code>\/\/ trustpolicy.json\n{\n  \"version\": \"1.0\",\n  \"trustPolicies\": [\n    {\n      \"name\": \"production-images\",\n      \"registryScopes\": [\"registry.example.com\/prod\/*\"],\n      \"signatureVerification\": {\n        \"level\": \"strict\"\n      },\n      \"trustStores\": [\"ca:production-ca\"],\n      \"trustedIdentities\": [\"x509.subject: CN=prod-signer, O=MyOrg\"]\n    }\n  ]\n}\n<\/code><\/pre>\n<h3>\u0645\u062b\u0627\u0644 \u0639\u0644\u0649 \u0627\u0644\u062a\u0643\u0627\u0645\u0644 \u0645\u0639 CI\/CD: GitHub Actions \u0645\u0639 AWS Signer<\/h3>\n<pre><code># .github\/workflows\/notation-sign.yml\njobs:\n  sign:\n    runs-on: ubuntu-latest\n    permissions:\n      id-token: write  # For AWS OIDC federation\n    steps:\n      - name: Configure AWS credentials\n        uses: aws-actions\/configure-aws-credentials@v4\n        with:\n          role-to-assume: arn:aws:iam::123456789012:role\/signer-role\n          aws-region: us-east-1\n\n      - name: Setup Notation\n        uses: notaryproject\/notation-action\/setup@v1\n\n      - name: Install AWS Signer plugin\n        run: |\n          notation plugin install \\\n            --url https:\/\/d2hvyiie56hcat.cloudfront.net\/linux\/amd64\/plugin\/latest\/notation-aws-signer-plugin.zip\n\n      - name: Sign the container image\n        run: |\n          notation sign \\\n            --plugin com.amazonaws.signer.notation.plugin \\\n            --id arn:aws:signer:us-east-1:123456789012:\/signing-profiles\/MyProfile \\\n            registry.example.com\/myapp@sha256:abc123...\n<\/code><\/pre>\n<h3>\u0646\u0642\u0627\u0637 \u0627\u0644\u0642\u0648\u0629<\/h3>\n<ul>\n<li>\u0628\u0646\u064a\u0629 \u0625\u0636\u0627\u0641\u0627\u062a \u0645\u0644\u0627\u0626\u0645\u0629 \u0644\u0644\u0645\u0624\u0633\u0633\u0627\u062a \u062a\u062a\u0643\u0627\u0645\u0644 \u0645\u0639 PKI \u0648KMS \u0627\u0644\u062d\u0627\u0644\u064a\u064a\u0646<\/li>\n<li>\u0625\u0637\u0627\u0631 \u0633\u064a\u0627\u0633\u0629 \u062b\u0642\u0629 \u063a\u0646\u064a \u0644\u0644\u062a\u062d\u0642\u0642 \u0627\u0644\u062f\u0642\u064a\u0642 \u0639\u0644\u0649 \u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u0633\u062c\u0644\u0627\u062a<\/li>\n<li>\u062a\u0646\u0633\u064a\u0642 \u062a\u0648\u0642\u064a\u0639 COSE \u0647\u0648 \u0645\u0639\u064a\u0627\u0631 IETF \u0631\u0627\u0633\u062e<\/li>\n<li>\u062f\u0639\u0645 \u0642\u0648\u064a \u0645\u0646 Microsoft (Azure) \u0648AWS<\/li>\n<li>\u0645\u0635\u0645\u0645 \u0644\u0644\u0645\u0624\u0633\u0633\u0627\u062a \u0630\u0627\u062a \u0633\u064a\u0631 \u0639\u0645\u0644 \u0634\u0647\u0627\u062f\u0627\u062a X.509 \u0627\u0644\u062d\u0627\u0644\u064a\u0629<\/li>\n<li>\u0627\u0644\u062a\u062d\u0642\u0642 \u062f\u0648\u0646 \u0627\u062a\u0635\u0627\u0644 \u0633\u0647\u0644 \u2014 \u062a\u062d\u062a\u0627\u062c \u0641\u0642\u0637 \u0644\u0634\u0647\u0627\u062f\u0627\u062a \u0645\u062e\u0632\u0646 \u0627\u0644\u062b\u0642\u0629<\/li>\n<\/ul>\n<h3>\u0627\u0644\u0642\u064a\u0648\u062f<\/h3>\n<ul>\n<li>\u0644\u0627 \u064a\u0648\u062c\u062f \u062a\u0648\u0642\u064a\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d \u2014 \u064a\u062c\u0628 \u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0634\u0647\u0627\u062f\u0627\u062a \u0648\u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d (\u062d\u062a\u0649 \u0644\u0648 \u0641\u064f\u0648\u0651\u0636\u062a \u0625\u0644\u0649 KMS)<\/li>\n<li>\u0644\u0627 \u064a\u0648\u062c\u062f \u0645\u0643\u0627\u0641\u0626 \u0645\u062f\u0645\u062c \u0644\u0633\u062c\u0644 \u0627\u0644\u0634\u0641\u0627\u0641\u064a\u0629<\/li>\n<li>\u0646\u0638\u0627\u0645 \u0627\u0644\u0625\u0636\u0627\u0641\u0627\u062a \u0644\u0627 \u064a\u0632\u0627\u0644 \u064a\u0646\u0645\u0648\u061b \u0625\u0636\u0627\u0641\u0627\u062a \u0623\u0642\u0644 \u0645\u0646 \u0646\u0642\u0627\u0637 \u062a\u0643\u0627\u0645\u0644 Cosign<\/li>\n<li>\u0645\u062c\u062a\u0645\u0639 \u0623\u0635\u063a\u0631 \u0648\u062f\u0631\u0648\u0633 \u062a\u0639\u0644\u064a\u0645\u064a\u0629 \u0623\u0642\u0644 \u0645\u0642\u0627\u0631\u0646\u0629 \u0628\u0640 Cosign<\/li>\n<li>\u062a\u0647\u064a\u0626\u0629 \u0633\u064a\u0627\u0633\u0629 \u0627\u0644\u062b\u0642\u0629 \u064a\u0645\u0643\u0646 \u0623\u0646 \u062a\u0643\u0648\u0646 \u0645\u0639\u0642\u062f\u0629 \u0644\u062d\u0627\u0644\u0627\u062a \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0628\u0633\u064a\u0637\u0629<\/li>\n<\/ul>\n<h2>GPG: \u0627\u0644\u0623\u0633\u0644\u0648\u0628 \u0627\u0644\u062a\u0642\u0644\u064a\u062f\u064a<\/h2>\n<h3>\u0646\u0638\u0631\u0629 \u0639\u0627\u0645\u0629<\/h3>\n<p>GPG (GNU Privacy Guard) \u0647\u0648 \u0627\u0644\u0645\u062e\u0636\u0631\u0645 \u0641\u064a \u0639\u0627\u0644\u0645 \u0627\u0644\u062a\u0648\u0642\u064a\u0639. \u0642\u0628\u0644 \u0648\u0642\u062a \u0637\u0648\u064a\u0644 \u0645\u0646 \u0648\u062c\u0648\u062f \u0623\u062f\u0648\u0627\u062a \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0627\u0644\u0623\u0635\u0644\u064a\u0629 \u0644\u0644\u062d\u0627\u0648\u064a\u0627\u062a\u060c \u0643\u0627\u0646 GPG \u064a\u064f\u0633\u062a\u062e\u062f\u0645 \u0644\u062a\u0648\u0642\u064a\u0639 \u0643\u0644 \u0634\u064a\u0621 \u0645\u0646 \u0627\u0644\u0628\u0631\u064a\u062f \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a \u0625\u0644\u0649 Git commits \u0625\u0644\u0649 \u062d\u0632\u0645 Linux. \u0644\u0627 \u062a\u0632\u0627\u0644 \u0628\u0639\u0636 \u0627\u0644\u0641\u0631\u0642 \u062a\u0633\u062a\u062e\u062f\u0645 GPG \u0644\u062a\u0648\u0642\u064a\u0639 \u0635\u0648\u0631 \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a\u060c \u062e\u0627\u0635\u0629 \u0645\u0646 \u062e\u0644\u0627\u0644 \u0623\u062f\u0648\u0627\u062a \u0645\u062b\u0644 Docker Content Trust (DCT) \u0623\u0648 \u0639\u0646 \u0637\u0631\u064a\u0642 \u062a\u0648\u0642\u064a\u0639 \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0635\u0648\u0631 \u062e\u0627\u0631\u062c \u0627\u0644\u0646\u0637\u0627\u0642.<\/p>\n<h3>\u0643\u064a\u0641 \u064a\u0639\u0645\u0644 \u062a\u0648\u0642\u064a\u0639 GPG \u0644\u0644\u062d\u0627\u0648\u064a\u0627\u062a<\/h3>\n<p>\u064a\u062a\u0628\u0639 \u062a\u0648\u0642\u064a\u0639 \u062d\u0627\u0648\u064a\u0627\u062a GPG \u0639\u0627\u062f\u0629\u064b \u0623\u062d\u062f \u0646\u0645\u0637\u064a\u0646:<\/p>\n<ul>\n<li><strong>\u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u062e\u0627\u0631\u062c \u0627\u0644\u0646\u0637\u0627\u0642:<\/strong> \u062a\u0635\u062f\u064a\u0631 \u0628\u064a\u0627\u0646 \u0627\u0644\u0635\u0648\u0631\u0629 \u0623\u0648 \u0645\u0644\u062e\u0635\u0647\u0627\u060c \u0648\u062a\u0648\u0642\u064a\u0639\u0647 \u0628\u0640 <code>gpg --detach-sign<\/code>\u060c \u0648\u062a\u062e\u0632\u064a\u0646 \u0645\u0644\u0641 <code>.sig<\/code> \u0628\u062c\u0627\u0646\u0628 \u0627\u0644\u0635\u0648\u0631\u0629 (\u0641\u064a \u0645\u062e\u0632\u0646 \u0645\u064f\u062e\u0631\u062c\u0627\u062a \u0645\u0646\u0641\u0635\u0644\u060c \u0623\u0648 S3 bucket\u060c \u0623\u0648 \u0645\u0633\u062a\u0648\u062f\u0639 Git).<\/li>\n<li><strong>\u062a\u0643\u0627\u0645\u0644 Podman\/Skopeo:<\/strong> \u064a\u062f\u0639\u0645 Podman \u0648Skopeo \u062a\u0648\u0642\u064a\u0639\u0627\u062a GPG \u0623\u0635\u0644\u0627\u064b. \u062a\u064f\u062e\u0632\u0651\u0646 \u0627\u0644\u062a\u0648\u0642\u064a\u0639\u0627\u062a \u0639\u0644\u0649 \u062e\u0627\u062f\u0645 \u062a\u0648\u0642\u064a\u0639\u0627\u062a \u0645\u0646\u0641\u0635\u0644 (\u062e\u0627\u062f\u0645 \u0648\u064a\u0628 \u064a\u0642\u062f\u0645 \u062a\u0648\u0642\u064a\u0639\u0627\u062a \u0645\u0646\u0641\u0635\u0644\u0629) \u0648\u064a\u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646\u0647\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u062d\u0628 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0645\u0644\u0641 \u0633\u064a\u0627\u0633\u0629 (<code>\/etc\/containers\/policy.json<\/code>).<\/li>\n<\/ul>\n<p>\u064a\u0633\u062a\u062e\u062f\u0645 Docker Content Trust (DCT) \u0623\u0633\u0644\u0648\u0628\u064b\u0627 \u0645\u0631\u062a\u0628\u0637\u064b\u0627 \u0648\u0644\u0643\u0646 \u0645\u0645\u064a\u0632\u064b\u0627 \u064a\u0639\u062a\u0645\u062f \u0639\u0644\u0649 The Update Framework (TUF)\u060c \u0645\u0639 Notary v1 \u0643\u0648\u0627\u062c\u0647\u0629 \u062e\u0644\u0641\u064a\u0629. \u0628\u064a\u0646\u0645\u0627 \u064a\u0633\u062a\u062e\u062f\u0645 DCT \u0628\u062f\u0627\u0626\u064a\u0627\u062a \u062a\u0634\u0641\u064a\u0631\u064a\u0629 \u0645\u062e\u062a\u0644\u0641\u0629 \u0639\u0646 GPG \u0627\u0644\u062e\u0627\u0645\u060c \u0641\u0625\u0646\u0647 \u064a\u0634\u062a\u0631\u0643 \u0641\u064a \u0646\u0641\u0633 \u0627\u0644\u062a\u062d\u062f\u064a \u0627\u0644\u0623\u0633\u0627\u0633\u064a: \u0625\u062f\u0627\u0631\u0629 \u0645\u0641\u0627\u062a\u064a\u062d \u0637\u0648\u064a\u0644\u0629 \u0627\u0644\u0623\u0645\u062f.<\/p>\n<h3>\u062a\u062d\u062f\u064a\u0627\u062a \u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d<\/h3>\n<p>\u0623\u0643\u0628\u0631 \u0646\u0642\u0637\u0629 \u0636\u0639\u0641 \u0641\u064a GPG \u0641\u064a \u0633\u064a\u0627\u0642 CI\/CD \u0647\u064a \u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d:<\/p>\n<ul>\n<li>\u064a\u062c\u0628 \u0625\u0646\u0634\u0627\u0621 \u0648\u062a\u0648\u0632\u064a\u0639 \u0648\u062a\u062f\u0648\u064a\u0631 \u0648\u0625\u0644\u063a\u0627\u0621 \u0623\u0632\u0648\u0627\u062c \u0645\u0641\u0627\u062a\u064a\u062d \u0637\u0648\u064a\u0644\u0629 \u0627\u0644\u0623\u0645\u062f<\/li>\n<li>\u064a\u062c\u0628 \u062d\u0642\u0646 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0623\u0645\u0627\u0646 \u0641\u064a \u0645\u064f\u0634\u063a\u0651\u0644\u0627\u062a CI\/CD \u0643\u0623\u0633\u0631\u0627\u0631<\/li>\n<li>\u0644\u0627 \u064a\u0648\u062c\u062f \u0622\u0644\u064a\u0629 \u0645\u062f\u0645\u062c\u0629 \u0644\u0625\u064a\u062f\u0627\u0639 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d \u0623\u0648 \u0627\u0633\u062a\u0639\u0627\u062f\u062a\u0647\u0627<\/li>\n<li>\u062a\u0648\u0632\u064a\u0639 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d \u0639\u0644\u0649 \u0627\u0644\u0645\u062a\u062d\u0642\u0642\u064a\u0646 (\u0639\u0642\u062f \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629\u060c \u0648\u062d\u062f\u0627\u062a \u0627\u0644\u062a\u062d\u0643\u0645 \u0641\u064a \u0627\u0644\u0642\u0628\u0648\u0644) \u064a\u062a\u0637\u0644\u0628 \u0639\u0645\u0644\u064a\u0627\u062a \u064a\u062f\u0648\u064a\u0629 \u0623\u0648 \u062e\u0627\u062f\u0645 \u0645\u0641\u0627\u062a\u064a\u062d<\/li>\n<li>\u0627\u062e\u062a\u0631\u0627\u0642 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d \u064a\u062a\u0637\u0644\u0628 \u062a\u062f\u0648\u064a\u0631\u064b\u0627 \u0637\u0627\u0631\u0626\u064b\u0627 \u0639\u0628\u0631 \u062c\u0645\u064a\u0639 \u0627\u0644\u0623\u0646\u0638\u0645\u0629<\/li>\n<\/ul>\n<h3>\u0645\u062b\u0627\u0644 \u0639\u0644\u0649 \u0627\u0644\u062a\u0643\u0627\u0645\u0644 \u0645\u0639 CI\/CD: GitLab CI \u0645\u0639 GPG<\/h3>\n<pre><code># .gitlab-ci.yml\nsign-image:\n  stage: sign\n  image: alpine:latest\n  before_script:\n    - apk add --no-cache gnupg skopeo\n    - echo \"$GPG_PRIVATE_KEY\" | gpg --batch --import\n  script:\n    - skopeo copy \\\n        --sign-by signing-key@myorg.com \\\n        docker:\/\/registry.example.com\/myapp:${CI_COMMIT_SHORT_SHA} \\\n        docker:\/\/registry.example.com\/myapp:${CI_COMMIT_SHORT_SHA}\n  variables:\n    GPG_PRIVATE_KEY: $GPG_SIGNING_KEY  # Stored in CI\/CD variables\n<\/code><\/pre>\n<p>\u0644\u0627\u062d\u0638 \u0643\u064a\u0641 \u064a\u062c\u0628 \u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0645\u0641\u062a\u0627\u062d \u0627\u0644\u062e\u0627\u0635 \u0643\u0633\u0631 CI\/CD \u0648\u062d\u0642\u0646\u0647 \u0641\u064a \u0648\u0642\u062a \u0627\u0644\u062a\u0634\u063a\u064a\u0644 \u2014 \u0648\u0647\u0630\u0627 \u0628\u0627\u0644\u0636\u0628\u0637 \u0646\u0648\u0639 \u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0623\u0633\u0631\u0627\u0631 \u0637\u0648\u064a\u0644\u0629 \u0627\u0644\u0623\u0645\u062f \u0627\u0644\u0630\u064a \u0635\u064f\u0645\u0645 \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d \u0644\u0644\u062a\u062e\u0644\u0635 \u0645\u0646\u0647.<\/p>\n<h3>\u0646\u0642\u0627\u0637 \u0627\u0644\u0642\u0648\u0629<\/h3>\n<ul>\n<li>\u062a\u0634\u0641\u064a\u0631 \u0645\u064f\u062e\u062a\u0628\u0631 \u0645\u064a\u062f\u0627\u0646\u064a\u064b\u0627 \u2014 \u062a\u0645 \u062a\u062f\u0642\u064a\u0642 \u0648\u062a\u0642\u0648\u064a\u0629 GPG \u0644\u0639\u0642\u0648\u062f<\/li>\n<li>\u064a\u0639\u0645\u0644 \u0641\u064a \u0628\u064a\u0626\u0627\u062a \u0645\u0639\u0632\u0648\u0644\u0629 \u062a\u0645\u0627\u0645\u064b\u0627 \u062f\u0648\u0646 \u0623\u064a \u062a\u0628\u0639\u064a\u0627\u062a \u062e\u0627\u0631\u062c\u064a\u0629<\/li>\n<li>\u0645\u0623\u0644\u0648\u0641 \u0644\u0641\u0631\u0642 \u0627\u0644\u0639\u0645\u0644\u064a\u0627\u062a \u0630\u0627\u062a \u062e\u0644\u0641\u064a\u0627\u062a Linux\/\u0627\u0644\u0623\u0645\u0646<\/li>\n<li>\u062f\u0639\u0645 \u0648\u0627\u0633\u0639 \u0644\u0644\u0623\u062f\u0648\u0627\u062a \u0641\u064a \u0646\u0638\u0627\u0645 Podman\/Skopeo \u0627\u0644\u0628\u064a\u0626\u064a<\/li>\n<li>\u062a\u062d\u0643\u0645 \u0643\u0627\u0645\u0644 \u0641\u064a \u0645\u0648\u0627\u062f \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d (\u0645\u0647\u0645 \u0644\u0623\u064f\u0637\u0631 \u0627\u0645\u062a\u062b\u0627\u0644 \u0645\u0639\u064a\u0646\u0629)<\/li>\n<\/ul>\n<h3>\u0627\u0644\u0642\u064a\u0648\u062f<\/h3>\n<ul>\n<li>\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d \u0627\u0644\u064a\u062f\u0648\u064a\u0629 \u0627\u0644\u0645\u0639\u0631\u0636\u0629 \u0644\u0644\u062e\u0637\u0623 \u0647\u064a \u0627\u0644\u0639\u0628\u0621 \u0627\u0644\u062a\u0634\u063a\u064a\u0644\u064a \u0627\u0644\u0623\u0643\u0628\u0631<\/li>\n<li>\u0644\u0627 \u064a\u0648\u062c\u062f \u0648\u0636\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d \u2014 \u064a\u062c\u0628 \u0623\u0646 \u062a\u0643\u0648\u0646 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d \u0627\u0644\u062e\u0627\u0635\u0629 \u0641\u064a \u0645\u0643\u0627\u0646 \u064a\u0645\u0643\u0646 \u0644\u0640 CI\/CD \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u064a\u0647<\/li>\n<li>\u0644\u0627 \u064a\u0648\u062c\u062f \u062a\u062e\u0632\u064a\u0646 \u0645\u064f\u062e\u0631\u062c\u0627\u062a OCI \u0623\u0635\u0644\u064a \u2014 \u0627\u0644\u062a\u0648\u0642\u064a\u0639\u0627\u062a \u062a\u064f\u062e\u0632\u0651\u0646 \u062e\u0627\u0631\u062c \u0627\u0644\u0646\u0637\u0627\u0642<\/li>\n<li>\u0644\u0627 \u064a\u0648\u062c\u062f \u0633\u062c\u0644 \u0634\u0641\u0627\u0641\u064a\u0629 \u0644\u0645\u0633\u0627\u0631\u0627\u062a \u0627\u0644\u062a\u062f\u0642\u064a\u0642<\/li>\n<li>\u062a\u0648\u0632\u064a\u0639 \u0627\u0644\u062a\u0648\u0642\u064a\u0639\u0627\u062a \u0648\u0627\u0643\u062a\u0634\u0627\u0641\u0647\u0627 \u0645\u062c\u0632\u0623<\/li>\n<li>\u0644\u0627 \u064a\u062a\u062d\u0642\u0642 Docker\/containerd \u0623\u0635\u0644\u0627\u064b \u0645\u0646 \u062a\u0648\u0642\u064a\u0639\u0627\u062a GPG (\u064a\u062a\u0637\u0644\u0628 Podman\/Skopeo \u0623\u0648 \u0623\u062f\u0648\u0627\u062a \u0645\u062e\u0635\u0635\u0629)<\/li>\n<\/ul>\n<h2>\u0645\u0642\u0627\u0631\u0646\u0629 \u062c\u0646\u0628\u064b\u0627 \u0625\u0644\u0649 \u062c\u0646\u0628<\/h2>\n<table>\n<thead>\n<tr>\n<th>\u0627\u0644\u0645\u064a\u0632\u0629<\/th>\n<th>Cosign (Sigstore)<\/th>\n<th>Notation (Notary v2)<\/th>\n<th>GPG<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d<\/strong><\/td>\n<td>\u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d (OIDC) \u0623\u0648 \u0623\u0632\u0648\u0627\u062c \u0645\u0641\u0627\u062a\u064a\u062d \u062b\u0627\u0628\u062a\u0629<\/td>\n<td>\u0642\u0627\u0626\u0645 \u0639\u0644\u0649 \u0627\u0644\u0625\u0636\u0627\u0641\u0627\u062a (KMS\u060c HSM\u060c \u062e\u0632\u0627\u0626\u0646 \u0633\u062d\u0627\u0628\u064a\u0629)<\/td>\n<td>\u0623\u0632\u0648\u0627\u062c \u0645\u0641\u0627\u062a\u064a\u062d PGP \u064a\u062f\u0648\u064a\u0629<\/td>\n<\/tr>\n<tr>\n<td><strong>\u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d<\/strong><\/td>\n<td>\u0646\u0639\u0645 (Fulcio + OIDC)<\/td>\n<td>\u0644\u0627<\/td>\n<td>\u0644\u0627<\/td>\n<\/tr>\n<tr>\n<td><strong>\u062a\u0646\u0633\u064a\u0642 \u0627\u0644\u062a\u0648\u0642\u064a\u0639<\/strong><\/td>\n<td>\u0645\u063a\u0644\u0641 JSON (in-toto\/DSSE)<\/td>\n<td>\u062a\u0648\u0642\u064a\u0639\u0627\u062a COSE (CBOR)<\/td>\n<td>\u062a\u0648\u0642\u064a\u0639\u0627\u062a PGP \u0645\u0646\u0641\u0635\u0644\u0629<\/td>\n<\/tr>\n<tr>\n<td><strong>\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u062a\u0648\u0642\u064a\u0639<\/strong><\/td>\n<td>\u0633\u062c\u0644 OCI (\u0643\u0645\u064f\u062e\u0631\u062c\u0627\u062a OCI)<\/td>\n<td>\u0633\u062c\u0644 OCI (\u0639\u0628\u0631 ORAS)<\/td>\n<td>\u062e\u0627\u0631\u062c \u0627\u0644\u0646\u0637\u0627\u0642 (\u062e\u0627\u062f\u0645 \u0648\u064a\u0628\u060c S3\u060c Git)<\/td>\n<\/tr>\n<tr>\n<td><strong>\u062a\u0648\u0627\u0641\u0642 \u0633\u062c\u0644 OCI<\/strong><\/td>\n<td>\u0645\u0645\u062a\u0627\u0632 \u2014 \u064a\u0639\u0645\u0644 \u0645\u0639 \u062c\u0645\u064a\u0639 \u0627\u0644\u0633\u062c\u0644\u0627\u062a \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629<\/td>\n<td>\u062c\u064a\u062f \u2014 \u064a\u062a\u0637\u0644\u0628 \u062f\u0639\u0645 \u0648\u0627\u062c\u0647\u0629 OCI 1.1 referrers API<\/td>\n<td>\u0644\u0627 \u064a\u0648\u062c\u062f \u2014 \u0627\u0644\u062a\u0648\u0642\u064a\u0639\u0627\u062a \u062a\u064f\u062e\u0632\u0651\u0646 \u062e\u0627\u0631\u062c\u064a\u064b\u0627<\/td>\n<\/tr>\n<tr>\n<td><strong>\u0633\u062c\u0644 \u0627\u0644\u0634\u0641\u0627\u0641\u064a\u0629<\/strong><\/td>\n<td>\u0646\u0639\u0645 (Rekor)<\/td>\n<td>\u0644\u0627 (\u0645\u062e\u0637\u0637)<\/td>\n<td>\u0644\u0627<\/td>\n<\/tr>\n<tr>\n<td><strong>\u062a\u0643\u0627\u0645\u0644 CI\/CD<\/strong><\/td>\n<td>\u0645\u0645\u062a\u0627\u0632 \u2014 GitHub Actions\u060c GitLab CI\u060c Tekton\u060c \u062f\u0639\u0645 OIDC \u0623\u0635\u0644\u064a<\/td>\n<td>\u062c\u064a\u062f \u2014 GitHub Actions\u060c \u064a\u0639\u0645\u0644 \u0645\u0639 \u0623\u064a CI \u0639\u0628\u0631 \u0627\u0644\u0625\u0636\u0627\u0641\u0627\u062a<\/td>\n<td>\u064a\u062f\u0648\u064a \u2014 \u064a\u062a\u0637\u0644\u0628 \u062d\u0642\u0646 \u0623\u0633\u0631\u0627\u0631 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d \u0627\u0644\u062e\u0627\u0635\u0629<\/td>\n<\/tr>\n<tr>\n<td><strong>\u0633\u064a\u0627\u0633\u0627\u062a Kubernetes<\/strong><\/td>\n<td>Kyverno\u060c OPA Gatekeeper\u060c Sigstore Policy Controller<\/td>\n<td>Ratify (\u0645\u0639 Gatekeeper)\u060c Kyverno (\u0645\u062d\u062f\u0648\u062f)<\/td>\n<td>\u064a\u062a\u0637\u0644\u0628 webhook \u0642\u0628\u0648\u0644 \u0645\u062e\u0635\u0635<\/td>\n<\/tr>\n<tr>\n<td><strong>\u062f\u0639\u0645 \u0627\u0644\u0628\u064a\u0626\u0627\u062a \u0627\u0644\u0645\u0639\u0632\u0648\u0644\u0629<\/strong><\/td>\n<td>\u0645\u0645\u0643\u0646 (\u064a\u062a\u0637\u0644\u0628 \u0646\u0633\u062e\u0629 TUF root \u0645\u062d\u0644\u064a\u0629\u060c \u0646\u0633\u062e\u0629 Rekor)<\/td>\n<td>\u0646\u0639\u0645 (\u0633\u0647\u0644 \u0645\u0639 \u0645\u062e\u0632\u0646 \u062b\u0642\u0629 \u0645\u062d\u0644\u064a)<\/td>\n<td>\u0646\u0639\u0645 (\u0642\u0627\u0628\u0644 \u0644\u0644\u0639\u0645\u0644 \u062f\u0648\u0646 \u0627\u062a\u0635\u0627\u0644 \u0628\u0627\u0644\u0643\u0627\u0645\u0644)<\/td>\n<\/tr>\n<tr>\n<td><strong>\u0627\u0644\u0646\u0638\u0627\u0645 \u0627\u0644\u0628\u064a\u0626\u064a \u0648\u0627\u0644\u0645\u062c\u062a\u0645\u0639<\/strong><\/td>\n<td>\u0643\u0628\u064a\u0631 \u2014 Linux Foundation\u060c Google\u060c Red Hat\u060c GitHub<\/td>\n<td>\u064a\u0646\u0645\u0648 \u2014 CNCF\u060c Microsoft\u060c AWS<\/td>\n<td>\u0646\u0627\u0636\u062c \u0644\u0643\u0646 \u0645\u062a\u0631\u0627\u062c\u0639 \u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a<\/td>\n<\/tr>\n<tr>\n<td><strong>\u0645\u0646\u062d\u0646\u0649 \u0627\u0644\u062a\u0639\u0644\u0645<\/strong><\/td>\n<td>\u0645\u0646\u062e\u0641\u0636 (\u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d) \u0625\u0644\u0649 \u0645\u062a\u0648\u0633\u0637 (\u0642\u0627\u0626\u0645 \u0639\u0644\u0649 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d \u0645\u0639 \u0633\u064a\u0627\u0633\u0627\u062a)<\/td>\n<td>\u0645\u062a\u0648\u0633\u0637 \u0625\u0644\u0649 \u0645\u0631\u062a\u0641\u0639 (\u0625\u0636\u0627\u0641\u0627\u062a\u060c \u0633\u064a\u0627\u0633\u0627\u062a \u062b\u0642\u0629\u060c PKI)<\/td>\n<td>\u0645\u062a\u0648\u0633\u0637 (\u0623\u062f\u0648\u0627\u062a \u0645\u0623\u0644\u0648\u0641\u0629\u060c \u0639\u0645\u0644\u064a\u0627\u062a \u0645\u0624\u0644\u0645\u0629)<\/td>\n<\/tr>\n<tr>\n<td><strong>\u062f\u0639\u0645 \u0627\u0644\u0634\u0647\u0627\u062f\u0627\u062a<\/strong><\/td>\n<td>\u0646\u0639\u0645 (SBOM\u060c \u0625\u062b\u0628\u0627\u062a \u0645\u0635\u062f\u0631 SLSA\u060c predicates \u0645\u062e\u0635\u0635\u0629)<\/td>\n<td>\u0646\u0639\u0645 (\u0639\u0628\u0631 \u0645\u064f\u062e\u0631\u062c\u0627\u062a ORAS \u0627\u0644\u0645\u0631\u0641\u0642\u0629)<\/td>\n<td>\u0644\u0627 \u064a\u0648\u062c\u062f \u062f\u0639\u0645 \u0623\u0635\u0644\u064a<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>\u0645\u0635\u0641\u0648\u0641\u0629 \u0627\u0644\u0642\u0631\u0627\u0631: \u0645\u062a\u0649 \u062a\u0633\u062a\u062e\u062f\u0645 \u0623\u064a \u0623\u062f\u0627\u0629<\/h2>\n<p>\u064a\u0639\u062a\u0645\u062f \u0627\u062e\u062a\u064a\u0627\u0631 \u0623\u062f\u0627\u0629 \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0627\u0644\u0645\u0646\u0627\u0633\u0628\u0629 \u0639\u0644\u0649 \u0633\u064a\u0627\u0642\u0643 \u0627\u0644\u0645\u0624\u0633\u0633\u064a. \u0625\u0644\u064a\u0643 \u0625\u0637\u0627\u0631 \u0642\u0631\u0627\u0631 \u0639\u0645\u0644\u064a:<\/p>\n<h3>\u0627\u062e\u062a\u0631 Cosign \u0625\u0630\u0627:<\/h3>\n<ul>\n<li><strong>\u062a\u0628\u062f\u0623 \u0645\u0646 \u0627\u0644\u0635\u0641\u0631<\/strong> \u0641\u064a \u062a\u0648\u0642\u064a\u0639 \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a \u0648\u062a\u0631\u064a\u062f \u0623\u0633\u0631\u0639 \u0637\u0631\u064a\u0642 \u0644\u0644\u0625\u0646\u062a\u0627\u062c.<\/li>\n<li><strong>\u062a\u0633\u062a\u062e\u062f\u0645 GitHub Actions \u0623\u0648 GitLab CI \u0623\u0648 \u0623\u064a \u0646\u0638\u0627\u0645 CI\/CD \u064a\u062f\u0639\u0645 OIDC<\/strong> \u2014 \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d \u064a\u0639\u0645\u0644 \u0645\u0628\u0627\u0634\u0631\u0629.<\/li>\n<li><strong>\u062a\u0631\u064a\u062f \u0633\u062c\u0644 \u0634\u0641\u0627\u0641\u064a\u0629<\/strong> \u0644\u0644\u062a\u062f\u0642\u064a\u0642 \u0648\u0627\u0644\u0627\u0645\u062a\u062b\u0627\u0644 \u062f\u0648\u0646 \u0628\u0646\u0627\u0626\u0647 \u0628\u0646\u0641\u0633\u0643.<\/li>\n<li><strong>\u062a\u062a\u0628\u0646\u0649 \u0634\u0647\u0627\u062f\u0627\u062a SLSA \u0623\u0648 in-toto<\/strong> \u2014 \u064a\u062f\u0639\u0645 Cosign \u0628\u0634\u0643\u0644 \u0623\u0635\u0644\u064a \u0625\u0631\u0641\u0627\u0642 SBOMs \u0648\u0628\u064a\u0627\u0646\u0627\u062a \u0625\u062b\u0628\u0627\u062a \u0627\u0644\u0645\u0635\u062f\u0631.<\/li>\n<li><strong>\u062a\u0631\u064a\u062f \u062a\u0643\u0627\u0645\u0644\u0627\u064b \u0648\u0627\u0633\u0639\u064b\u0627 \u0645\u0639 \u0633\u064a\u0627\u0633\u0627\u062a Kubernetes<\/strong> \u0645\u0639 Kyverno \u0623\u0648 Sigstore Policy Controller.<\/li>\n<li><strong>\u0623\u0646\u062a \u0634\u0631\u0643\u0629 \u0646\u0627\u0634\u0626\u0629 \u0623\u0648 \u0645\u062a\u0648\u0633\u0637\u0629 \u0627\u0644\u062d\u062c\u0645<\/strong> \u0628\u062f\u0648\u0646 \u0641\u0631\u064a\u0642 PKI \u0645\u062e\u0635\u0635.<\/li>\n<\/ul>\n<p>\u0644\u0644\u0627\u0637\u0644\u0627\u0639 \u0639\u0644\u0649 \u062f\u0644\u064a\u0644 \u0634\u0627\u0645\u0644 \u062d\u0648\u0644 Sigstore \u0648\u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d\u060c \u0631\u0627\u062c\u0639 <a href=\"https:\/\/secure-pipelines.com\/ar\/ci-cd-security\/signing-verifying-container-images-sigstore-cosign\/\">\u062f\u0644\u064a\u0644 \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Sigstore \u0648Cosign<\/a>.<\/p>\n<h3>\u0627\u062e\u062a\u0631 Notation \u0625\u0630\u0627:<\/h3>\n<ul>\n<li><strong>\u0645\u0624\u0633\u0633\u062a\u0643 \u0644\u062f\u064a\u0647\u0627 \u0628\u0646\u064a\u0629 \u062a\u062d\u062a\u064a\u0629 PKI \u0642\u0627\u0626\u0645\u0629<\/strong> \u0648\u0633\u064a\u0631 \u0639\u0645\u0644 \u0625\u062f\u0627\u0631\u0629 \u0634\u0647\u0627\u062f\u0627\u062a X.509 \u062a\u0631\u064a\u062f \u0627\u0644\u0627\u0633\u062a\u0641\u0627\u062f\u0629 \u0645\u0646\u0647\u0627.<\/li>\n<li><strong>\u0623\u0646\u062a \u0645\u0633\u062a\u062b\u0645\u0631 \u0628\u0643\u062b\u0627\u0641\u0629 \u0641\u064a Azure \u0623\u0648 AWS<\/strong> \u0648\u062a\u0631\u064a\u062f \u062a\u0643\u0627\u0645\u0644\u0627\u064b \u0623\u0635\u0644\u064a\u064b\u0627 \u0645\u0639 Azure Key Vault \u0623\u0648 AWS Signer.<\/li>\n<li><strong>\u062a\u062d\u062a\u0627\u062c \u0633\u064a\u0627\u0633\u0627\u062a \u062b\u0642\u0629 \u062f\u0642\u064a\u0642\u0629<\/strong> \u0645\u062d\u062f\u062f\u0629 \u0627\u0644\u0646\u0637\u0627\u0642 \u0644\u0633\u062c\u0644\u0627\u062a \u0648\u0645\u0633\u062a\u0648\u062f\u0639\u0627\u062a \u0623\u0648 \u0641\u0631\u0642 \u0645\u0639\u064a\u0646\u0629.<\/li>\n<li><strong>\u0645\u062a\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u0627\u0645\u062a\u062b\u0627\u0644 \u062a\u0641\u0631\u0636 \u062d\u0641\u0638 \u0645\u0641\u0627\u062a\u064a\u062d \u0645\u062d\u062f\u062f<\/strong> (FIPS 140-2\u060c FedRAMP) \u062d\u064a\u062b \u0644\u0627 \u064a\u0641\u064a \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d \u0628\u0627\u0644\u0645\u0639\u0627\u064a\u064a\u0631.<\/li>\n<li><strong>\u062a\u0639\u0645\u0644 \u0641\u064a \u0628\u064a\u0626\u0629 \u0644\u0627 \u064a\u0645\u0643\u0646 \u0641\u064a\u0647\u0627 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u0628\u0646\u064a\u0629 \u0627\u0644\u062a\u062d\u062a\u064a\u0629 \u0627\u0644\u0639\u0627\u0645\u0629 \u0644\u0640 Sigstore<\/strong> \u0644\u0643\u0646 \u0644\u062f\u064a\u0643 PKI \u062f\u0627\u062e\u0644\u064a.<\/li>\n<\/ul>\n<h3>\u0627\u062e\u062a\u0631 GPG \u0625\u0630\u0627:<\/h3>\n<ul>\n<li><strong>\u0623\u0646\u062a \u0641\u064a \u0628\u064a\u0626\u0629 \u0645\u0639\u0632\u0648\u0644\u0629 \u062a\u0645\u0627\u0645\u064b\u0627<\/strong> \u0644\u0627 \u064a\u064f\u0633\u0645\u062d \u0641\u064a\u0647\u0627 \u0628\u0623\u064a \u062a\u0628\u0639\u064a\u0627\u062a \u0639\u0644\u0649 \u062e\u062f\u0645\u0627\u062a \u062e\u0627\u0631\u062c\u064a\u0629.<\/li>\n<li><strong>\u062a\u0633\u062a\u062e\u062f\u0645 Podman\/Skopeo \u0643\u0628\u064a\u0626\u0629 \u062a\u0634\u063a\u064a\u0644 \u062d\u0627\u0648\u064a\u0627\u062a \u0623\u0633\u0627\u0633\u064a\u0629<\/strong> \u0648\u0644\u062f\u064a\u0643 \u0628\u0627\u0644\u0641\u0639\u0644 \u0628\u0646\u064a\u0629 \u062a\u062d\u062a\u064a\u0629 \u0644\u0645\u0641\u0627\u062a\u064a\u062d GPG.<\/li>\n<li><strong>\u0627\u0644\u0645\u062a\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u062a\u0646\u0638\u064a\u0645\u064a\u0629 \u062a\u0641\u0631\u0636 GPG \u062a\u062d\u062f\u064a\u062f\u064b\u0627<\/strong> (\u0646\u0627\u062f\u0631\u060c \u0644\u0643\u0646 \u0628\u0639\u0636 \u0627\u0644\u0639\u0642\u0648\u062f \u0627\u0644\u062d\u0643\u0648\u0645\u064a\u0629 \u062a\u062d\u062f\u062f\u0647).<\/li>\n<li><strong>\u062a\u0648\u0642\u0651\u0639 \u0645\u064f\u062e\u0631\u062c\u0627\u062a \u063a\u064a\u0631 OCI<\/strong> \u0628\u062c\u0627\u0646\u0628 \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a \u0648\u062a\u0631\u064a\u062f \u0623\u062f\u0627\u0629 \u062a\u0648\u0642\u064a\u0639 \u0648\u0627\u062d\u062f\u0629.<\/li>\n<\/ul>\n<p>\u0644\u0645\u0639\u0638\u0645 \u0627\u0644\u0641\u0631\u0642 \u0627\u0644\u062a\u064a \u062a\u0628\u0646\u064a \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0633\u062d\u0627\u0628\u064a\u0629 \u062d\u062f\u064a\u062b\u0629\u060c <strong>Cosign \u0645\u0639 \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d \u0647\u0648 \u0627\u0644\u062e\u064a\u0627\u0631 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a \u0627\u0644\u0645\u0648\u0635\u0649 \u0628\u0647<\/strong>. \u0641\u0647\u0648 \u064a\u0648\u0641\u0631 \u0623\u0641\u0636\u0644 \u0646\u0633\u0628\u0629 \u0623\u0645\u0627\u0646 \u0625\u0644\u0649 \u062a\u0639\u0642\u064a\u062f \u062a\u0634\u063a\u064a\u0644\u064a \u0648\u064a\u064f\u0632\u064a\u0644 \u0639\u0628\u0621 \u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d \u0627\u0644\u0630\u064a \u064a\u062a\u0633\u0628\u0628 \u0641\u064a \u0641\u0634\u0644 \u0645\u0639\u0638\u0645 \u0645\u0628\u0627\u062f\u0631\u0627\u062a \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0639\u0645\u0644\u064a\u064b\u0627.<\/p>\n<h2>\u0623\u0646\u0645\u0627\u0637 \u062a\u0643\u0627\u0645\u0644 CI\/CD<\/h2>\n<p>\u0628\u0627\u0644\u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0627\u0644\u0623\u0645\u062b\u0644\u0629 \u0627\u0644\u0641\u0631\u062f\u064a\u0629 \u0623\u0639\u0644\u0627\u0647\u060c \u0625\u0644\u064a\u0643 \u0623\u0646\u0645\u0627\u0637 \u0645\u0639\u0645\u0627\u0631\u064a\u0629 \u0644\u062f\u0645\u062c \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0641\u064a \u0645\u0633\u0627\u0631\u0643:<\/p>\n<h3>\u0627\u0644\u0646\u0645\u0637 1: \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0639\u0646\u062f \u0627\u0644\u0628\u0646\u0627\u0621 (Cosign \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d)<\/h3>\n<p>\u0623\u0628\u0633\u0637 \u0646\u0645\u0637. \u0646\u0641\u0633 \u0645\u0647\u0645\u0629 \u0627\u0644\u0645\u0633\u0627\u0631 \u0627\u0644\u062a\u064a \u062a\u0628\u0646\u064a \u0648\u062a\u062f\u0641\u0639 \u0627\u0644\u0635\u0648\u0631\u0629 \u062a\u0648\u0642\u0651\u0639\u0647\u0627 \u0623\u064a\u0636\u064b\u0627. \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d \u064a\u0639\u0646\u064a \u0639\u062f\u0645 \u0648\u062c\u0648\u062f \u0623\u0633\u0631\u0627\u0631 \u0644\u0644\u0625\u062f\u0627\u0631\u0629:<\/p>\n<pre><code>Build Image \u2192 Push to Registry \u2192 Cosign Sign (keyless) \u2192 Record in Rekor\n<\/code><\/pre>\n<p>\u064a\u0639\u0645\u0644 \u0647\u0630\u0627 \u0628\u0634\u0643\u0644 \u0631\u0627\u0626\u0639 \u0645\u0639 GitHub Actions \u0648GitLab CI 16.0+ \u0648\u0623\u064a \u0646\u0638\u0627\u0645 CI \u064a\u0648\u0641\u0631 \u0631\u0645\u0648\u0632 OIDC. \u0647\u0648\u064a\u0629 OIDC \u0644\u0644\u0645\u0633\u0627\u0631 <em>\u062a\u0635\u0628\u062d<\/em> \u0647\u0648\u064a\u0629 \u0627\u0644\u062a\u0648\u0642\u064a\u0639\u060c \u0645\u0645\u0627 \u064a\u064f\u0646\u0634\u0626 \u0633\u0644\u0633\u0644\u0629 \u0642\u0627\u0628\u0644\u0629 \u0644\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u0627\u0644\u062a\u0632\u0627\u0645 \u0627\u0644\u0645\u0635\u062f\u0631\u064a \u0625\u0644\u0649 \u0627\u0644\u0635\u0648\u0631\u0629 \u0627\u0644\u0645\u0648\u0642\u0651\u0639\u0629.<\/p>\n<h3>\u0627\u0644\u0646\u0645\u0637 2: \u062e\u062f\u0645\u0629 \u062a\u0648\u0642\u064a\u0639 \u0645\u0631\u0643\u0632\u064a\u0629 (Notation + KMS)<\/h3>\n<p>\u0644\u0644\u0645\u0624\u0633\u0633\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u0631\u064a\u062f \u0641\u0635\u0644 \u0627\u0644\u0645\u0647\u0627\u0645\u060c \u062a\u0633\u062a\u0642\u0628\u0644 \u062e\u062f\u0645\u0629 \u062a\u0648\u0642\u064a\u0639 \u0645\u0631\u0643\u0632\u064a\u0629 \u0645\u064f\u062e\u0631\u062c\u0627\u062a \u0627\u0644\u0628\u0646\u0627\u0621 \u0648\u062a\u0648\u0642\u0651\u0639\u0647\u0627 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0645\u0641\u0627\u062a\u064a\u062d \u0641\u064a KMS:<\/p>\n<pre><code>Build Pipeline \u2192 Push to Registry \u2192 Request Signing \u2192 Notation Sign (KMS plugin) \u2192 Approval Workflow\n<\/code><\/pre>\n<p>\u064a\u064f\u0645\u0643\u0651\u0646 \u0647\u0630\u0627 \u0627\u0644\u0646\u0645\u0637 \u0627\u0644\u0633\u064a\u0646\u0627\u0631\u064a\u0648\u0647\u0627\u062a \u0627\u0644\u062a\u064a \u0644\u0627 \u064a\u0633\u062a\u0637\u064a\u0639 \u0641\u064a\u0647\u0627 \u0641\u0631\u064a\u0642 \u0627\u0644\u0628\u0646\u0627\u0621 \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0645\u0628\u0627\u0634\u0631\u0629 \u2014 \u064a\u062c\u0628 \u0623\u0646 \u064a\u0648\u0627\u0641\u0642 \u0641\u0631\u064a\u0642 \u0623\u0645\u0646 \u0645\u0646\u0641\u0635\u0644 \u0623\u0648 \u0645\u062d\u0631\u0643 \u0633\u064a\u0627\u0633\u0629 \u0622\u0644\u064a \u0639\u0644\u0649 \u0627\u0644\u0645\u064f\u062e\u0631\u062c \u0648\u064a\u0648\u0642\u0651\u0639\u0647. \u062a\u064f\u0637\u0628\u0651\u0642 \u0633\u064a\u0627\u0633\u0627\u062a \u0627\u0644\u0648\u0635\u0648\u0644 \u0641\u064a AWS Signer \u0648Azure Key Vault \u0645\u0646 \u064a\u0645\u0643\u0646\u0647 \u0637\u0644\u0628 \u0627\u0644\u062a\u0648\u0642\u064a\u0639\u0627\u062a.<\/p>\n<h3>\u0627\u0644\u0646\u0645\u0637 3: \u0628\u0648\u0627\u0628\u0627\u062a \u0627\u0644\u062a\u062d\u0642\u0642 (\u0623\u064a \u0623\u062f\u0627\u0629)<\/h3>\n<p>\u0628\u063a\u0636 \u0627\u0644\u0646\u0638\u0631 \u0639\u0646 \u0623\u062f\u0627\u0629 \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0627\u0644\u062a\u064a \u062a\u0633\u062a\u062e\u062f\u0645\u0647\u0627\u060c \u062c\u0627\u0646\u0628 \u0627\u0644\u062a\u062d\u0642\u0642 \u0628\u0646\u0641\u0633 \u0627\u0644\u0623\u0647\u0645\u064a\u0629. \u0646\u0641\u0651\u0630 \u0627\u0644\u062a\u062d\u0642\u0642 \u0641\u064a \u0646\u0642\u0627\u0637 \u0645\u062a\u0639\u062f\u062f\u0629:<\/p>\n<ul>\n<li><strong>\u0628\u0648\u0627\u0628\u0629 \u0645\u0627 \u0642\u0628\u0644 \u0627\u0644\u0646\u0634\u0631:<\/strong> \u0648\u062d\u062f\u0629 \u062a\u062d\u0643\u0645 \u0627\u0644\u0642\u0628\u0648\u0644 \u0641\u064a Kubernetes (Kyverno\u060c Gatekeeper + Ratify\u060c Sigstore Policy Controller) \u062a\u0631\u0641\u0636 \u0627\u0644\u0635\u0648\u0631 \u063a\u064a\u0631 \u0627\u0644\u0645\u0648\u0642\u0651\u0639\u0629 \u0623\u0648 \u0627\u0644\u0645\u0648\u0642\u0651\u0639\u0629 \u0628\u0634\u0643\u0644 \u062e\u0627\u0637\u0626.<\/li>\n<li><strong>\u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u062a\u0631\u0642\u064a\u0629:<\/strong> \u0642\u0628\u0644 \u062a\u0631\u0642\u064a\u0629 \u0635\u0648\u0631\u0629 \u0645\u0646 \u0633\u062c\u0644 \u0627\u0644\u062a\u062c\u0647\u064a\u0632 \u0625\u0644\u0649 \u0633\u062c\u0644 \u0627\u0644\u0625\u0646\u062a\u0627\u062c\u060c \u062a\u062d\u0642\u0642 \u0645\u0646 \u062a\u0648\u0642\u064a\u0639\u0647\u0627.<\/li>\n<li><strong>\u062a\u062f\u0642\u064a\u0642 \u0648\u0642\u062a \u0627\u0644\u062a\u0634\u063a\u064a\u0644:<\/strong> \u0641\u062d\u0635 \u0623\u062d\u0645\u0627\u0644 \u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u062c\u0627\u0631\u064a\u0629 \u062f\u0648\u0631\u064a\u064b\u0627 \u0648\u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0623\u0646 \u062a\u0648\u0642\u064a\u0639\u0627\u062a\u0647\u0627 \u0644\u0627 \u062a\u0632\u0627\u0644 \u0635\u0627\u0644\u062d\u0629 \u0648\u0641\u0642\u064b\u0627 \u0644\u0633\u064a\u0627\u0633\u0627\u062a \u0627\u0644\u062b\u0642\u0629 \u0627\u0644\u062d\u0627\u0644\u064a\u0629.<\/li>\n<\/ul>\n<h3>\u0627\u0633\u062a\u0631\u0627\u062a\u064a\u062c\u064a\u0629 \u0645\u062a\u0639\u062f\u062f\u0629 \u0627\u0644\u0623\u062f\u0648\u0627\u062a<\/h3>\n<p>\u062a\u0633\u062a\u062e\u062f\u0645 \u0628\u0639\u0636 \u0627\u0644\u0645\u0624\u0633\u0633\u0627\u062a \u0623\u062f\u0648\u0627\u062a \u0645\u062a\u0639\u062f\u062f\u0629. \u0639\u0644\u0649 \u0633\u0628\u064a\u0644 \u0627\u0644\u0645\u062b\u0627\u0644\u060c Cosign \u0644\u062a\u0648\u0642\u064a\u0639 \u0645\u0633\u0627\u0631 CI\/CD (\u0633\u0647\u0648\u0644\u0629 \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d) \u0648Notation \u0644\u062a\u0648\u0642\u064a\u0639 \u0627\u0644\u0625\u0635\u062f\u0627\u0631\u0627\u062a (\u0627\u0645\u062a\u062b\u0627\u0644 PKI \u0627\u0644\u0645\u0624\u0633\u0633\u064a). \u0643\u0644\u0627\u0647\u0645\u0627 \u064a\u064f\u062e\u0632\u0651\u0646 \u0627\u0644\u062a\u0648\u0642\u064a\u0639\u0627\u062a \u0643\u0645\u064f\u062e\u0631\u062c\u0627\u062a OCI\u060c \u0644\u0630\u0627 \u064a\u0645\u0643\u0646\u0647\u0645\u0627 \u0627\u0644\u062a\u0639\u0627\u064a\u0634 \u0639\u0644\u0649 \u0646\u0641\u0633 \u0627\u0644\u0635\u0648\u0631\u0629. \u064a\u0645\u0643\u0646 \u0644\u0633\u064a\u0627\u0633\u0627\u062a \u0627\u0644\u062a\u062d\u0642\u0642 \u0623\u0646 \u062a\u062a\u0637\u0644\u0628 \u062a\u0648\u0642\u064a\u0639\u0627\u062a \u0645\u0646 <em>\u0643\u0644\u062a\u0627<\/em> \u0627\u0644\u0623\u062f\u0627\u062a\u064a\u0646 \u0642\u0628\u0644 \u0627\u0644\u0633\u0645\u0627\u062d \u0628\u0627\u0644\u0646\u0634\u0631.<\/p>\n<h2>\u0645\u0633\u062a\u0642\u0628\u0644 \u062a\u0648\u0642\u064a\u0639 \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a<\/h2>\n<p>\u064a\u062a\u0642\u0627\u0631\u0628 \u0645\u0634\u0647\u062f \u062a\u0648\u0642\u064a\u0639 \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a \u062d\u0648\u0644 \u0639\u062f\u0629 \u0627\u062a\u062c\u0627\u0647\u0627\u062a \u0645\u0647\u0645\u0629:<\/p>\n<ul>\n<li><strong>OCI 1.1 \u0648Referrers API:<\/strong> \u062a\u062f\u0639\u0645 \u0645\u0648\u0627\u0635\u0641\u0629 \u062a\u0648\u0632\u064a\u0639 OCI \u0627\u0644\u0622\u0646 \u0623\u0635\u0644\u0627\u064b \u0645\u0631\u0627\u062c\u0639 \u0627\u0644\u0645\u064f\u062e\u0631\u062c\u0627\u062a\u060c \u0627\u0644\u062a\u064a \u064a\u0633\u062a\u0641\u064a\u062f \u0645\u0646\u0647\u0627 \u0643\u0644 \u0645\u0646 Cosign \u0648Notation. \u064a\u064f\u0648\u062d\u0651\u062f \u0647\u0630\u0627 \u0643\u064a\u0641\u064a\u0629 \u0625\u0631\u0641\u0627\u0642 \u0627\u0644\u062a\u0648\u0642\u064a\u0639\u0627\u062a \u0648SBOMs \u0648\u0627\u0644\u0634\u0647\u0627\u062f\u0627\u062a \u0628\u0627\u0644\u0635\u0648\u0631.<\/li>\n<li><strong>\u0634\u0647\u0627\u062f\u0627\u062a SLSA \u0648in-toto:<\/strong> \u064a\u062a\u0637\u0648\u0631 \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0645\u0646 \u0645\u062c\u0631\u062f &#8220;\u0645\u0646 \u0628\u0646\u0649 \u0647\u0630\u0627&#8221; \u0644\u064a\u0634\u0645\u0644 \u0625\u062b\u0628\u0627\u062a \u0645\u0635\u062f\u0631 \u0627\u0644\u0628\u0646\u0627\u0621 \u0627\u0644\u0642\u0627\u0628\u0644 \u0644\u0644\u062a\u062d\u0642\u0642\u060c \u0648\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u062a\u0628\u0639\u064a\u0627\u062a\u060c \u0648\u0646\u062a\u0627\u0626\u062c \u0641\u062d\u0635 \u0627\u0644\u0623\u0645\u0627\u0646 \u2014 \u0643\u0644\u0647\u0627 \u0645\u0648\u0642\u0651\u0639\u0629 \u0648\u0645\u0631\u0641\u0642\u0629 \u0628\u0627\u0644\u0635\u0648\u0631\u0629.<\/li>\n<li><strong>\u0627\u0644\u0633\u064a\u0627\u0633\u0629 \u0643\u0631\u0645\u0632:<\/strong> \u0623\u062f\u0648\u0627\u062a \u0645\u062b\u0644 Kyverno \u0648Gatekeeper \u062a\u062c\u0639\u0644 \u0645\u0646 \u0627\u0644\u0645\u0645\u0643\u0646 \u0627\u0644\u062a\u0639\u0628\u064a\u0631 \u0639\u0646 \u0645\u062a\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0627\u0644\u0645\u0639\u0642\u062f\u0629 \u0643\u0633\u064a\u0627\u0633\u0627\u062a \u062a\u0635\u0631\u064a\u062d\u064a\u0629\u060c \u0645\u0645\u0627 \u064a\u064f\u0642\u0644\u0651\u0635 \u0627\u0644\u0641\u062c\u0648\u0629 \u0628\u064a\u0646 \u0627\u0644\u0646\u064a\u0629 \u0627\u0644\u0623\u0645\u0646\u064a\u0629 \u0648\u0627\u0644\u062a\u0646\u0641\u064a\u0630.<\/li>\n<li><strong>\u062a\u0628\u0646\u0651\u064a Sigstore:<\/strong> \u0623\u0646\u0638\u0645\u0629 \u0627\u0644\u062d\u0632\u0645 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629 (npm\u060c PyPI\u060c Maven Central) \u062a\u062a\u0628\u0646\u0649 Sigstore\u060c \u0645\u0645\u0627 \u064a\u0632\u064a\u062f \u0645\u0646 \u0627\u0644\u0625\u0644\u0645\u0627\u0645 \u0648\u0646\u0636\u062c \u0627\u0644\u0623\u062f\u0648\u0627\u062a \u0639\u0628\u0631 \u0627\u0644\u0635\u0646\u0627\u0639\u0629.<\/li>\n<\/ul>\n<h2>\u0627\u0644\u062e\u0644\u0627\u0635\u0629 \u0648\u0627\u0644\u062a\u0648\u0635\u064a\u0629<\/h2>\n<p>\u062a\u062d\u0644 \u0627\u0644\u0623\u062f\u0648\u0627\u062a \u0627\u0644\u062b\u0644\u0627\u062b \u062c\u0645\u064a\u0639\u0647\u0627 \u0627\u0644\u0645\u0634\u0643\u0644\u0629 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629 \u0627\u0644\u0645\u062a\u0645\u062b\u0644\u0629 \u0641\u064a \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0623\u0635\u0627\u0644\u0629 \u0635\u0648\u0631 \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a\u060c \u0644\u0643\u0646\u0647\u0627 \u062a\u062e\u062f\u0645 \u0633\u064a\u0627\u0642\u0627\u062a \u0645\u062e\u062a\u0644\u0641\u0629:<\/p>\n<ul>\n<li><strong>Cosign<\/strong> \u0647\u0648 \u0627\u0644\u062e\u064a\u0627\u0631 \u0627\u0644\u0623\u0641\u0636\u0644 \u0644\u0645\u0639\u0638\u0645 \u0627\u0644\u0641\u0631\u0642. \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d \u064a\u064f\u0632\u064a\u0644 \u0627\u0644\u0639\u0628\u0621 \u0627\u0644\u062a\u0634\u063a\u064a\u0644\u064a \u0627\u0644\u0630\u064a \u064a\u0642\u062a\u0644 \u0645\u0628\u0627\u062f\u0631\u0627\u062a \u0627\u0644\u062a\u0648\u0642\u064a\u0639\u060c \u0648\u0633\u062c\u0644 \u0627\u0644\u0634\u0641\u0627\u0641\u064a\u0629 \u064a\u0648\u0641\u0631 \u0642\u062f\u0631\u0627\u062a \u062a\u062f\u0642\u064a\u0642 \u062c\u0627\u0647\u0632\u0629\u060c \u0648\u0627\u0644\u062a\u0643\u0627\u0645\u0644 \u0645\u0639 \u0627\u0644\u0646\u0638\u0627\u0645 \u0627\u0644\u0628\u064a\u0626\u064a \u0647\u0648 \u0627\u0644\u0623\u0648\u0633\u0639. \u0625\u0630\u0627 \u0643\u0646\u062a \u062a\u0628\u062f\u0623 \u0645\u0628\u0627\u062f\u0631\u0629 \u062a\u0648\u0642\u064a\u0639 \u062d\u0627\u0648\u064a\u0627\u062a \u062c\u062f\u064a\u062f\u0629\u060c \u0627\u0628\u062f\u0623 \u0645\u0646 \u0647\u0646\u0627.<\/li>\n<li><strong>Notation<\/strong> \u0647\u0648 \u0627\u0644\u062e\u064a\u0627\u0631 \u0627\u0644\u0635\u062d\u064a\u062d \u0644\u0644\u0645\u0624\u0633\u0633\u0627\u062a \u0630\u0627\u062a PKI \u0627\u0644\u0631\u0627\u0633\u062e\u0629 \u0648\u0645\u062a\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u0627\u0645\u062a\u062b\u0627\u0644 \u0627\u0644\u0645\u062d\u062f\u062f\u0629 \u062d\u0648\u0644 \u062d\u0641\u0638 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d. \u0646\u0645\u0648\u0630\u062c \u0627\u0644\u0625\u0636\u0627\u0641\u0627\u062a \u0648\u0625\u0637\u0627\u0631 \u0633\u064a\u0627\u0633\u0629 \u0627\u0644\u062b\u0642\u0629 \u0645\u0635\u0645\u0645\u0627\u0646 \u0644\u0644\u0645\u0624\u0633\u0633\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u062d\u062a\u0627\u062c \u0633\u0644\u0637\u0629 \u062a\u0648\u0642\u064a\u0639 \u062f\u0642\u064a\u0642\u0629 \u0648\u0645\u064f\u0641\u0648\u0651\u0636\u0629.<\/li>\n<li><strong>GPG<\/strong> \u064a\u062c\u0628 \u062d\u062c\u0632\u0647 \u0644\u0644\u0628\u064a\u0626\u0627\u062a \u0627\u0644\u0642\u062f\u064a\u0645\u0629\u060c \u0648\u0627\u0644\u0623\u0646\u0638\u0645\u0629 \u0627\u0644\u0645\u0639\u0632\u0648\u0644\u0629 \u062a\u0645\u0627\u0645\u064b\u0627\u060c \u0623\u0648 \u0633\u064a\u0631 \u0639\u0645\u0644 Podman \u0627\u0644\u0623\u0635\u0644\u064a\u0629 \u062d\u064a\u062b \u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0623\u062f\u0648\u0627\u062a \u0627\u0644\u0623\u062e\u0631\u0649 \u0641\u0639\u0644\u0627\u064b. \u0644\u0644\u0646\u0634\u0631 \u0627\u0644\u062c\u062f\u064a\u062f\u060c \u0645\u0646 \u0627\u0644\u0635\u0639\u0628 \u062a\u0628\u0631\u064a\u0631 \u0627\u0644\u0639\u0628\u0621 \u0627\u0644\u062a\u0634\u063a\u064a\u0644\u064a \u0644\u0625\u062f\u0627\u0631\u0629 \u0645\u0641\u0627\u062a\u064a\u062d GPG.<\/li>\n<\/ul>\n<p>\u0627\u0644\u0623\u0647\u0645 \u0647\u0648 \u0623\u0646 <strong>\u062a\u0628\u062f\u0623 \u0628\u0627\u0644\u062a\u0648\u0642\u064a\u0639<\/strong>. \u062a\u0637\u0628\u064a\u0642 \u062a\u0648\u0642\u064a\u0639 \u063a\u064a\u0631 \u0645\u062b\u0627\u0644\u064a \u064a\u064f\u0634\u062d\u0646 \u0641\u0639\u0644\u0627\u064b \u0623\u0643\u062b\u0631 \u0642\u064a\u0645\u0629 \u0628\u0644\u0627 \u062d\u062f\u0648\u062f \u0645\u0646 \u062a\u0637\u0628\u064a\u0642 \u0645\u062b\u0627\u0644\u064a \u064a\u0628\u0642\u0649 \u0639\u0644\u0649 \u062e\u0627\u0631\u0637\u0629 \u0627\u0644\u0637\u0631\u064a\u0642. \u0627\u062e\u062a\u0631 \u0627\u0644\u0623\u062f\u0627\u0629 \u0627\u0644\u062a\u064a \u062a\u062a\u0646\u0627\u0633\u0628 \u0645\u0639 \u0642\u062f\u0631\u0627\u062a \u0641\u0631\u064a\u0642\u0643\u060c \u0648\u0646\u0641\u0651\u0630\u0647\u0627 \u0641\u064a \u0645\u0633\u0627\u0631\u0643\u060c \u0648\u0623\u0636\u0641 \u0628\u0648\u0627\u0628\u0627\u062a \u062a\u062d\u0642\u0642 \u0641\u064a Kubernetes. \u064a\u0645\u0643\u0646\u0643 \u062f\u0627\u0626\u0645\u064b\u0627 \u062a\u0637\u0648\u064a\u0631 \u0623\u062f\u0648\u0627\u062a\u0643 \u0644\u0627\u062d\u0642\u064b\u0627 \u2014 \u0627\u0644\u062e\u0637\u0648\u0629 \u0627\u0644\u062d\u0627\u0633\u0645\u0629 \u0647\u064a \u062a\u0631\u0633\u064a\u062e \u0627\u0644\u0645\u0645\u0627\u0631\u0633\u0629.<\/p>\n<p>\u0645\u0633\u062a\u0639\u062f \u0644\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u0639\u0645\u0644\u064a\u061f \u0627\u0628\u062f\u0623 \u0628\u0640<a href=\"https:\/\/secure-pipelines.com\/ar\/ci-cd-security\/signing-verifying-container-images-sigstore-cosign\/\">\u062f\u0644\u064a\u0644 \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Sigstore<\/a> \u0644\u0644\u0623\u0633\u0633 \u0627\u0644\u0645\u0641\u0627\u0647\u064a\u0645\u064a\u0629\u060c \u062b\u0645 \u0627\u0639\u0645\u0644 \u0639\u0644\u0649 <a href=\"https:\/\/secure-pipelines.com\/ar\/ci-cd-security\/lab-signing-verifying-container-images-cosign-github-actions\/\">\u0645\u062e\u062a\u0628\u0631 \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Cosign<\/a> \u0644\u062a\u0637\u0628\u064a\u0642\u0647 \u0641\u064a \u0645\u0633\u0627\u0631 GitHub Actions \u062d\u0642\u064a\u0642\u064a.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0644\u0645\u0627\u0630\u0627 \u064a\u064f\u0639\u062f\u0651 \u062a\u0648\u0642\u064a\u0639 \u0635\u0648\u0631 \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a \u0623\u0645\u0631\u064b\u0627 \u0645\u0647\u0645\u064b\u0627 \u0641\u064a \u0643\u0644 \u0645\u0631\u0629 \u062a\u0633\u062d\u0628 \u0641\u064a\u0647\u0627 \u0635\u0648\u0631\u0629 \u062d\u0627\u0648\u064a\u0629 \u0648\u062a\u0646\u0634\u0631\u0647\u0627 \u0641\u064a \u0628\u064a\u0626\u0629 \u0627\u0644\u0625\u0646\u062a\u0627\u062c\u060c \u0641\u0625\u0646\u0643 \u062a\u0645\u0646\u062d \u062b\u0642\u0629 \u0636\u0645\u0646\u064a\u0629 \u0644\u0647\u0630\u0627 \u0627\u0644\u0645\u064f\u062e\u0631\u064e\u062c. \u0644\u0643\u0646 \u0643\u064a\u0641 \u062a\u062a\u062d\u0642\u0642 \u0645\u0646 \u0623\u0646 \u0627\u0644\u0635\u0648\u0631\u0629 \u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u062a\u0644\u0627\u0639\u0628 \u0628\u0647\u0627\u061f \u0648\u0643\u064a\u0641 \u062a\u062a\u0623\u0643\u062f \u0623\u0646\u0647\u0627 \u0628\u064f\u0646\u064a\u062a \u0641\u0639\u0644\u0627\u064b \u0628\u0648\u0627\u0633\u0637\u0629 \u0645\u0633\u0627\u0631 CI\/CD \u0627\u0644\u062e\u0627\u0635 \u0628\u0643 \u0648\u0644\u064a\u0633 \u0645\u0646 \u0642\u0628\u0644 \u0645\u0647\u0627\u062c\u0645 \u0627\u062e\u062a\u0631\u0642 \u0633\u062c\u0644 \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a\u061f \u064a\u062d\u0644 \u062a\u0648\u0642\u064a\u0639 \u0635\u0648\u0631 \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a &#8230; <a title=\"\u0645\u0642\u0627\u0631\u0646\u0629 \u0623\u062f\u0648\u0627\u062a \u062a\u0648\u0642\u064a\u0639 \u0635\u0648\u0631 \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a: Cosign \u0645\u0642\u0627\u0628\u0644 Notation \u0645\u0642\u0627\u0628\u0644 GPG\" class=\"read-more\" href=\"https:\/\/secure-pipelines.com\/ar\/ci-cd-security\/container-image-signing-tools-compared-cosign-notation-gpg\/\" aria-label=\"Read more about \u0645\u0642\u0627\u0631\u0646\u0629 \u0623\u062f\u0648\u0627\u062a \u062a\u0648\u0642\u064a\u0639 \u0635\u0648\u0631 \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a: Cosign \u0645\u0642\u0627\u0628\u0644 Notation \u0645\u0642\u0627\u0628\u0644 GPG\">\u0627\u0642\u0631\u0623 \u0627\u0644\u0645\u0632\u064a\u062f<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26,27],"tags":[],"post_folder":[],"class_list":["post-800","post","type-post","status-publish","format-standard","hentry","category-ci-cd-security","category-software-supply-chain"],"_links":{"self":[{"href":"https:\/\/secure-pipelines.com\/ar\/wp-json\/wp\/v2\/posts\/800","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/secure-pipelines.com\/ar\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/secure-pipelines.com\/ar\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/secure-pipelines.com\/ar\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/secure-pipelines.com\/ar\/wp-json\/wp\/v2\/comments?post=800"}],"version-history":[{"count":0,"href":"https:\/\/secure-pipelines.com\/ar\/wp-json\/wp\/v2\/posts\/800\/revisions"}],"wp:attachment":[{"href":"https:\/\/secure-pipelines.com\/ar\/wp-json\/wp\/v2\/media?parent=800"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/secure-pipelines.com\/ar\/wp-json\/wp\/v2\/categories?post=800"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/secure-pipelines.com\/ar\/wp-json\/wp\/v2\/tags?post=800"},{"taxonomy":"post_folder","embeddable":true,"href":"https:\/\/secure-pipelines.com\/ar\/wp-json\/wp\/v2\/post_folder?post=800"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}