<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Security on plzhans blog</title><link>https://blog.plzhans.com/ja/categories/security/</link><description>Recent content in Security on plzhans blog</description><generator>Hugo</generator><language>ja</language><lastBuildDate>Sun, 30 Aug 2026 01:18:00 +0000</lastBuildDate><atom:link href="https://blog.plzhans.com/ja/categories/security/index.xml" rel="self" type="application/rss+xml"/><item><title>age 使い方まとめ: recipients でチームの秘密ファイルを暗号化し、秘密鍵で復号する</title><link>https://blog.plzhans.com/ja/posts/102-age-recipients-team-encryption-guide/</link><pubDate>Fri, 01 May 2026 22:57:00 +0000</pubDate><guid>https://blog.plzhans.com/ja/posts/102-age-recipients-team-encryption-guide/</guid><description>&lt;p&gt;&lt;picture&gt;&#10; &lt;source srcset="https://blog.plzhans.com/posts/102-age-recipients-team-encryption-guide/assets/1_38322a0f-7e83-80a2-ba17-e65632a1b3af_hu_88821804df89a8f9.webp" type="image/webp"&gt;&#10; &lt;img src="https://blog.plzhans.com/posts/102-age-recipients-team-encryption-guide/assets/1_38322a0f-7e83-80a2-ba17-e65632a1b3af_hu_1c922648875a6db4.png" alt="ageでチームの秘密ファイルを公開鍵(recipients)で暗号化し、秘密鍵で復号する流れを表したカバー画像" width="1200" height="670" loading="eager" fetchpriority="high"&gt;&#10; &lt;/picture&gt;&lt;/p&gt;&#10;&lt;h2 id="概要"&gt;概要&lt;/h2&gt;&#10;&lt;h3 id="age-とは"&gt;age とは？&lt;/h3&gt;&#10;&lt;p&gt;age は、ファイルを&lt;strong&gt;公開鍵（Recipient）ベースで簡単に暗号化・復号&lt;/strong&gt;できるツールです。&lt;/p&gt;&#10;&lt;p&gt;生成されるファイルは通常 &lt;code&gt;*.age&lt;/code&gt; として保存し、秘密鍵はローカルにのみ保管します。&lt;/p&gt;&#10;&lt;h3 id="age-が解決する問題"&gt;age が解決する問題&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;チームで機密設定ファイルを平文で共有せずに保存できます&lt;/li&gt;&#10;&lt;li&gt;recipient（公開鍵）リストを知っていれば誰でも暗号化でき、秘密鍵を持つ人だけが復号できます&lt;/li&gt;&#10;&lt;li&gt;使い方がシンプルなので CI やスクリプトに組み込みやすいです&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="gpg-との違い概要"&gt;GPG との違い（概要）&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;鍵の配布・検索&lt;/strong&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;GPG: 鍵サーバーに公開鍵をアップロードして検索・検証する文化があります&lt;/li&gt;&#10;&lt;li&gt;age: 鍵サーバーモデルは一般的ではなく、プロジェクト内の &lt;code&gt;recipients.txt&lt;/code&gt; のようなファイルで recipient を管理する場合が多いです&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;機能範囲&lt;/strong&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;GPG: 署名、Web of Trust、メール暗号化など機能が幅広いです&lt;/li&gt;&#10;&lt;li&gt;age: ファイル暗号化に特化しています（シンプルさが利点）&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;チーム運用&lt;/strong&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;age: &lt;code&gt;recipients&lt;/code&gt; ファイルにチームメンバーの公開鍵を追加・削除する方式が実務で直感的です&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;:lock: 秘密鍵ファイル（age-key）は絶対にリモートリポジトリにアップロードしないでください。必要な場合は CI Secret または別のシークレットストアを使用します。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="インストール"&gt;インストール&lt;/h2&gt;&#10;&lt;h3 id="macos"&gt;macOS&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Homebrew&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;brew install age&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="linux"&gt;Linux&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 1&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# RHEL/CentOS/Amazon Linux&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 2&lt;/span&gt;&lt;span class="cl"&gt;sudo yum install age&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 3&lt;/span&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 4&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Debian/Ubuntu&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 5&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# sudo apt install age&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 6&lt;/span&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 7&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Fedora&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 8&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# sudo dnf install age&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt; 9&lt;/span&gt;&lt;span class="cl"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;10&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Arch&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;11&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# sudo pacman -S age&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="windows"&gt;Windows&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;winget install FiloSottile.age&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Chocolatey: choco install age&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&#10;&lt;h2 id="基本的な使い方の流れ"&gt;基本的な使い方の流れ&lt;/h2&gt;&#10;&lt;h2 id="1-鍵の生成秘密鍵ファイルの作成"&gt;1) 鍵の生成（秘密鍵ファイルの作成）&lt;/h2&gt;&#10;&lt;p&gt;できるだけユーザーディレクトリの配下に作成します。&lt;/p&gt;</description></item></channel></rss>