type
status
date
slug
summary
tags
category
icon
password
 

理論

AWS KMS とデータ暗号化の本質

AWS Key Management Service (KMS) は、データの暗号化とキー管理を簡素化するフルマネージドサービスです。主に以下の2つの方法でデータ暗号化を行います:
  1. サーバー側暗号化 (SSE)
      • データがAWSサービス(例:S3)に保存される際に自動で暗号化されます。
      • KMSを使って暗号化キーを管理します。
  1. クライアント側暗号化
      • クライアント側でデータを暗号化し、その後暗号化されたデータをAWSにアップロードします。
      • KMSは暗号化キーを生成・管理し、クライアントに提供します。

主要なアクションと権限

  • kms:GenerateDataKey:クライアントが暗号化に使用するデータキーを生成するために必要。KMSから共通鍵CMKを取得する権限
  • kms:Encrypt:データをKMSで暗号化するために必要。KMSに、指定した鍵でEncrypt権限
  • kms:Decrypt:暗号化されたデータを復号するために必要。KMSに、指定した鍵でDecrypt権限

IAMポリシーの設定

KMSにアクセスするためには、適切なIAMポリシーで権限を設定する必要があります。例えば、kms:Encryptkms:GenerateDataKeyを許可することで、データ暗号化が可能になります。

まとめ

  • KMSはデータ暗号化とキー管理を担当し、暗号化処理をサポートします。
  • クライアント側暗号化サーバー側暗号化は異なるアプローチでデータ保護を実現します。
  • 適切な権限設定が重要で、KMSを使用する際は適切なIAMポリシーでアクセスを管理する必要があります。

実践

一問道場

質問 #96
トピック 1
ソリューションアーキテクトは、オブジェクトが新しい Amazon S3 バケットに保存される際に、クライアントサイドの暗号化メカニズムを実装する必要があります。
ソリューションアーキテクトは、この目的のために AWS Key Management Service (AWS KMS) に保存された CMK を作成しました。
ソリューションアーキテクトは、次の IAM ポリシーを作成し、それを IAM ロールに添付しました:
テスト中、ソリューションアーキテクトは S3 バケット内の既存のテストオブジェクトを正常に取得できましたが、新しいオブジェクトをアップロードしようとしたところ、「アクションは禁止されています」というエラーメッセージが表示されました。このエラーメッセージは、アップロードの試行が失敗したことを示しています。
この要件を満たすために、ソリューションアーキテクトは IAM ポリシーにどのアクションを追加する必要がありますか?
A. kms:GenerateDataKey
B. kms:GetKeyPolicy
C. kms:GetPublicKey
D. kms:Sign

解説

この問題は、クライアントサイド暗号化を使用して Amazon S3 バケットにオブジェクトを保存する際に、必要な IAM ポリシーが適切に設定されていない場合に発生するエラーについて説明しています。具体的には、S3 バケットにオブジェクトをアップロードする際に、暗号化に関連する追加の権限が不足していることが原因です。

ポリシーの解析:

  • S3 バケットのアクセス権限 (s3:GetObject, s3:PutObject, など): これらは、S3 バケット内のオブジェクトを取得したり、アップロードしたりするために必要な基本的な権限です。この部分は問題ありません。
  • KMS アクセス権限 (kms:Decrypt, kms:Encrypt): これらは、AWS KMS を使用してデータを暗号化または復号化するための権限です。しかし、クライアントサイド暗号化を使用する場合、暗号化のために KMS キーを利用する際に、データキーの生成が必要です。

クライアントサイド暗号化の処理:

クライアントサイド暗号化では、データがアップロードされる前に、まずクライアント側でデータを暗号化し、その暗号化に使用するデータキーが KMS から生成される必要があります。これを行うために、kms:GenerateDataKey 権限が必要です。この権限は、クライアントが KMS からデータ暗号化に必要なデータキーを生成するために必要です。

正解:

A. kms:GenerateDataKey
このアクションを追加することで、クライアントは暗号化に使用するデータキーを KMS から生成できるようになり、オブジェクトのアップロードが成功するようになります。

他の選択肢の説明:

  • B. kms:GetKeyPolicy: これは KMS キーのポリシーを取得するための権限ですが、データキーを生成するためには必要ありません。
  • C. kms:GetPublicKey: 公開鍵を取得するための権限であり、クライアントサイド暗号化に必要なデータキーを生成するためには関係ありません。
  • D. kms:Sign: データに署名するための権限ですが、暗号化や復号化に関連する操作には関係しません。

結論:

クライアントサイド暗号化を利用するためには、kms:GenerateDataKey アクションをポリシーに追加する必要があります。これにより、S3 バケットへのオブジェクトのアップロードが正常に行えるようになります。
相关文章
クラウド技術の共有 | AWS Site-to-Site
Lazy loaded image
EKSでのWordPressデプロイ:KCNA-JP試験対策 (Kubernetes実践編)
Lazy loaded image
初心者向け!コンテナ化WordPressサイト構築ガイド(超詳細版)
Lazy loaded image
EFSを活用!AWS EC2でDockerを使ったWordPressサイト構築
Lazy loaded image
529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
Lazy loaded image
528-AWS SAP AWS 「理論・実践・一問道場」Migration Evaluator
Lazy loaded image
097-AWS SAP AWS 「理論・実践・一問道場」Count095-AWS SAP AWS 「理論・実践・一問道場」Lift-and-shift
Loading...
みなみ
みなみ
一个普通的干饭人🍚
最新发布
02-生成AIパスポート試験対策:第2章「生成AI」
2025-2-1
01-生成AIパスポート試験対策:第1章「人口知能」
2025-2-1
究極のAWS認定 AI 実践者 AIF-C01 - 学習メモ
2025-1-27
不要再傻傻的直接买NISA啦
2025-1-27
Kubernetes、仮想マシンとコンテナの概念を超簡単に解説!
2025-1-24
529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
2025-1-22
公告
🎉欢迎访问我的博客🎉
- 感谢您的支持 --
本站点于2024/09/01建立
👏主要分享IT相关主题👏
系统管理:
Redhat…
容器和编排:
Kubernetes、Openshift…
云计算:
AWS、IBM…
AI入门
以及技术笔记和考证经验
定期更新,欢迎互动。
感谢访问!
快速浏览相关标签