翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Glue リソースをハイブリッドリソースに変換する
以下のステップに従って Amazon S3 ロケーションをハイブリッドアクセスモードで登録し、既存の Data Catalog ユーザーのデータアクセスを中断することなく、新しい Lake Formation ユーザーをオンボーディングします。
シナリオの説明 - データの場所は Lake Formation に登録されておらず、ユーザーの Data Catalog データベースとテーブルへのアクセスは Amazon S3 および AWS Glue アクションのIAMアクセス許可ポリシーによって決まります。
デフォルトでは、この IAMAllowedPrincipals
グループにはデータベース内のすべてのテーブルに対する Super
許可があります。
Lake Formation に登録されていないデータロケーションのハイブリッドアクセスモードを有効にするには
Amazon S3 ロケーションを登録して、ハイブリッドアクセスモードを有効にします。
- Console
-
-
データレイク管理者として Lake Formation コンソールにサインインします。
ナビゲーションペインで、[管理] の [データレイクのロケーション] を選択します。
[Register location] (ロケーションを登録) を選択します。
-
[ロケーションを登録] ウィンドウで、Lake Formation に登録する [Amazon S3] パスを選択します。
-
IAM ロール では、AWSServiceRoleForLakeFormationDataAccess
サービスにリンクされたロール (デフォルト) またはカスタムを選択します。 IAM
の要件を満たす ロールロケーションの登録に使用されるロールの要件。
-
[ハイブリッドアクセスモード] を選択すると、登録されたロケーションを指すオプトインプリンシパルと Data Catalog データベースおよびテーブルに、きめ細かい Lake Formation アクセスコントロールポリシーが適用されます。
Lake Formation を選択すると、Lake Formation は登録されたロケーションへのアクセスリクエストを承認できるようになります。
[Register location] (ロケーションを登録) を選択します。
- AWS CLI
-
以下は、Lake Formation にデータロケーションを HybridAccessEnabled:true/false に登録する例です。HybridAccessEnabled
パラメータのデフォルト値は false です。Amazon S3 パス、ロール名、 AWS アカウント ID を有効な値に置き換えます。
aws lakeformation register-resource --cli-input-json file:file path
json:
{
"ResourceArn": "arn:aws:s3:::s3-path
",
"UseServiceLinkedRole": false,
"RoleArn": "arn:aws:iam::<123456789012>
:role/<role-name>
",
"HybridAccessEnabled": true
}
-
ハイブリッドアクセスモードでリソースに Lake Formation 許可を使用するようにアクセス許可を付与し、プリンシパルをオプトインする
ハイブリッドアクセスモードでプリンシパルとリソースを選択する前に、ハイブリッドアクセスモードで Lake Formation にロケーションが登録されているデータベースとテーブルに、IAMAllowedPrincipals
グループへの Super
または All
許可が存在することを確認します。
データベース内の All
tables
に IAMAllowedPrincipals
グループアクセス許可を付与することはできません。各テーブルをドロップダウンメニューから個別に選択し、アクセス許可を付与する必要があります。また、データベースに新しいテーブルを作成するときは、 データカタログ設定 Use only IAM access control for new tables in new databases
で を使用することを選択できます。このオプションでは、データベース内に新しいテーブルを作成すると、自動的に IAMAllowedPrincipals
グループに Super
許可が付与されます。
- Console
-
-
Lake Formation コンソールの [データカタログ] で、[データベース] または [テーブル] を選択します。
リストからデータベースまたはテーブルを選択し、アクションメニューから付与を選択します。
プリンシパルを選択し、名前付きリソース方式または LF タグを使用して、データベース、テーブル、および列に対するアクセス許可を付与します。
または、[データレイクアクセス許可] を選択し、一覧からアクセス許可を付与するプリンシパルを選択して [付与] を選択します。
データアクセス許可の付与に関する詳細については、「Data Catalog リソースに対するアクセス許可の付与」を参照してください。
プリンシパルにテーブル作成のアクセス許可を付与する場合は、プリンシパルにデータロケーション許可 (DATA_LOCATION_ACCESS
) を付与する必要もあります。このアクセス許可はテーブルの更新には必要ありません。
詳細については、「データロケーション許可の付与」を参照してください。
-
[名前付きリソース方式] を使用してアクセス許可を付与する場合、プリンシパルとリソースをオプトインするオプションが [データ許可の付与] ページの下部に表示されます。
プリンシパルとリソースの Lake Formation 許可を有効にするには、[Lake Formation 許可をすぐに有効にする] を選択します。
[Grant] (付与) を選択します。
データロケーションを指しているテーブル A のプリンシパル A をオプトインした場合、データロケーションがハイブリッドモードで登録されていれば、プリンシパル A は Lake Formation 許可を使用してこのテーブルのロケーションにアクセスできます。
- AWS CLI
-
以下の例では、ハイブリッドアクセスモードでプリンシパルとテーブルをオプトインしています。ロール名、 AWS アカウント ID、データベース名、およびテーブル名を有効な値に置き換えます。
aws lakeformation create-lake-formation-opt-in --cli-input-json file://file path
json:
{
"Principal": {
"DataLakePrincipalIdentifier": "arn:aws:iam::<123456789012>
:role/<hybrid-access-role>
"
},
"Resource": {
"Table": {
"CatalogId": "<123456789012>
",
"DatabaseName": "<hybrid_test>
",
"Name": "<hybrid_test_table>
"
}
}
}
-
アクセス許可を付与するために LF タグを選択した場合は、別のステップで Lake Formation 許可を使用するようにプリンシパルをオプトインできます。これを行うには、左側のナビゲーションバーの [アクセス許可] で [ハイブリッドアクセスモード] を選択します。
-
[ハイブリッドアクセスモード] ページの下部にある [追加] を選択して、リソースとプリンシパルをハイブリッドアクセスモードに追加します。
-
[リソースとプリンシパルの追加] ページで、ハイブリッドアクセスモードで登録されているデータベースとテーブルを選択します。プリンシパルを選択して、ハイブリッドアクセスモードで Lake Formation 許可を使用するようにオプトインします。
アクセスを許可するデータベースで、All tables
を選択できます。