AWS Lake Formation構築時にadministrator設定を行うときの注意点
はじめに
AWS Lake Formationはデータレイクの管理を統括するサービスとして非常に有用です。
データレイクの構築と管理を効率化できる一方で、初期設定時にはいくつか注意が必要な点があります。
今回は、Lake Formation構築時にadministrator設定を行うときの注意点について解説します。
AWS Lake Formationとは?
今回、弊社開発部ではデータガバナンスを強化するために、AWS Lake Formation(以降、AWSを省略)を導入することにしました。
Lake Formationについては、以下のように説明されています。
AWS Lake Formation は、分析と機械学習のためにデータを一元管理、保護、グローバルに共有することを支援します。Lake Formation では、Amazon Simple Storage Service (Amazon S3) 上のデータレイクデータと AWS Glue Data Catalogの関連メタデータに対するきめ細かなアクセスコントロールを管理できます。
Lake Formationのadministrator設定
Lake Formationを利用する際には、事前にLake Formationのadministratorを設定する必要があります。
この設定を行うことで、Lake Formationの設定が可能になります。
この設定は AdministratorAccess
ポリシーを持っていても別途設定が必要です。
こちらの設定は、CloudFormationのUser Guideで設定が存在しないため、現状マネジメントコンソールから設定を行う必要があります。
MorisawaAdministratorというロールにAdministrator権限を付与しています。
AWSLakeFormationDataAdminロールとは
Lake Formationでは、データレイクの管理者を設定する必要があります。その際に主に利用されるのが「AWSLakeFormationDataAdmin」ロールです。
このロールは、データレイク内のリソースに対する完全な制御権限を持ち、データカタログの管理やデータレイクのアクセス許可の設定などを行うことができます。言わば、Lake Formationにおける「スーパーユーザー」のような位置付けです。
設定時の注意点
AWSLakeFormationDataAdminロールのポリシーを抜粋します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AWSLakeFormationDataAdminAllow",
"Effect": "Allow",
"Action": [
"lakeformation:*",
・・・,
],
"Resource": "*"
},
{
"Sid": "AWSLakeFormationDataAdminDeny",
"Effect": "Deny",
"Action": [
"lakeformation:PutDataLakeSettings"
],
"Resource": "*"
}
]
}
ここで注目すべきポイントとしては lakeformation:PutDataLakeSettings
が「Deny」されている点です。
この権限の困るところは AWSLakeFormationDataAdmin
ロールを準備して、Lake Formationのadministrator設定を行おうとしても、権限エラーになって設定できないという点です。
まとめ
本稿では、AWS Lake Formation構築時におけるAWSLakeFormationDataAdminロールの設定に関する重要な注意点について解説いたしました。
AdministratorAccess
を持っていても別途Lake Formationのadministrator設定が必要なことと、 AWSLakeFormationDataAdmin
を持っている場合は、この設定ができないことに注意が必要です。
AWS Lake Formationは初期設定に若干の複雑さがありますが、適切に構成することでデータガバナンスの強化とデータ活用の促進に大きく貢献します。本稿が皆様のデータレイク構築の一助となれば幸いです。
Discussion