メタデータアクセスコントロールのための LF タグの管理 - AWS Lake Formation

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

メタデータアクセスコントロールのための LF タグの管理

Lake Formation のタグベースのアクセスコントロール (LF-TBAC) 方法を使用して、データカタログリソース (データベース、テーブル、および列) をセキュリティで保護するには、LF タグを作成し、それらをリソースに割り当てて、LF タグアクセス許可をプリンシパルに付与します。

LF タグを Data Catalog リソースに割り当てたり、アクセス許可をプリンシパルに付与したりする前に、LF タグを定義する必要があります。LF タグを作成できるのは、データレイク管理者または LF タグ作成者アクセス許可を持つプリンシパルのみです。

LF タグ作成者

LF タグ作成者は、LF タグを作成および管理するアクセス許可を持つ非管理者プリンシパルです。データレイク管理者は、Lake Formation コンソールまたは CLI を使用して LF タグ作成者を追加できます。LF タグ作成者には、LF タグを更新および削除したり、LF タグをリソースに割り当てたり、他のプリンシパルに LF タグアクセス許可と LF タグ値アクセス許可を付与したりするための暗黙の Lake Formation アクセス許可があります。

LF タグ作成者のロールにより、データレイク管理者はタグキーや値の作成や更新などのタグ管理タスクを管理者以外のプリンシパルに委任できます。データレイク管理者は LF タグ作成者に付与可能な Create LF-Tag アクセス許可を付与することもできます。その後、LF タグ作成者は、LF タグを作成するアクセス許可を他のプリンシパルに付与できます。

LF タグに対する次の 2 種類のアクセス許可を付与できます。

  • LF タグアクセス許可 - Create LF-TagAlter、および Drop。これらのアクセス許可は、LF タグの作成、更新、および削除に必要です。

    データレイク管理者と LF タグ作成者は、作成した LF タグに対するこれらのアクセス許可を暗黙的に持ち、これらのアクセス許可をプリンシパルに明示的に付与し、データレイク内のタグを管理できます。

  • LF タグのキーと値のペアのアクセス許可 - AssignDescribe、および Grant with LF-Tag expressions。これらのアクセス許可は、LF タグをデータカタログデータベース、テーブル、列に割り当てたり、Lake Formation タグベースのアクセスコントロールを使用してリソースに対するアクセス許可をプリンシパルに付与したりするために必要です。LF タグ作成者は、LF タグを作成するときに、これらのアクセス許可を暗黙的に受け取ります。

Create LF-Tag アクセス許可を受け取り、LF タグの作成に成功すると、LF タグ作成者は、LF タグをリソースに割り当てて、LF タグアクセス許可 (Create LF-TagAlterDrop) を管理者以外の他のプリンシパルに付与して、データレイク内のタグを管理できます。Lake Formation コンソール、API、または AWS Command Line Interface (AWS CLI) を使用して、LF タグを管理できます。

注記

データレイク管理者は、LF タグの作成、更新、削除、LF タグのリソースへの割り当て、および LF タグアクセス許可のプリンシパルへの付与を行う暗黙的な Lake Formation アクセス許可を持っています。

ベストプラクティスと考慮事項については、「Lake Formation のタグベースのアクセスコントロールのベストプラクティスと考慮事項」を参照してください。

LF タグのライフサイクル

  1. LFタグ作成者のマイケルが LF タグ module=Customers を作成します。

  2. マイケルは LF タグに対する Associate をデータエンジニアであるエデュアルドに付与します。Associate の付与は、Describe を黙示的に付与します。

  3. マイケルはテーブル Custs に対する grant オプション付きの Super をエデュアルドに付与して、エデュアルドがそのテーブルに LF タグを割り当てることができるようにします。詳細については、「Data Catalog リソースへの LF タグの割り当て」を参照してください。

  4. エデュアルドは LF タグ module=customers をテーブル Custs に割り当てます。

  5. マイケルがデータエンジニアであるサンドラに以下の付与を行います (疑似コードを使用)。

    GRANT (SELECT, INSERT ON TABLES) ON TAGS module=customers TO Sandra WITH GRANT OPTION
  6. サンドラがデータアナリストであるマリアに以下の付与を行います。

    GRANT (SELECT ON TABLES) ON TAGS module=customers TO Maria

    マリアが Custs テーブルにクエリを実行できるようになります。

以下も参照してください。

Lake Formation のタグベースのアクセス制御と IAM の属性ベースのアクセス制御の比較

属性ベースのアクセス制御 (ABAC) は、属性に基づいて許可を定義する認可戦略です。これらの属性は、AWS でタグと呼ばれています。タグは、IAM エンティティ (ユーザーまたはロール) を含めた IAM リソース、および AWS リソースにアタッチできます。IAM プリンシパルに対して、単一の ABAC ポリシー、または少数のポリシーのセットを作成できます。これらの ABAC ポリシーは、プリンシパルのタグがリソースタグと一致するときに操作を許可するように設計することができます。ATBAC は、急成長する環境や、ポリシー管理が煩雑になる状況で役に立ちます。

クラウドセキュリティチームとガバナンスチームは、Amazon S3 バケット、Amazon EC2 インスタンス、および ARN で参照できるすべてのリソースを含めたすべてのリソースに対するアクセスポリシーとセキュリティ許可を定義するために IAM を使用します。IAM ポリシーは、例えば Amazon S3 バケット、プレフィックスレベル、またはデータベースレベルでアクセスを許可または拒否するために、データレイクリソースに対する広範な (粗粒度の) 許可を定義します。IAM ABAC の詳細については、「IAM ユーザーガイド」の「AWS の ABAC とは」を参照してください。

例えば、project-access タグキーを使用して 3 つのロールを作成できます。最初のロールのタグ値を Dev、2 番目を Marketing、3 番目を Support に設定します。適切な値を持つタグをリソースに割り当てます。そうすることで、project-access に関してロールとリソースが同じ値でタグ付けされているときにアクセスを許可する単一のポリシーを使用できます。

データガバナンスチームは、特定のデータレイクリソースに対するきめ細かな許可を定義するために Lake Formation を使用します。LF タグはデータカタログリソース (データベース、テーブル、および列) に割り当てられ、プリンシパルに付与されます。リソースの LF タグと一致する LF タグを持つプリンシパルは、そのリソースにアクセスできます。Lake Formation 許可は IAM 許可に次ぐ二次的なものです。例えば、IAM アクセス許可がユーザーにデータレイクへのアクセスを許可していない場合、プリンシパルとリソースの LF タグが一致する場合でも、Lake Formation はそのデータレイク内のリソースへのアクセスをそのユーザーに付与しません。

Lake Formation のタグベースのアクセス制御 (LF-TBAC) は、IAM ABAC と連動して Lake Formation のデータとリソースに追加の許可レベルを提供します。

  • Lake Formation TBAC 許可は、イノベーションとともにスケールします。新しいリソースへのアクセスを許可するために、管理者が既存のポリシーを更新する必要はありません。例えば、Lake Formation 内で特定のデータベースへのアクセスを提供するために project-access タグでの IAM ABAC 戦略を使用するとします。LF-TBAC を使用することで、LF タグProject=SuperApp は特定のテーブルや列に 割り当てられ、同じ LF タグがそのプロジェクトのデベロッパーに付与されます。デベロッパーは IAM を通じてデータベースにアクセスでき、LF-TBAC 許可はこのデベロッパーに特定のテーブル、またはテーブル内の列への追加のアクセス権を付与します。新しいテーブルがプロジェクトに追加される場合、Lake Formation 管理者は、新しいテーブルにタグを割り当てて、デベロッパーにそのテーブルへのアクセス権が付与されるようするだけで済みます。

  • Lake Formation TBAC では、必要な IAM ポリシーが少なくなります。ユーザーは Lake Formation リソースに対する高レベルのアクセス権を付与するために IAM ポリシーを使用し、より精密なデータアクセスの管理のために Lake Formation TBAC を使用するので、作成する IAM ポリシーが少なくなります。

  • Lake Formation TBAC を使用することで、チームのより迅速な変化と成長が可能になります。これは、新しいリソースの許可が属性に基づいて自動的に付与されるためです。例えば、新しいデベロッパーがプロジェクトに参加する場合、IAM ロールをユーザーに関連付けてから、必要な LF タグをユーザーに割り当てることで、このデベロッパーにアクセス権を簡単に付与できます。新しいプロジェクトをサポートするためや、新しい LF タグを作成するために IAM ポリシーを変更する必要はありません。

  • Lake Formation TBAC を使用することで、よりきめ細かな許可が可能になります。IAM ポリシーは、Data Catalog のデータベースやテーブルなどのトップレベルリソースへのアクセス権を付与します。Lake Formation TBAC を使用することで、特定のデータ値が含まれる特定のテーブルやカラムにアクセス権を付与することができます。

注記

IAM タグと LF タグは同じではありません。これらのタグは置き換え可能ではありません。LF タグは Lake Formation アクセス許可を付与するために使用され、IAM タグは IAM ポリシーを定義するために使用されます。