<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>暗号化 | 徒然なるままに</title>
	<atom:link href="https://www.seichan.org/tag/%E6%9A%97%E5%8F%B7%E5%8C%96/feed" rel="self" type="application/rss+xml" />
	<link>https://www.seichan.org</link>
	<description>徒然と日々の出来事(ネタ)を書いていこうかと．主に FreeBSD，Unix系の話題が中心ですが，その他の話題もあつかってみたり．</description>
	<lastBuildDate>Thu, 15 Oct 2026 22:02:29 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>
	<item>
		<title>【クラウド入門 第9回】IAMとセキュリティ 後編 ― KMSとエンベロープ暗号化、暗号化の実践、Secrets ManagerとParameter Store、ACM、GuardDuty・Security Hub、WAF・Shield・Network Firewall、Azureとの対応</title>
		<link>https://www.seichan.org/2026/10/cloud-09-kms-secrets-security.html</link>
					<comments>https://www.seichan.org/2026/10/cloud-09-kms-secrets-security.html#respond</comments>
		
		<dc:creator><![CDATA[seichan]]></dc:creator>
		<pubDate>Thu, 15 Oct 2026 09:00:00 +0000</pubDate>
				<category><![CDATA[クラウド]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[セキュリティ]]></category>
		<category><![CDATA[暗号化]]></category>
		<guid isPermaLink="false">https://www.seichan.org/?p=8653</guid>

					<description><![CDATA[AWS で鍵・秘密・証明書を守り、攻撃に気づいて止める仕組みを、オンプレの PKI や境界防御と対応させて解説します。KMS とエンベロープ暗号化、サービスごとの暗号化の既定、Secrets Manager と Parameter Store の使い分け、ACM の無料証明書と自動更新、GuardDuty・Security Hub・Inspector などの検知、WAF・Shield・Network Firewall・DNS Firewall、ID とセキュリティの Azure との対応表まで。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「アプリの設定ファイルに RDS のパスワードを書いたまま、Git のリポジトリに入れてしまっていました。どこに置き直せばよいでしょうか。パスワードを定期的に変える仕組みもほしいです」<br>「ACM で無料の証明書を発行して ALB では使えたのに、CloudFront のディストリビューションの設定画面では、その証明書が一覧に出てきません」</p>



<p class="wp-block-paragraph">第8回では、IAM のユーザー・ロールとポリシー、評価の順序、STS、Identity Center、Organizations と SCP・RCP を見ました。「誰が何をしてよいか」を決めても、それだけでは守りきれません。ディスクやバックアップのデータ、DB のパスワード、TLS の証明書をどう守るか、そして攻撃や設定の不備にどう気づき、入口でどう止めるかが残ります。オンプレでは HSM や社内 PKI、パスワードの金庫、IDS や WAF の装置が担っていた役目です。</p>



<p class="wp-block-paragraph">後編の第9回では、KMS による暗号化、どこで何を暗号化するか、Secrets Manager と Parameter Store、ACM、検知のサービス、WAF・Shield・Network Firewall による境界防御を扱い、前編と後編の範囲をまとめた Azure との対応表で締めくくります。数値・料金は2026年9月時点のもので、料金は東京リージョンの例です。</p>


<div class=".for-sp">
<div id="im-5078de7a65f140ac9d12a50b8ac9ee9c">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567719,asid:1946055,type:"banner",display:"inline",elementid:"im-5078de7a65f140ac9d12a50b8ac9ee9c"})</script>
</div>
</div>

<div class=".for-pc">
<!-- admax -->
<script src="https://adm.shinobi.jp/s/8ae3a18ff526e95e579f5814fddd88f6"></script>
<!-- admax -->
<!--
<div id="im-3931cf74888b4888ae5fb170df744749">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567718,asid:1946233,type:"banner",display:"inline",elementid:"im-3931cf74888b4888ae5fb170df744749"})</script>
</div>
-->
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">データの暗号化：KMS</a></li><li><a href="#toc2" tabindex="0">暗号化の実践：どこで何を暗号化するか</a></li><li><a href="#toc3" tabindex="0">シークレットの管理：Secrets Manager と Parameter Store</a></li><li><a href="#toc4" tabindex="0">証明書：ACM（AWS Certificate Manager）</a></li><li><a href="#toc5" tabindex="0">検知と防御のサービス群</a></li><li><a href="#toc6" tabindex="0">境界防御：WAF・Shield・Network Firewall</a></li><li><a href="#toc7" tabindex="0">Azure との対応表：ID・セキュリティ</a></li><li><a href="#toc8" tabindex="0">考えてみよう</a></li><li><a href="#toc9" tabindex="0">まとめ</a></li><li><a href="#toc10" tabindex="0">連載「クラウド入門」全14回</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">データの暗号化：KMS</span></h2>



<p class="wp-block-paragraph">AWS KMS（Key Management Service）は、暗号鍵を生成・保管・利用するマネージドサービスです。鍵を守る専用装置である HSM（ハードウェアセキュリティモジュール）を、FIPS 140-3 レベル3で AWS が運用しています（HSM で CA の鍵を守る話は、このブログの連載「証明書入門」第5回の「ルートCA・中間CA・サーバー証明書」で詳しく扱っています）。鍵は「KMS キー」（旧 CMK）として ARN を持ち、EBS・S3・RDS・EFS・Secrets Manager・CloudTrail など、ほぼすべてのサービスが「このキーで暗号化する」と指定できます。</p>



<p class="wp-block-paragraph">実際のデータは KMS キーで直接暗号化されるのではなく、<strong>エンベロープ暗号化</strong>（データキーでデータを暗号化し、そのデータキーを KMS キーで暗号化して一緒に保存）で処理されます。KMS の API 呼び出しは、鍵の暗号化・復号にだけ使われます。</p>



<p class="wp-block-paragraph">鍵には<strong>キーポリシー</strong>（リソースベース）が必須で、「誰が使えるか」「誰が管理できるか」を分けられます。<strong>AWS 管理キー</strong>（<code>aws/ebs</code> など、無料・自動）と<strong>カスタマー管理キー</strong>（月 1 USD、ローテーション・削除・キーポリシーを自分で制御。2026年9月時点、東京リージョンの例）があり、監査の要件があれば後者を使います。鍵の削除は7〜30日の待機期間を必ず挟み、削除すると<strong>そのキーで暗号化したデータは二度と復号できません</strong>。Organizations と RCP（第8回の「AWS Organizations と SCP」の節）を組み合わせ、「組織外の主体は KMS を使えない」とすれば、データの持ち出しを鍵の側で止められます。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.seichan.org/blog/wp-content/uploads/2026/10/cloud09-s089.png" alt="上の「AWS KMS（HSM・FIPS 140-3 L3）」から左下へ「① GenerateDataKey」の矢印で「データキー（平文）」、右下へ「② KMS キーで暗号化」の矢印で「暗号化済み データキー」、データキーから下へ「③ 手元で暗号化」の矢印で「データ本体」、データ本体から右へ「④」の矢印で「暗号化データ＋暗号化データキーを保存」へつながり、中央に「復号時は暗号化データキーを KMS に渡して平文キーを取り戻す（KMS は鍵だけ扱う）」、その下に太字で「エンベロープ暗号化：大きなデータを KMS に送らず、鍵の暗号化・復号だけを API で行う」、下の枠「KMS キーの種類とポリシー」に「AWS 管理キー（aws/ebs、aws/s3 …）：無料・自動ローテーション」「カスタマー管理キー：月 1 USD。キーポリシー（誰が使う／管理する）、ローテーション、削除（7〜30 日の待機）を自分で制御」「削除すると復号は二度と不可。RCP で「組織外の主体は使えない」データ境界に」とあり、KMS のエンベロープ暗号化とキーの種類を示す図"/></figure>



<ul class="wp-block-list">
<li><strong>HSM</strong> ベースの鍵管理。ほぼ全サービスが KMS キーを指定できる</li>


<li><strong>エンベロープ暗号化</strong>：データキーで暗号化、データキーを KMS で保護</li>


<li>AWS 管理キー（無料）とカスタマー管理キー（監査・制御が必要なとき）</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc2">暗号化の実践：どこで何を暗号化するか</span></h2>



<p class="wp-block-paragraph">対象ごとの暗号化の仕組みと既定の状態です。</p>



<figure class="wp-block-table"><table><thead><tr><th>対象</th><th>仕組み</th><th>既定</th><th>備考</th></tr></thead><tbody><tr><td>EBS</td><td>SSE（KMS）</td><td>アカウント設定で「既定で暗号化」を有効化できる</td><td>暗号化ボリュームのスナップショットも暗号化。性能影響はほぼなし</td></tr><tr><td>S3</td><td>SSE-S3／SSE-KMS／SSE-C／クライアント側</td><td>2023-01 から SSE-S3 が既定</td><td>SSE-KMS はキーポリシーでアクセス制御を二重化できる</td></tr><tr><td>RDS／Aurora</td><td>ストレージ暗号化（KMS）</td><td>作成時に選択。<strong>後から有効化不可</strong>（スナップショット経由で作り直し）</td><td></td></tr><tr><td>EFS／FSx</td><td>保存時（KMS）＋転送時（TLS）</td><td></td><td></td></tr><tr><td>通信</td><td>TLS（ACM 証明書。この回の「証明書：ACM」）、VPN、DX の MACsec</td><td></td><td><strong>AWS 内部の AZ 間・リージョン間はリンク層で暗号化済み</strong></td></tr><tr><td>Secrets／パラメータ</td><td>Secrets Manager／Parameter Store（SecureString）</td><td></td><td></td></tr><tr><td>ログ</td><td>CloudTrail・CloudWatch Logs の KMS 暗号化</td><td></td><td></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Well-Architected のセキュリティの柱（第13回）は「保存時・転送時の暗号化」を原則としており、Config ルール（<code>encrypted-volumes</code>、<code>s3-bucket-server-side-encryption-enabled</code>）で暗号化されていないものを検出します。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc3">シークレットの管理：Secrets Manager と Parameter Store</span></h2>



<p class="wp-block-paragraph">DB のパスワードや API キーは、コードや設定ファイルではなく専用のサービスに置きます。</p>



<ul class="wp-block-list">
<li><strong>AWS Secrets Manager</strong>：DB のパスワード・API キーなどを暗号化して保管し、<strong>自動ローテーション</strong>（RDS・Redshift・DocumentDB は組み込み、ほかは Lambda で実装）ができる。シークレット1件あたり月 0.40 USD＋API 呼び出し（2026年9月時点、東京リージョンの例）。RDS の「マスターパスワードを Secrets Manager で管理」を選ぶと最初から連携される</li>


<li><strong>Systems Manager Parameter Store</strong>：設定値と <code>SecureString</code>（KMS 暗号化）を階層的に保管。<strong>標準パラメータは無料</strong>。ローテーションは無い</li>


<li>使い分け：ローテーションと監査が要るなら Secrets Manager、単なる設定値・小規模なら Parameter Store</li>


<li>アプリからの取得：SDK か、ECS のタスク定義／Lambda の環境変数への注入。<strong>コードや AMI・ユーザーデータ・Git に書かない</strong></li>


<li>GitHub に AWS のアクセスキーを push する事故は今も多い。AWS はキーを検出すると自動で隔離ポリシーを付ける（<code>AWSCompromisedKeyQuarantineV3</code>）が、<strong>そもそも恒久キーを作らない</strong>（前編の第8回の「STS（Security Token Service）と AssumeRole」「ID 連携：IAM Identity Center と SAML」の節）のが本質的な対策</li>
</ul>



<p class="wp-block-paragraph">冒頭の1つ目の相談がこれです。パスワードは Secrets Manager に移し、RDS の組み込みの自動ローテーションを有効にして、アプリは起動時に SDK で取得します。Git に一度入れたパスワードは履歴に残り続けるので、移すだけでなく<strong>パスワード自体も変えます</strong>。ローテーションを有効にすれば、その最初の切り替えも Secrets Manager に任せられます。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.seichan.org/blog/wp-content/uploads/2026/10/cloud09-s091.png" alt="上段に「アプリ ECS／Lambda／EC2」から「起動時に SDK で取得」の矢印で「Secrets Manager」へ、Secrets Manager と「RDS」の間に両向きの矢印「自動ローテーション」、右の「Parameter Store」から「SecureString」の矢印で「KMS」へ、中段の枠「使い分け」に橙の箱「Secrets Manager 0.40 USD/件・月＋API 呼び出し ローテーション・監査が必要なら」と青の箱「Parameter Store 標準パラメータは無料 設定値・小規模なら」、下段の赤い枠「やってはいけない置き場所」に「Git に push」「AMI・ユーザーデータ」「コードに直書き」と「検出されると隔離ポリシー AWSCompromisedKeyQuarantineV3 が付く」、線の下に太字で「本質的な対策：恒久キーを作らない（ロール・Identity Center → 第8回）」とあり、シークレットの置き場所と使い分けを示す図"/></figure>


<div class=".for-sp">
<div id="im-c929b2770f964f7f88505b9ee7500db9">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567719,asid:1946057,type:"banner",display:"inline",elementid:"im-c929b2770f964f7f88505b9ee7500db9"})</script>
</div>
</div>

<div class=".for-pc">
<!-- admax -->
<script src="https://adm.shinobi.jp/s/a1cf34f40c7d6f1acda2feeee1bc3a16"></script>
<!-- admax -->
<!--
<div id="im-3b5a2348efcc4b7a9435e1334f6172f2">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567718,asid:1946056,type:"banner",display:"inline",elementid:"im-3b5a2348efcc4b7a9435e1334f6172f2"})</script>
</div>
-->
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc4">証明書：ACM（AWS Certificate Manager）</span></h2>



<p class="wp-block-paragraph">ACM は、TLS サーバー証明書の発行・更新・配備をマネージドで行うサービスです。<strong>パブリック証明書は無料</strong>で、Amazon Trust Services（ルート CA は Starfield 系）から発行され、主要なブラウザー・OS に信頼されています。</p>



<p class="wp-block-paragraph">ドメインの所有確認は DNS 検証（Route 53 なら CNAME を自動で追加）かメール検証で、DNS 検証にしておけば<strong>有効期限の前に自動で更新</strong>され、期限切れの事故が構造的に起きません（期限切れの事故の実例は、このブログの連載「証明書入門」第8回の「期限切れ事故の実例」で詳しく扱っています）。2026年2月からは、CA/ブラウザフォーラムの決定に合わせて有効期間が最長198日になり、期限の45日前に自動で更新されます。</p>



<p class="wp-block-paragraph">用途は ELB、CloudFront、API Gateway など AWS のサービスへの配備が基本で、EC2 の Nginx にそのまま入れることは長らくできませんでしたが、2025年6月から<strong>エクスポート可能なパブリック証明書</strong>（有料、秘密鍵を取り出せる）が追加されました。<strong>CloudFront 用の証明書は us-east-1 で発行する</strong>必要がある点は定番の注意点です。冒頭の2つ目の相談がこれで、CloudFront は us-east-1（バージニア北部）の ACM の証明書しか使えないため、東京リージョンで発行した証明書は一覧に出ません。同じドメイン名の証明書を us-east-1 でもう一度発行します（DNS 検証で、Route 53 なら CNAME の追加も自動です）。外部の CA（DigiCert など）で取得した証明書を ACM にインポートして ELB で使うこともできます（更新は手動です）。</p>



<p class="wp-block-paragraph">社内の PKI が必要なら <strong>AWS Private CA</strong>（月額の CA 料金＋証明書ごとの課金）でプライベート CA を運用でき、IoT やサービス間の mTLS の証明書を発行できます。ACM と Private CA の詳しい使い方は、このブログの連載「証明書入門」第9回の「ACM（AWS Certificate Manager）」と「AWS Private CAとAzureの対応」で詳しく扱っています。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.seichan.org/blog/wp-content/uploads/2026/10/cloud09-s092-1.png" alt="上段に「ACM」と左の「Route 53 DNS 検証の CNAME を自動追加」の間に両向きの矢印「所有確認」、ACM から右へ「発行」の矢印で「パブリック証明書 無料・自動更新」、中段の枠「配備先（ACM が鍵を管理、期限切れ事故が構造的に起きない）」に「ELB」「CloudFront（us-east-1 で発行）」「API Gateway」、下段の左の緑の枠「エクスポート可能証明書（2025-06〜）」に「有料。秘密鍵を取り出して EC2 の Nginx 等に入れられる」、右の枠「外部 CA のインポート」に「DigiCert 等の証明書を ELB で使う。更新は手動」、最下段の枠「AWS Private CA」に「社内 PKI：月額の CA 料金＋証明書ごとの課金。IoT・サービス間 mTLS の証明書を発行（→ 連載「証明書入門」）」とあり、ACM の発行と配備先を示す図"/></figure>



<ul class="wp-block-list">
<li>パブリック証明書は<strong>無料</strong>、<strong>DNS 検証で自動更新</strong></li>


<li>配備先は ELB／CloudFront／API Gateway。<strong>CloudFront は us-east-1</strong></li>


<li>エクスポート可能証明書（2025〜、有料）、外部証明書のインポート、Private CA</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc5">検知と防御のサービス群</span></h2>



<p class="wp-block-paragraph">AWS には、脅威や設定の不備を見つけるサービスがそろっています。</p>



<figure class="wp-block-table"><table><thead><tr><th>サービス</th><th>役割</th><th>入力・仕組み</th></tr></thead><tbody><tr><td>Amazon GuardDuty</td><td>脅威検知（不正なログイン、マイニング、C2 通信、S3 の異常アクセス）</td><td>CloudTrail・VPC Flow Logs・DNS ログ・EKS 監査ログを機械学習で分析。エージェント不要</td></tr><tr><td>AWS Security Hub</td><td>各サービスの検出結果を集約し、CIS／AWS 基礎セキュリティベストプラクティスに照らしてスコア化</td><td>Config・GuardDuty・Inspector・Macie の集約</td></tr><tr><td>Amazon Inspector</td><td>EC2・ECR・Lambda の<strong>脆弱性スキャン</strong>（CVE、ネットワーク到達性）</td><td>SSM エージェント経由（エージェントの無い EC2 は EBS スナップショットによるエージェントレスのスキャン）。継続的</td></tr><tr><td>Amazon Macie</td><td>S3 内の個人情報・機密情報の検出</td><td>機械学習</td></tr><tr><td>Amazon Detective</td><td>インシデントの調査（関係グラフの可視化）</td><td>GuardDuty の結果を深掘り</td></tr><tr><td>AWS Config</td><td>設定の記録とルール違反の検出（第11回）</td><td></td></tr><tr><td>IAM Access Analyzer</td><td>外部に公開されているリソース、未使用の権限の検出</td><td></td></tr><tr><td>AWS CloudTrail</td><td>操作の証跡（第11回）</td><td></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">まず <strong>CloudTrail・GuardDuty・Security Hub・Config の4つを Organizations 全体で有効化</strong>するのが最初の一手です。GuardDuty には30日の無料試用があり、費用は分析するログの量に比例します。</p>



<p class="wp-block-paragraph">なお、表の「CIS／AWS 基礎セキュリティベストプラクティスに照らしてスコア化」する機能は、2025年に名前が <strong>AWS Security Hub CSPM</strong> に変わりました（旧 Security Hub）。いまの「AWS Security Hub」は、GuardDuty や Inspector などの結果を関連付けて優先度を付ける新しいサービスを指します。コンソールや資料を見るときは、どちらの話かを確かめてください。</p>


<div class=".for-sp">
<div id="im-e200ff972f7b43fe9c8c2a7b60698c08">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567719,asid:1946060,type:"banner",display:"inline",elementid:"im-e200ff972f7b43fe9c8c2a7b60698c08"})</script>
</div>
</div>

<div class=".for-pc">
<!-- admax -->
<script src="https://adm.shinobi.jp/s/b379fcf4fc1a53eab29cb4ffbda7f14f"></script>
<!-- admax -->
<!--
<div id="im-4f0e910e1dca4503a73e8d9a2678879f">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567718,asid:1946059,type:"banner",display:"inline",elementid:"im-4f0e910e1dca4503a73e8d9a2678879f"})</script>
</div>
-->
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc6">境界防御：WAF・Shield・Network Firewall</span></h2>



<p class="wp-block-paragraph">入口と VPC の境界で攻撃を止めるサービスです。</p>



<ul class="wp-block-list">
<li><strong>AWS WAF</strong>：ALB・CloudFront・API Gateway・AppSync の前段で HTTP リクエストを検査する Web アプリケーションファイアウォール。<strong>マネージドルール</strong>（OWASP Top 10 相当、既知の悪性 IP、Bot 制御）と、自作のルール（レートベース：例として同一 IP から5分に 2,000 リクエストを超えたら遮断、国別、ヘッダーの条件）を使える。HTTP のメソッド・ヘッダー・URI の知識がルール作りに直結する（このブログの連載「HTTP入門」第2回の「メソッド」、第3回の「主なヘッダー（リクエスト）」、第10回の「WAFとAPIゲートウェイ」で詳しく扱います）</li>


<li><strong>AWS Shield Standard</strong>：L3/L4 の DDoS 緩和の機能。<strong>全利用者に無料・自動</strong>で適用され、CloudFront／Route 53 と組み合わせるとエッジで吸収できる</li>


<li><strong>Shield Advanced</strong>：月 3,000 USD（2026年9月時点）。L7 の DDoS 対応、DDoS 対応チーム（SRT）への24時間のアクセス、攻撃によるスケールアウトの費用の保護</li>


<li><strong>AWS Network Firewall</strong>：VPC 内に置くマネージドの L3〜L7 のファイアウォール（Suricata 互換のルール、ドメイン名のフィルター、IDS/IPS）。SG／NACL では書けない「特定のドメインへのアウトバウンドだけを許可」ができる</li>


<li><strong>Firewall Manager</strong>：Organizations 全体に WAF・SG・Network Firewall のポリシーを強制できる</li>


<li><strong>Route 53 Resolver DNS Firewall</strong>：VPC からの DNS クエリをドメインリストで遮断する（マルウェアの C2 通信の対策。オンプレの RPZ に当たる。このブログの連載「DNS入門」第9回の「保護的DNS・RPZ・DNSファイアウォール」と、第10回の「クエリーログ・DNS Firewall・Global Resolver」で詳しく扱っています）</li>
</ul>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.seichan.org/blog/wp-content/uploads/2026/10/cloud09-s094-1.png" alt="左に「インターネット」と「Bot／DDoS」から右の枠「エッジ／境界」へ矢印、その枠に「Shield Standard 無料・自動（L3/L4）」と「AWS WAF L7・マネージドルール」、そこから下の紫の枠「VPC」へ矢印、VPC の中に「Network Firewall Suricata・ドメイン制御」と「ALB／CloudFront（WAF の付け先）」、下の枠「ルール例と役割分担」に「WAF：レートベース（同一 IP 5 分 2,000 req 超で遮断）、OWASP Top 10、国別、Bot 制御」「Shield Advanced：月 3,000 USD。L7 DDoS・SRT・スケールアウト費用の保護」「Network Firewall：SG／NACL で書けない「特定ドメインへの発信のみ許可」」「Firewall Manager：組織全体に WAF・SG ポリシーを強制」「DNS Firewall：C2 ドメインを Resolver で遮断（→ 連載「DNS入門」の RPZ）」とあり、境界防御のサービスの配置と役割を示す図"/></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc7">Azure との対応表：ID・セキュリティ</span></h2>



<p class="wp-block-paragraph">Azure では、ID の基盤が独立したサービス（Entra ID）になっている点が大きな違いです。</p>



<figure class="wp-block-table"><table><thead><tr><th>AWS</th><th>Azure</th><th>補足</th></tr></thead><tbody><tr><td>IAM（ユーザー・グループ）</td><td><strong>Microsoft Entra ID</strong>（テナント）</td><td>Azure は ID 基盤が独立したサービス。AWS の IAM は AWS 内部のもの</td></tr><tr><td>IAM ポリシー／ロール</td><td>Azure RBAC（ロール定義＋スコープ＋割り当て）</td><td>Azure は「ロール」を「スコープ（管理グループ／サブスクリプション／RG／リソース）」に割り当てる</td></tr><tr><td>IAM ロール（サービス用）</td><td>マネージド ID（システム割り当て／ユーザー割り当て）</td><td></td></tr><tr><td>STS／AssumeRole</td><td>Entra ID トークン（OAuth 2.0）、Privileged Identity Management（PIM、時間限定の昇格）</td><td></td></tr><tr><td>IAM Identity Center</td><td>Entra ID そのもの（＋条件付きアクセス）</td><td>Azure は最初から SSO 前提</td></tr><tr><td>Managed Microsoft AD</td><td>Entra Domain Services</td><td>Entra ID 本体は LDAP/Kerberos 非対応（連載「LDAP入門」第10回の「クラウドの LDAP」）</td></tr><tr><td>Organizations／SCP</td><td>管理グループ／Azure Policy（Deny 効果）</td><td>Azure Policy は Config ルール＋SCP の両方の役割</td></tr><tr><td>KMS</td><td>Azure Key Vault（キー）</td><td>Key Vault は鍵・シークレット・証明書を 1 つで扱う</td></tr><tr><td>Secrets Manager／Parameter Store</td><td>Key Vault（シークレット）／App Configuration</td><td></td></tr><tr><td>ACM</td><td>Key Vault（証明書）／App Service マネージド証明書</td><td></td></tr><tr><td>GuardDuty／Security Hub／Inspector</td><td>Microsoft Defender for Cloud（CSPM＋CWPP）</td><td>Defender for Cloud が複数の役割を兼ねる</td></tr><tr><td>Macie</td><td>Microsoft Purview</td><td></td></tr><tr><td>WAF／Shield</td><td>Azure WAF（Application Gateway／Front Door）／Azure DDoS Protection</td><td></td></tr><tr><td>Network Firewall</td><td>Azure Firewall（Premium で IDPS）</td><td></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Kerberos については補足があります。Entra ID は DC の代わりにはなりませんが、Azure Files などの特定のサービスのために Kerberos のチケットを出す「Entra Kerberos」があります（このブログの連載「Kerberos入門」第12回の「クラウドの Kerberos」で詳しく扱います）。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc8">考えてみよう</span></h2>



<ol class="wp-block-list">
<li>暗号化を有効にせずに作った RDS のインスタンスがあります。後から暗号化するにはどうしますか。また、これから暗号化されていない EBS や S3 が作られたときに気づくには、何を使いますか</li>


<li>EC2 のアプリが使う DB のパスワードは、今どこに置かれていますか。Secrets Manager と Parameter Store のどちらに移すか、ローテーションの要否から考えてください</li>


<li>ALB で公開しているログイン画面に、同じ IP アドレスから短い間に大量のリクエストが来ています。どのサービスのどんなルールで止めますか。L3/L4 の大きな DDoS には、何が備えになりますか</li>
</ol>



<p class="wp-block-paragraph"><strong>ヒント</strong>：1は「暗号化の実践：どこで何を暗号化するか」、2は「シークレットの管理」、3は「境界防御：WAF・Shield・Network Firewall」の節を見直してください。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc9">まとめ</span></h2>



<ul class="wp-block-list">
<li><strong>KMS</strong> は HSM で鍵を守り、データは<strong>エンベロープ暗号化</strong>で扱う。キーを削除すると、そのキーで暗号化したデータは二度と復号できない</li>


<li>暗号化は<strong>保存時と転送時</strong>が原則。S3 は既定で暗号化、EBS はアカウントの既定にでき、<strong>RDS は後から有効にできない</strong></li>


<li>パスワードや API キーは <strong>Secrets Manager</strong>（ローテーション）か <strong>Parameter Store</strong>（無料の設定値）に置き、コードや Git に書かない</li>


<li><strong>ACM</strong> のパブリック証明書は無料で、DNS 検証なら自動で更新される。<strong>CloudFront 用は us-east-1</strong> で発行する</li>


<li>まず <strong>CloudTrail・GuardDuty・Security Hub・Config</strong> を組織全体で有効にし、入口は <strong>WAF・Shield</strong> で守る</li>


<li>Azure では <strong>Entra ID</strong> が ID 基盤として独立し、<strong>Key Vault</strong> が鍵・シークレット・証明書を、<strong>Defender for Cloud</strong> が検知を兼ねる</li>
</ul>



<p class="wp-block-paragraph">次回は、RDS・Aurora・DynamoDB を中心に、AWS のデータベースを扱います。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc10">連載「クラウド入門」全14回</span></h2>



<ol class="wp-block-list">
<li><a href="https://www.seichan.org/2026/10/cloud-01-what-is-cloud.html" target="_blank">クラウドとは（定義・歴史・責任分界）</a></li>


<li><a href="https://www.seichan.org/2026/10/cloud-02-aws-overview.html" target="_blank">AWSの全体像</a></li>


<li><a href="https://www.seichan.org/2026/10/cloud-03-ec2-basics.html" target="_blank">コンピューティング 前編（EC2・Nitro・インスタンスタイプ・AMI・IMDS）</a></li>


<li><a href="https://www.seichan.org/2026/10/cloud-04-compute-scaling.html" target="_blank">コンピューティング 後編（課金と購入オプション・Auto Scaling・ELB・コンテナ・Lambda）</a></li>


<li><a href="https://www.seichan.org/2026/10/cloud-05-storage.html" target="_blank">ストレージ</a></li>


<li><a href="https://www.seichan.org/2026/10/cloud-06-vpc-network.html" target="_blank">ネットワーキング 前編（VPC・サブネット・SG・NACL）</a></li>


<li><a href="https://www.seichan.org/2026/10/cloud-07-network-connectivity.html" target="_blank">ネットワーキング 後編（DNS・接続・Route 53・CloudFront）</a></li>


<li><a href="https://www.seichan.org/2026/10/cloud-08-iam-organizations.html" target="_blank">IAMとセキュリティ 前編（IAM・ポリシー・STS・ID連携・Organizations）</a></li>


<li><strong>IAMとセキュリティ 後編（KMS・シークレット・ACM・検知と防御）（この記事）</strong></li>


<li><a href="https://www.seichan.org/2026/10/cloud-10-database.html" target="_blank">データベース</a></li>


<li>運用・監視・コスト 前編（CloudWatch・CloudTrail・Config・SSM）</li>


<li>運用・監視・コスト 後編（タグ・転送料金・コスト管理・Control Tower・IaC）</li>


<li>Well-Architectedフレームワーク</li>


<li>これまでのテーマとAWSの対応・まとめ</li>
</ol>
]]></content:encoded>
					
					<wfw:commentRss>https://www.seichan.org/2026/10/cloud-09-kms-secrets-security.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
