0
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 Glue データカタログ(暗号化済み)へのクロスアカウントアクセスを試してみた

Last updated at Posted at 2023-04-30

背景・目的

こちらの記事でGlueデータカタログへのアクセスを試しましたが、提供側のメタ情報を暗号化した場合に、そのままだとアクセスできません。
本記事では、メタ情報を暗号化しクロスアカウントアクセスする方法を試してみます。

image.png

まとめ

暗号化したデータカタログにクロスアカウントアクセスするには、Customer managed keyを作成し、キーポリシーのPrincipalを指定します。

概要

Data Catalog の暗号化

こちらのData Catalog の暗号化を元に整理します。
暗号化されるオブジェクトは、下記のとおりです。

  • データベース
  • テーブル
  • パーティション
  • テーブルのバージョン
  • Connect
  • ユーザ定義関数

暗号化に使用できる鍵は、下記のとおりです。このうち、AWS managed keyについてはクロスアカウントアクセスできないため、Customer managed keyを使用します。

  • AWS managed key
  • Customer managed key

実践

KMSキーの作成

  1. 下記を設定し、「次へ」をクリックします。

    • キーのタイプ:対象
    • キーの使用:暗号化および複合化
      image.png
  2. エイリアスを指定し、「次へ」をクリックします。
    image.png

  3. 管理者の設定等を設定し作成します。
    image.png

Glue Data catalog settings

  1. Encryption optionsで「Metadata encryption」をチェックし、先ほど作成したCustomer managed keyを指定し、「Save」をクリックします。
    image.png

KMSのキーポリシーを修正

  1. このままでは、クロスアカウントでアクセスができません。下記はAthenaのクエリエディタを参照した際のエラーです。
    image.png

  2. キーポリシーに、複合のために「kms:Decrypt」を追加します。

    {
        "Sid": "Enable IAM User Permissions",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::{アカウントB}:root"
        },
        "Action": "kms:Decrypt",
        "Resource": "arn:aws:kms:{リージョン名}:{アカウントA}:key/{キーID}"
    }
    

クロスアカウント(アカウントB)のAthenaで確認

  1. 確認できました。
    image.png

考察

今回、暗号化済みデータカタログへのクロスアカウントでアクセスする方法を試しました。このようなケースは、多々あるかと思いますので、忘れないようにメモとして残しておきます。

参考

0
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
0
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?