メタデータアクセス許可 - AWS Lake Formation

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

メタデータアクセス許可

Lake Formation は、Data Catalog の認証とアクセスコントロールを行います。IAM ロールが任意のシステムから Data Catalog API 呼び出しを行うと、Data Catalog はユーザーのデータの許可を検証し、ユーザーがアクセス許可を持っているメタデータのみを返します。例えば、IAM ロールがデータベース内の 1 つのテーブルにのみアクセスでき、そのロールを引き受けるサービスまたはユーザーが GetTables 操作を実行した場合、データベース内のテーブルの数に関係なく、レスポンスには 1 つのテーブルのみが含まれます。

デフォルト設定 - IAMAllowedPrincipal グループのアクセス許可

AWS Lake Formationは、デフォルトでは、すべてのデータベースとテーブルのアクセス許可を IAMAllowedPrincipal という名前の仮想グループに設定します。このグループは一意で、Lake Formation 内でのみ見ることができます。IAMAllowedPrincipal グループには、IAM プリンシパルポリシーとリソース AWS Glue ポリシーを介して Data Catalog リソースにアクセスできるすべての IAM プリンシパルが含まれます。このアクセス許可がデータベースまたはテーブルに存在する場合、すべてのプリンシパルにデータベースまたはテーブルへのアクセス許可が付与されます。

データベースまたはテーブルに対してより詳細なアクセス許可を与える場合は、IAMAllowedPrincipal 許可を削除すると、Lake Formation はそのデータベースまたはテーブルに関連する他のすべてのポリシーを適用します。例えば、ユーザー A が DESCRIBE 許可でデータベース A にアクセスすることを許可するポリシーがあり、IAMAllowedPrincipal がすべての許可で存在する場合、ユーザー A は IAMAllowedPrincipal 許可が取り消されるまで、他のすべてのアクションを実行し続けます。

さらに、デフォルトでは、IAMAllowedPrincipal グループは、新しいデータベースとテーブルの作成時に、すべての許可を持っています。この動作を制御する設定は 2 つあります。1 つ目はアカウントとリージョンレベルで、新しく作成されたデータベースに対してこれを有効にするもので、2 つ目はデータベースレベルです。デフォルト設定を変更するには、「デフォルトのアクセス許可モデルを変更するか、ハイブリッドアクセスモードを使用する」を参照してください。

アクセス許可の付与

データレイク管理者は、プリンシパルに Data Catalog 許可を付与して、プリンシパルがデータベースとテーブルを作成および管理し、基盤となるデータにアクセスできるようにすることができます。

データベースとテーブルレベルのアクセス許可

Lake Formation 内で許可を付与する場合、付与者はアクセス許可を付与するプリンシパル、アクセス許可を付与するリソース、および付与対象者が実行できるアクセス権を持つべきアクションを指定する必要があります。Lake Formation 内のほとんどのリソースについて、権限を付与するプリンシパルリストとリソースは同様ですが、被付与者が実行できるアクションはリソースタイプによって異なります。例えば、テーブルに対しては、テーブルを読み取るための SELECT 許可が利用できますが、データベースに対しては SELECT 許可は利用できません。CREATE_TABLE 許可は、データベースではアクセス許可することができますが、テーブルではアクセス許可できません。

次の 2 つの方法を使用して AWS Lake Formation アクセス許可を付与できます。

  • 名前付きリソースメソッド — ユーザーに許可を付与する際に、データベースとテーブルの名前を選択できます。

  • LF タグベースのアクセス制御 (LF-TBAC) — ユーザーは LF タグを作成し、それらを Data Catalog リソースに関連付け、LF タグに対する Describe 許可を付与し、個々のユーザーにアクセス許可を関連付け、LF タグを使用して LF 許可ポリシーをさまざまなユーザーに書き込みます。このような LF タグベースのポリシーは、それらの LF タグ値に関連付けられているすべての Data Catalog リソースに適用されます。

    注記

    LF タグは Lake Formation に固有のものです。これらは Lake Formation でのみ表示されるため、 AWS リソースタグと混同しないでください。

    LF-TBAC は、ユーザーがリソースをユーザー定義の LF タグカテゴリにグループ化し、それらのリソースグループにアクセス許可を適用できるようにする機能です。したがって、これは膨大な数の Data Catalog リソースにわたってアクセス許可をスケーリングする最適な方法です。

    詳細については、「Lake Formation のタグベースのアクセス制御」を参照してください。

プリンシパルにアクセス許可を付与すると、Lake Formation はアクセス許可をそのユーザーのすべてのポリシーの統合として評価します。例えばテーブルにプリンシパル用の 2 つのポリシーがあり、一方のポリシーが名前付きリソースメソッドを使用して列 col1、col2、col3 に許可を付与し、もう一方のポリシーが LF タグを使用して同じテーブルとプリンシパルへのアクセス許可を col5 と col6 に付与する場合、有効なアクセス許可は col1、col2、col3、col5、col6 という許可の和になります。これにはデータフィルターと行も含まれます。

データロケーション許可

データロケーション許可は、管理者以外のユーザーが特定の Amazon S3 のロケーションに対してデータベースとテーブルを作成できるようにします。作成するためのアクセス許可のない場所にユーザーがデータベースまたはテーブルを作成しようとすると、作成タスクは失敗します。これは、ユーザーがデータレイク内の任意の場所にテーブルを作成することを防ぎ、ユーザーがデータを読み書きできる場所を制御できるようにするためです。作成先のデータベース内の Amazon S3 ロケーションにテーブルを作成する場合、暗黙的なアクセス許可が存在します。詳細については、「データロケーション許可の付与」を参照してください。

テーブルとデータベースのアクセス許可の作成

管理者以外のユーザーには、デフォルトではデータベースまたはデータベース内のテーブルを作成する権限がありません。データベースの作成は、権限のあるプリンシパルのみがデータベースを作成できるように、Lake Formation 設定を使用してアカウントレベルで制御されます。詳細については、「データベースを作成する」を参照してください。テーブルを作成するには、プリンシパルにはテーブルが作成されているデータベースに対する CREATE_TABLE 許可が必要です。詳細については、「テーブルの作成」を参照してください。

暗黙的なアクセス許可および明示的なアクセス許可

Lake Formation では、ペルソナとペルソナが実行するアクションに応じて暗黙的なアクセス許可が提供されます。例えば、データレイク管理者は、Data Catalog 内のすべてのリソースに対する DESCRIBE 許可、すべてのロケーションに対するデータロケーション許可、すべてのロケーションのデータベースとテーブルの作成許可、および任意のリソースに対する Grant 許可と Revoke 許可を自動的に取得します。データベース作成者は作成したデータベースに対するすべてのデータベース許可を自動的に取得し、テーブル作成者は作成したテーブルに対するすべてのアクセス許可を取得します。詳細については、「黙示的な Lake Formation 許可」を参照してください。

付与可能なアクセス許可

データレイク管理者は、付与可能なアクセス許可を付与することで、管理者以外のユーザーにアクセス許可の管理を委任することができます。プリンシパルにリソースに対する付与可能なアクセス許可と一連のアクセス許可が与えられると、そのプリンシパルはそのリソースの他のプリンシパルにアクセス許可を付与できるようになります。