AWS Lake Formation のセットアップ - AWS Lake Formation

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

AWS Lake Formation のセットアップ

Lake Formation を使用するには、以下のタスクを完了します。

AWS へのサインアップ

にサインアップするとAWSで、AWSアカウントのすべてのサービスに自動的にサインアップします。AWS, Lake Formation を含みます. 料金が発生するのは、実際に使用したサービスの分のみです。

既に AWS アカウントをお持ちの場合は、次のタスクに進んでください。AWS アカウントをお持ちでない場合は、次に説明する手順にしたがってアカウントを作成してください。

AWS アカウントを作成するには

  1. https://portal.aws.amazon.com/billing/signup を開きます。

  2. オンラインの手順に従います。

    サインアップ手順の一環として、通話呼び出しを受け取り、電話のキーパッドを用いて確認コードを入力することが求められます。

次のタスクで AWS アカウント番号が必要となるので、メモしておいてください。

管理者 IAM ユーザーの作成

のサービスAWSLake Formation など、サービスへのアクセス時に認証情報を提供する必要があります。それにより、サービスのリソースにアクセスする権限があるかどうかがサービスによって判定されます。アクセスすることは推奨されません。AWSの認証情報を使用してAWSアカウント. 代わりに AWS Identity and Access Management (IAM) を使用することをお勧めします。IAM ユーザーを作成して、このユーザーを管理権限のある IAM グループに追加するか、このユーザーに管理権限を付与できます。その後、AWSIAM ユーザーの認証情報を使用します。

あなたがサインアップした場合AWS自分用の IAM ユーザーをまだ作成していない場合は、IAM コンソールを使用して作成できます。コンソールの使用に慣れていない場合は、「AWS Management Console の使用」で概要を参照してください。

自分用の管理者ユーザーを作成し、そのユーザーを管理者グループに追加するには (コンソール)

  1. にサインインします。IAM コンソールを選択して、アカウントの所有者としてルートユーザーをクリックし、 AWS アカウント E メールアドレス 次のページでパスワードを入力します。

    注記

    次の IAM の Administrator ユーザーの使用に関するベストプラクティスに従って、ルートユーザーの認証情報は安全な場所に保管しておくことを強くお勧めします。ルートユーザーとしてのサインインは、いくつかのアカウントとサービスの管理タスクの実行にのみ使用してください。

  2. ナビゲーションペインで [Users (ユーザー)]、[Add user (ユーザーを追加する)] の順に選択します。

  3. [User name (ユーザー名)] に「Administrator」と入力します。

  4. [AWS Management Console access] (コンソールアクセス) の横にあるチェックボックスをオンにします。[Custom password (カスタムパスワード)] を選択し、その後テキストボックスに新しいパスワードを入力します。

  5. (オプション) デフォルトで、AWS は新しいユーザーが初めてサインインする時に新しいパスワードの作成を要求します。必要に応じて [User must create a new password at next sign-in (ユーザーは次回のサインイン時に新しいパスワードを作成する必要がある)] のチェックボックスをオフにして、新しいユーザーがサインインしてからパスワードをリセットできるようにできます。

  6. [Next: (次へ:)] を選択します アクセス許可.

  7. [Set permissions (アクセス許可の設定)] で、[Add user to group (ユーザーをグループに追加)] を選択します。

  8. [Create group (グループの作成)] を選択します。

  9. [Create group (グループの作成)] ダイアログボックスで、[Group name (グループ名)] に「Administrators」と入力します。

  10. [Filter policies] (フィルターポリシー) を選択し、次に [AWS managed -job function] (AWS 管理ジョブの機能) を選択してテーブルのコンテンツをフィルタリングします。

  11. ポリシーリストで、[AdministratorAccess] のチェックボックスをオンにします。次に、[Create group (グループの作成)] を選択します。

    注記

    AdministratorAccess 許可を使用して AWS Billing and Cost Management コンソールにアクセスする前に、請求への IAM ユーザーとロールのアクセスをアクティブ化する必要があります。これを行うには、請求コンソールへのアクセスの委任に関するチュートリアルのステップ 1 の手順に従ってください。

  12. グループのリストに戻り、新しいグループのチェックボックスをオンにします。必要に応じて [Refresh (更新)] を選択し、リスト内のグループを表示します。

  13. [Next: (次へ:)] を選択します タグ

  14. (オプション) タグをキー - 値のペアとしてアタッチして、メタデータをユーザーに追加します。IAM でのタグの使用の詳細については、IAM ユーザーガイドの「IAM ユーザーとロールのタグ付け」を参照してください。

  15. [Next: (次へ:)] を選択します 確認新しいユーザーに追加するグループメンバーシップのリストを表示するには、続行する準備ができたら、[Create user] を選択します。

この同じプロセスを使用して、新しいグループとユーザーを作成し、ユーザーに AWS アカウント リソースの使用料金を見積もることができます。特定の AWS リソースに対するユーザー許可を制限するポリシーの使用については、「アクセス管理」と「ポリシー例」を参照してください。

ワークフロー用の IAM ロールを作成します。

とAWS Lake Formationを使用してデータをインポートするには、ワークフロー。ワークフローは、データレイクにデータをインポートするデータソースとスケジュールを定義します。ワークフローを簡単に定義するには、の設計図, またはテンプレート, Lake Formation が提供します.

ワークフローを作成する場合、ワークフローをAWS Identity and Access ManagementLake Formation にデータを取り込むのに必要なアクセス権限を付与する (IAM) ロールを作成します。

次の手順では、IAM に詳しいことを前提としています。

ワークフロー用の IAM ロールを作成するには

  1. で IAM コンソールを開きますhttps://console.aws.amazon.com/iamで作成した IAM 管理者ユーザーとしてサインインします。管理者 IAM ユーザーの作成または IAM ユーザーとしてAdministratorAccess AWS管理ポリシー。

  2. ナビゲーションペインの [] を選択します。ロール、次にロールの作成

  3. リポジトリの []ロールの作成ページで [] を選択します。AWSserviceを選択してから、[] を選択します。接着語。[Next: Permissions] を選択します。

  4. を検索します。アヴスグルーサーヴィセロール管理ポリシーを選択し、一覧のポリシー名の横にあるチェックボックスをオンにします。次に、ロールの作成ウィザード、ロールの名前付けLakeFormationWorkflowRole。終了するには、[] を選択します。ロールの作成

  5. 戻るロール[] ページで、[] を検索しますLakeFormationWorkflowRole次に、ロール名を選択します。

  6. ロールについて概要ページのアクセス許可タブで、[] を選択しますインラインポリシーの追加のポリシーを追加し、以下のインラインポリシーを追加します。ポリシーに推奨される名前はLakeFormationWorkflow

    重要

    次のポリシーでは、<account-id>有効なAWSアカウント番号。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "lakeformation:GrantPermissions" ], "Resource": "*" }, { "Effect": "Allow", "Action": ["iam:PassRole"], "Resource": [ "arn:aws:iam::<account-id>:role/LakeFormationWorkflowRole" ] } ] }

    次に、このポリシーのアクセス許可について簡単に説明します。

    • lakeformation:GetDataAccessは、ワークフローによって作成されたジョブをターゲットの場所に書き込むことを可能にします。

    • lakeformation:GrantPermissionsを使用すると、ワークフローでSELECTターゲットテーブルに対するアクセス許可。

    • iam:PassRoleサービスのロールを引き受ける上でサービスを有効にします。LakeFormationWorkflowRoleを使用してクローラとジョブを作成し、作成したクローラとジョブにロールをアタッチします。

  7. ロールがあることを確認します。LakeFormationWorkflowRoleには 2 つのポリシーがアタッチされます。

  8. データレイクの場所外にあるデータを取り込む場合は、ソースデータの読み取り権限を付与するインラインポリシーを追加します。

データレイク管理者の作成

データレイク管理者は、最初はAWS Identity and Access Management(IAM) ユーザーまたはロール。データロケーションおよびデータカタログリソースに対する Lake Formation アクセス許可を任意のプリンシパル (自己を含む) に付与できます。データレイク管理機能の詳細については、「」を参照してください。暗示的なLake Formation

データレイク管理者を作成するには、Lake Formation コンソールまたはPutDataLakeSettingsLake Formation APIの操作。

データレイク管理者を作成するには、以下のアクセス許可が必要です。-AdministratorIAM ユーザーには、これらの権限が暗黙的に付与されます。

  • lakeformation:PutDataLakeSettings

  • lakeformation:GetDataLakeSettings

データレイク管理者を作成するには (コンソール)

  1. データレイク管理者となる IAM ユーザーがまだ存在しない場合は、IAM コンソールを使用して作成します。それ以外の場合は、データレイク管理者となる既存の IAM ユーザーを表示します。

    注記

    IAM 管理ユーザー ([] のユーザー) を選択しないことをお勧めします。AdministratorAccess AWS管理ポリシー) をデータレイク管理者にする必要があります。

    次をアタッチしますAWS管理ポリシーをユーザーに付与します。

    ポリシー 必須? コメント
    AWSLakeFormationDataAdmin 必須 基本的なデータレイク管理者のアクセス許可。
    AWSGlueConsoleFullAccess, CloudWatchLogsReadOnlyAccess オプション データレイク管理者が Lake Formation ブループリントから作成されたワークフローをトラブルシューティングする場合は、これらのポリシーをアタッチします。これらのポリシーにより、データレイク管理者はAWS GlueコンソールおよびAmazon CloudWatch Logsconsole. ワークフローの詳細については、「」を参照してください。Lake Formation のワークフローを使用したデータのインポート
    AWSLakeFormationCrossAccountManager オプション このポリシーをアタッチすると、データレイク管理者がデータカタログリソースに対するクロスアカウント権限を付与および取り消すことができます。詳細については、「Lake Formation におけるクロスアカウントアクセス」を参照してください。
    AmazonAthenaFullAccess オプション データレイク管理者がAmazon Athena。
  2. 次のインラインポリシーをアタッチします。これにより、データレイク管理者に Lake Formation サービスリンクロールを作成する権限が付与されます。ポリシーに推奨される名前はLakeFormationSLR

    サービスリンクロールにより、データレイク管理者は Amazon S3 のロケーションを Lake Formation に登録しやすくなります。Lake Formation サービスにリンクされたロールの詳細については、「」を参照してください。Lake Formation のサービスにリンクされたロールの使用

    重要

    次のすべてのポリシーで、<account-id>有効なAWSアカウント番号。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": "lakeformation.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::<account-id>:role/aws-service-role/lakeformation.amazonaws.com/AWSServiceRoleForLakeFormationDataAccess" } ] }
  3. (オプション) 次をアタッチしますPassRoleインラインポリシーをユーザーにアタッチします。このポリシーにより、データレイク管理者はワークフローを作成および実行できます。-iam:PassRoleのアクセス許可を使用すると、ワークフローがロールを引き受けることができます。LakeFormationWorkflowRoleを使用してクローラとジョブを作成し、作成したクローラとジョブにロールをアタッチします。ポリシーに推奨される名前はUserPassRole

    重要

    置換<account-id>有効なAWSアカウント番号。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "PassRolePermissions", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::<account-id>:role/LakeFormationWorkflowRole" ] } ] }
  4. (オプション)アカウントがクロスアカウント Lake Formation 権限を付与または受信する場合は、この追加のインラインポリシーをアタッチします。このポリシーにより、データレイク管理者はAWS Resource Access Manager(AWS RAM) リソース共有の招待状です。また、データレイク管理者向けのAWS Organizations管理アカウントの場合、ポリシーには、組織へのクロスアカウント付与を有効にするアクセス許可が含まれます。詳細については、「Lake Formation におけるクロスアカウントアクセス」を参照してください。

    ポリシーに推奨される名前はRAMAccess

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ram:AcceptResourceShareInvitation", "ram:RejectResourceShareInvitation", "ec2:DescribeAvailabilityZones", "ram:EnableSharingWithAwsOrganization" ], "Resource": "*" } ] }
  5. を開くAWS Lake Formationコンソールで:https://console.aws.amazon.com/lakeformation/IAM としてサインインするにはAdministratorで作成したユーザー管理者 IAM ユーザーの作成または任意の IAM 管理ユーザーとして使用できます。

  6. 次のいずれかを行ってください。

    • ウェルカムメッセージが表示されたら、[] を選択します。管理者を追加する

    • ナビゲーションペインの []アクセス許可] で、管理者およびデータベース作成者。次に、[]データレイク管理者] で、許可

  7. データレイク管理者の管理ダイアログボックス、IAM ユーザーとロールステップ 1 で作成した IAM ユーザーを選択し、[] を選択します。保存

データカタログ設定の変更

Lake Formation は、[IAM アクセス制御のみを使用する] 設定を有効にして、既存のAWS Glue Data Catalog動作。Lake Formationのアクセス許可を使用してきめ細かなアクセス制御を有効にするには、これらの設定を無効にすることをお勧めします。

詳細については、「データレイクのデフォルトのセキュリティ設定の変更」を参照してください。

重要

あなたが既存のAWS Glue Data Catalogデータベースとテーブルについては、このセクションの手順に従わないでください。代わりに、「アップグレードAWS Glueへのデータアクセス許可AWS Lake Formationモデル」の手順に従ってください。

警告

データカタログにデータベースとテーブルを作成する自動化がある場合、次の手順を実行すると、自動化ジョブとダウンストリームの抽出、変換、ロード (ETL) ジョブが失敗する可能性があります。既存のプロセスを変更するか、必要なプリンシパルに明示的な Lake Formation パーミッションを付与した後にのみ続行します。Lake Formation のアクセス許可については、「」を参照してください。Lake Formation の権限リファレンス

デフォルトのデータカタログ設定を変更するには

  1. Lake Formation・コンソール(https://console.aws.amazon.com/lakeformation/。で作成した IAM 管理者ユーザーとしてサインインしていることを確認します。管理者 IAM ユーザーの作成または IAM ユーザーとしてAdministratorAccess AWS管理ポリシー。

  2. ナビゲーションペインの []データカタログ] で、設定

  3. 両方のチェックボックスをオフにして、保存

    
              [データカタログ設定] ダイアログボックスには、「新しく作成されたデータベースとテーブルの既定の権限」というサブタイトルがあり、2 つのチェックボックスがあります。これらのチェックボックスについては、このテキストで説明しています。
  4. Lake Formation コンソールからサインアウトし、データレイク管理者として再度サインインします。

  5. ナビゲーションペインの []アクセス許可] で、管理者およびデータベース作成者

  6. []データベースの作成者で、[] をクリックしますIAMAllowedPrincipalsグループを選択し、失効

    -失効のアクセス許可] ダイアログボックスが表示され、IAMAllowedPrincipalsデータベースの作成アクセス許可。

  7. 選択失効

(オプション)Amazon EMR クラスターでのデータフィルタリングを許可する

Amazon EMR を使用してデータレイク内のデータを分析および処理する場合は、Amazon EMR クラスターが Lake Formation によって管理されるデータにアクセスできるようにオプトインする必要があります。オプトインしない場合、Amazon EMR クラスターは、Lake Formation に登録された Amazon S3 ロケーションのデータにアクセスできなくなります。

Lake Formation では、テーブル内の特定の列へのアクセスを制限する列レベルのアクセス権限がサポートされます。次のような統合分析サービスAmazon Athena、Amazon Redshift Spectrum、および Amazon EMR は、フィルタリングされていないテーブルメタデータをAWS Glue Data Catalog。クエリ応答の列の実際のフィルタリングは、統合サービスの責任です。EMR クラスターはAWS。したがって、データへの不正アクセスを避けるために、クラスタを適切に保護することは、EMR 管理者の責任です。

EMR クラスターでデータフィルタリングを許可するようにオプトインすると、クラスターが適切にセキュリティで保護されていることが証明されます。

Amazon EMR クラスターでデータフィルタリングを許可するようにオプトインするには(コンソール)

  1. Lake Formation・コンソール(https://console.aws.amazon.com/lakeformation/。Lake Formation に対する IAM アクセス許可を持つプリンシパルとしてサインインしていることを確認します。PutDataLakeSettingsAPI オペレーション。で作成した IAM 管理者ユーザー管理者 IAM ユーザーの作成には、この権限があります。

  2. ナビゲーションペインの []アクセス許可] で、外部データのフィルタリング

  3. リポジトリの []外部データのフィルタリング[] ページで、以下の操作を実行します。

    1. の有効化Amazon EMR クラスターが Lake Formation によって管理されるデータをフィルタリングできるようにする

    2. を使用する場合AWSアカウント IDに、アカウント ID を入力します。AWSアカウントで、データフィルタリングを実行する Amazon EMR クラスターを使用します。を押すEnter各アカウント ID の後に。

    3. [Save] を選択します。

(オプション) データカタログ暗号化キーへのアクセス権を付与します。

そのファイルにAWS Glue Data Catalogが暗号化されている場合、AWS Identity and Access Management(IAM) アクセス許可をAWS KMSキーを、データカタログデータベースおよびテーブルに対する Lake Formation 権限を付与する必要があるプリンシパルに割り当てます。

詳細については、「AWS Key Management Service デベロッパーガイド」を参照してください。