1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWS KMSのカスタマーマネージドキーの使用権限は、IAMロールとキーポリシーがある

Posted at

はじめに

S3やストレージの暗号化の際に利用できるAWS KMSというサービスがあります。
キーのタイプとして、AWSが作ったAWSマネージドキーと、自分で作るカスタマーマネージドキーがあります。

今回はカスタマーマネージドキーでEC2のストレージを暗号化する際に、キー使用の権限で勘違いしていたことがあったので、記事にしました。

概要

  • カスタマーマネージドキー作成の際に、使用するユーザー・ロールを指定してキーポリシーに追加できる。
  • キーポリシーでユーザー・ロールを指定しなくても、IAM側で対象のキーを使用できる権限があれば使える。
    • 正確には、キーポリシーに IAMで許可されたら使える設定 がデフォルトで入っている。
  • IAM側で使用可を明示していなくても、キーポリシーに指定すれば使える。
  • IAM側で明示的に拒否されていると、キーポリシーに入れても使えない。

参考

困ったこと

EC2のストレージを暗号化するために、以下のキーを作りました。

image.png
ただし、キーポリシーで使用できるユーザを誰も指定していません。
image.png

これを使って、ストレージを暗号化したEC2を作ってみます。キーポリシーで誰も指定していないから、失敗すると思っていました。
image.png

作れちゃいました。
image.png
停止もできました。
image.png

キーの効果がないのかな、と思い、キーを無効にして、起動を試みました。
image.png
保留中にはなるのですが、すぐに停止済みになってしまいます。起動に失敗するということは、暗号化したストレージを復号できないということなので、ちゃんとキーを用いて暗号化しているようです。
image.png

キーを再度有効にすると、ちゃんと起動します。
キーポリシーになにも指定していないのに、なぜ暗号化できるのか、わかりませんでした。

実際は

キーのポリシービューに答えがありました。
image.png

参考のページにもありますが、IAMで許可されたら使える設定になっていました。
image.png

試す

ではIAMでKMSの操作を持たないたユーザーを作って試してみます。

createPu.yml
Resources:
  MyIAMUser:
    Type: AWS::IAM::User
    Properties:
      LoginProfile:
        Password: myP@ssW0rd
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/AmazonEC2FullAccess

このユーザーで、先ほどのEC2を停止->開始を試みてみます。
KMSが使えないので、起動できません。
image.png

ではキーポリシーに、このユーザーを追加してみます。
image.png

もう一度起動を試みると、起動しました。
image.png

なお以下のように、IAMポリシーで明確に拒否されていると、キーポリシーに追加しても起動できませんでした。

Resources:
  MyIAMUser:
    Type: AWS::IAM::User
    Properties:
      LoginProfile:
        Password: myP@ssW0rd
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/PowerUserAccess
      Policies:
      - PolicyName: denyKms
        PolicyDocument:
          Statement:
          - Effect: Deny
            Action:
            - kms:*
            Resource: '*'

おわりに

今回はKMSでの暗号化で、自分の理解不足を記事にしました。
AWS認定のSCSの範囲とのことですので、次はSCSの取得を目指そうと思います。
この記事がどなたかのお役に立てれば幸いです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?