細粒度のアクセスコントロールのための方式 - AWS Lake Formation

細粒度のアクセスコントロールのための方式

データレイクでは、データに対する細粒度のアクセスコントロールを持つことが目標になります。これは、Lake Formation では Data Catalog リソースと Amazon S3 ロケーションに対する細粒度のアクセスコントロールを意味します。細粒度のアクセスコントロールは、以下の方式のいずれかを使用して達成することができます。

方式 Lake Formation 許可 IAM 許可 コメント
方式 1 オープン 細粒度

AWS Glue との後方互換性のためのデフォルト方式です。

  • オープンとは、特別な許可である Super がグループ IAMAllowedPrincipals に付与されていることを意味し、この場合、IAMAllowedPrincipals が自動的に作成され、IAM ポリシーによって Data Catalog リソースへのアクセスが許可されているすべての IAM ユーザーとロールが包含されます。Super 許可は、その許可が付与されるデータベースやテーブルに対して、プリンシパルがサポートされているすべての Lake Formation 操作を実行できるようにします。これによって、Data Catalog リソースと Amazon S3 ロケーションへのアクセスは、実質的に IAM ポリシーのみで制御されることになります。詳細については、「データレイクのデフォルトセキュリティ設定の変更」および「AWS Lake Formation モデルへの AWS Glue データ許可のアップグレード」を参照してください。

  • 細粒度とは、IAM ポリシーが Data Catalog リソースおよび個々の Amazon S3 バケットに対するすべてのアクセスを制御することを意味します。

Lake Formation コンソールでは、この方式が [Use only IAM access control] (IAM アクセスコントロールのみを使用する) として表示されます。

方式 2 細粒度 粗粒度

これは、推奨される方法です。

  • 細粒度のアクセス権とは、Data Catalog リソース、Amazon S3 ロケーション、およびこれらのロケーションにある基盤となるデータに対する限定的な Lake Formation 許可を個々のプリンシパルに付与することを意味します。

  • 粗粒度とは、個々の操作、および Amazon S3 ロケーションへのアクセスに対するより広範な許可を意味します。例えば、粗粒度の IAM ポリシーには、"glue:CreateTables" ではなく "glue:*" または "glue:Create*" が含まれているため、プリンシパルがカタログオブジェクトを作成できるかどうかは Lake Formation 許可で制御することになります。また、プリンシパルが作業を実行するために必要な API へのアクセス権をプリンシパルに提供しても、他の API とリソースはロックダウンするという意味でもあります。例えば、プリンシパルが Data Catalog リソースを作成し、ワークフローを作成して実行することはできても、AWS Glue 接続やユーザー定義の関数を作成することはできないという IAM ポリシーを作成するなどがあります。このセクションで後述の例を参照してください。

重要

以下の点に注意してください。

  • Lake Formation では、既存の AWS Glue Data Catalog 動作との互換性のために、[Use only IAM access control] (IAM アクセスコントロールのみを使用する) がデフォルトで有効になっています。これらの設定は、Lake Formation 許可の使用への移行後に無効化することをお勧めします。詳細については、「データレイクのデフォルトセキュリティ設定の変更」を参照してください。

  • データレイク管理者とデータベース作成者には、理解しておく必要がある黙示的な Lake Formation 許可があります。詳細については、「黙示的な Lake Formation 許可」を参照してください。