LF-TBAC 方式を使用したデータレイク許可の付与 - AWS Lake Formation

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

LF-TBAC 方式を使用したデータレイク許可の付与

LF タグに対する DESCRIBEASSOCIATE の Lake Formation 許可をプリンシパルに付与して、プリンシパルが LF タグを表示し、データカタログリソース (データベース、テーブル、ビュー、列) に割り当てるようにできます。LF タグがデータカタログリソースに割り当てられているときには、Lake Formation のタグベースのアクセスコントロール (LF-TBAC) 方法を使用して、これらのリソースをセキュリティで保護できます。詳細については、「Lake Formation のタグベースのアクセス制御」を参照してください。

最初は、データレイク管理者のみがこれらの許可を付与できます。データレイク管理者が grant オプションと共にこれらの許可を付与すると、他のプリンシパルがそれらを付与できるようになります。DESCRIBE 許可と ASSOCIATE 許可は、「Lake Formation のタグベースのアクセスコントロールのベストプラクティスと考慮事項」で説明されています。

LF タグに対する DESCRIBEおよび アクセスASSOCIATE許可を外部 AWS アカウントに付与できます。そうすると、そのアカウントのデータレイク管理者が、アカウント内の他のプリンシパルにこれらの許可を付与できるようになります。外部アカウントのデータレイク管理者が ASSOCIATE アクセス許可を付与したプリンシパルは、アカウントを共有するデータカタログリソースに LF タグを割り当てることができます。

外部アカウントに付与するときは、grant オプションを含める必要があります。

AWS Lake Formation コンソール、API、または AWS Command Line Interface () を使用して、LF タグに対するアクセス許可を付与できますAWS CLI。

データカタログ許可の付与

Lake Formation コンソールまたは を使用して、Lake Formation のタグベースのアクセスコントロール (LF-TBAC) メソッドを使用して、データカタログデータベース、テーブル、ビュー、および列に対する Lake Formation アクセス許可 AWS CLI を付与します。

Console

以下は、Lake Formation のタグベースのアクセスコントロール (LF-TBAC) 方式と Lake Formation コンソールの [データレイクのアクセス許可を付与] ページを使用して、許可を付与する方法を説明する手順です。このページは、以下のセクションに分かれています。

  • プリンシパル – アクセス許可を付与 AWS アカウント するユーザー、ロール、および 。

  • [LF-Tags or catalog resources] (LF タグまたはカタログリソース) – 付与する許可の対象となるデータベース、テーブル、またはリソースリンク。

  • [Permissions] (許可) – 付与される Lake Formation 許可。

  1. [データレイクのアクセス許可を付与] ページを開きます。

    https://console.aws.amazon.com/lakeformation/ で AWS Lake Formation コンソールを開き、データレイク管理者として、または 許可オプションを使用して LF-TBAC を介して Data Catalog リソースに対する Lake Formation 許可を付与されたユーザーとしてサインインします。

    ナビゲーションペインの [Permissions] (許可) で [Data lake permissions] (データレイクの許可) を選択します。次に、[Grant] (付与) を選択します。

  2. プリンシパルを指定します。

    [Principals] (プリンシパル) セクションでプリンシパルタイプを選択してから、許可の付与先となるプリンシパルを指定します。

    [プリンシパル] セクションには、次のテキストを使用した名前が付いている 4 つのタイルが含まれています。各タイルには、オプションボタンとテキストがあります。[IAM アイデンティティセンター] タイルが選択されており、タイルの下に [ユーザーとグループ] ドロップダウンリストがあります。
    IAM ユーザーとロール

    [IAM users and roles] (IAM ユーザーおよびロール) リストから、1 人、または複数のユーザーまたはロールを選択します。

    IAM アイデンティティセンター

    [ユーザーとグループ] リストから、1 人、または複数のユーザーを選択します。

    SAML ユーザーとグループ

    [SAML and Amazon QuickSight users and groups] (SAML および Amazon QuickSight のユーザーとグループ) の場合は、SAML 経由でフェデレートされたユーザーまたはグループに 1 つ、または複数の Amazon リソースネーム (ARN) を入力するか、Amazon QuickSight のユーザーまたはグループに ARN を入力します。各 ARN の後で Enter キーを押します。

    ARN の構築方法については、「Lake Formation の許可と取り消し AWS CLI のコマンド」を参照してください。

    注記

    Lake Formation の Amazon QuickSight との統合がサポートされるのは、Amazon QuickSight Enterprise Edition のみです。

    外部アカウント

    AWS アカウント、 AWS 組織、または IAM プリンシパルには、IAM ユーザーまたはロールの 1 つ以上の有効な AWS アカウント IDs、組織 IDs、組織単位 IDs、または ARN を入力します。各 ID の後で [Enter] キーを押します。

    組織 ID は、最初の「o-」と、その後に続く 10~32 個の小文字または数字で構成されています。

    組織単位 ID は「ou-」で始まり、その後に 4~32 個の小文字または数字 (OU が含まれるルートの ID) が続きます。この文字列の後には、2 番目の「-」ダッシュと 8~32 個の追加の小文字または数字が続きます。

  3. LF タグを指定します。

    [LF タグに一致するリソース] オプションが選択されていることを確認します。LF タグのキーと値のペアまたは保存された LF タグ式を選択します。

    1. LF タグのキーと値のペアオプションを選択した場合は、キーと値を選択します。

      複数の値を選択する場合は、OR 演算子で LF タグ式を作成することになります。これは、LF タグの値のいずれかが Data Catalog リソースに割り当てられた LF タグと一致する場合、そのリソースに対する許可が付与されることを意味します。

      [LF-Tag or catalog resources] (LF タグまたはカタログリソース) セクションには、水平に配置された 2 つのタイルがあり、各タイルにはオプションボタンと説明テキストが含まれています。オプションは、[Resources matched by LF-Tags] (LF タグに一致するリソース) (推奨) と [Named data catalog resources] (名前付きの Data Catalog リソース) です。LF タグに一致するリソースが選択されています。タイルの下には、水平に配置されている [Key] (キー) フィールドと [Value] (値) フィールドがあります。[Key] (キー) フィールドには「module」(モジュール) が表示されており、[Value] (値) フィールドは [Orders] (注文)、[Sales] (売上)、および [Customers] (顧客) の 3 つのエントリが含まれるドロップダウンリストになっています。各エントリには、チェックボックスが関連付けられています。[Customers] (顧客) のチェックボックスがオンになっています。これら 2 つのフィールドの右側には、[Remove] (削除) ボタンがあります。最下部に [Add LF-Tag] (LF タグを追加) ボタンがあり、[Key] (キー) フィールドと [Value] (値) フィールド、および [Remove] (削除) ボタンが含まれる別の行を追加できることを示しています。
    2. (オプション) LF タグのキーと値のペアを再度追加を選択して、別の LF タグを指定します。

      複数の LF タグを指定する場合は、AND 演算子で LF タグ式を作成することになります。プリンシパルには、LF タグ式内の各 LF タグに一致する LF タグが Data Catalog リソースに割り当てられている場合にのみ、その Data Catalog リソースに対する許可が付与されます。

    3. 式を再利用するには、新しい式として保存オプションを選択します。

      式を保存Create LF-Tag expressionする必要があります。

      LF タグ式の詳細については、「」を参照してくださいメタデータアクセスコントロール用の LF タグ式の管理

  4. 許可を指定します。

    一致するデータカタログリソースに対してプリンシパルに付与する許可を指定します。一致するリソースとは、プリンシパルに付与された LF タグ式の 1 つに一致する LF タグが割り当てられたリソースです。

    一致するデータベース、一致するテーブル、および一致するビューについて付与する許可を指定できます。

    ページの 2 つのセクションが表示されています。[Database permissions] (データベースの許可) セクションには、[Database permissions] (データベースの許可) と [Grantable permissions] (付与可能な許可) のチェックボックスがあります。[Database] (データベース) セクションの下にある [Table permissions] (テーブルの許可) セクションには、[Table permissions] (テーブルの許可) と [Grantable permissions] (付与可能な許可) のチェックボックスが表示されています。

    [Database permissions] (データベースの許可) で、プリンシパルに付与される、一致するデータベースに対するデータベース許可を選択します。

    [テーブルの許可] で、プリンシパルに付与される、一致するテーブルとビューに対するテーブルまたはビューのアクセス許可を選択します。

    [テーブルの許可] から SelectDescribeDrop 許可を選択してビューに適用することもできます。

  5. [Grant] (付与) を選択します。

AWS CLI

AWS Command Line Interface (AWS CLI) および Lake Formation のタグベースのアクセスコントロール (LF-TBAC) メソッドを使用して、Data Catalog データベース、テーブル、および列に対する Lake Formation 許可を付与できます。

AWS CLI と LF-TBAC 方式を使用したデータレイク許可の付与
  • grant-permissions コマンドを実行します。

    以下の例は、LF タグ式「module=*」(LF タグのキー module のすべての値) をユーザー datalake_user1 に付与します。このユーザーは、一致するすべてのデータベース、つまり、module キーと任意の値を持つ LF タグが割り当てられているデータベースに対する CREATE_TABLE 許可を持つようになります。

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "CREATE_TABLE" --resource '{ "LFTagPolicy": {"CatalogId":"111122223333","ResourceType":"DATABASE","Expression":[{"TagKey":"module","TagValues":["*"]}]}}'

    以下の例では、LF タグ式「(level=director) AND (region=west OR region=south)」をユーザー datalake_user1 に付与します。このユーザーは、一致するテーブル、つまり level=director と (region=west または region=south) の両方が割り当てられているテーブルに対する grant オプション付きの SELECTALTER、および DROP 許可を持つようになります。

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" "ALTER" "DROP" --permissions-with-grant-option "SELECT" "ALTER" "DROP" --resource '{ "LFTagPolicy": {"CatalogId":"111122223333","ResourceType":"TABLE","Expression": [{"TagKey": "level","TagValues": ["director"]},{"TagKey": "region","TagValues": ["west", "south"]}]}}'

    次の例では、LF タグ式module=orders「」を AWS アカウント 1234-5678-9012 に付与します。付与後、このアカウント内のデータレイク管理者は、そのアカウント内のプリンシパルに「module=orders」式を付与できるようになります。そうすると、これらのプリンシパルは、名前付きリソース方式または LF-TBAC 方式のいずれかを使用することで、アカウント 1111-2222-3333 が所有し、アカウント 1234-5678-9012 と共有されるデータベースに対する CREATE_TABLE 許可を持つようになります。

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=123456789012 --permissions "CREATE_TABLE" --permissions-with-grant-option "CREATE_TABLE" --resource '{ "LFTagPolicy": {"CatalogId":"111122223333","ResourceType":"DATABASE","Expression":[{"TagKey":"module","TagValues":["orders"]}]}}'