で Amazon Redshift 名前空間を管理するための前提条件 AWS Glue Data Catalog - AWS Lake Formation

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

で Amazon Redshift 名前空間を管理するための前提条件 AWS Glue Data Catalog

  1. データレイク管理者の作成 - 名前空間の招待を受け入れる権限を持つ IAM ロールを作成し、 AWS Glue Data Catalog オブジェクト (カタログ、データベース、テーブル/ビュー) を作成し、他のユーザーに Lake Formation アクセス許可を付与します。

    データレイク管理者を作成するための詳しい手順については、「データレイク管理者を作成する」を参照してください。

  2. データレイク管理者のアクセス許可を更新します。

    データレイク管理者のアクセス許可に加えて、データレイク管理者は、Lake Formation で Amazon Redshift 名前空間の招待を受け入れ、データカタログリソースを作成または更新し、データレイクアクセスを有効にするために、次のアクセス許可が必要です。

    JSON
    { "Version": "2012-10-17", "Id": "glue-enable-datalake-access", "Statement": [{ "Effect": "Allow", "Action": [ "redshift:AssociateDataShareConsumer", "redshift:DescribeDataSharesForConsumer", "redshift:DescribeDataShares", "redshift-serverless:CreateNamespace", "redshift-serverless:CreateWorkgroup", "redshift-serverless:DeleteNamespace", "redshift-serverless:DeleteWorkgroup", "ec2:DescribeAccountAttributes", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeAvailabilityZones", "s3:createBucket", "s3:deleteBucket", "s3:putBucketPolicy", "s3:putEncryptionConfiguration", "s3:putLifecycleConfiguration", "s3:putBucketVersioning", "iam:CreateRole" ], "Resource": "*" }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "arn:aws:iam::*:role/data transfer role name", "Condition": { "StringLike": { "iam:PassedToService": [ "glue.amazonaws.com" ] } } } ] }
  3. フェデレーティッドカタログの作成に使用される IAM ロールがデータレイク管理者でない場合は、ロールに アクセスCreate catalog許可を付与する必要があります。

    カタログ作成者を作成するには
    1. Lake Formation コンソール (‭‬https://console.aws.amazon.com/lakeformation/‬) を開きます。

    2. 管理 で管理ロールとタスクを選択します。

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

    4. アクセス許可を付与画面で、IAM ユーザーまたはロールを選択します。

    5. カタログ作成のアクセス許可を選択します。

    6. 必要に応じて、付与可能なカタログ作成アクセス許可を付与することもできます。付与可能なアクセス許可により、カタログ作成者は他のプリンシパルにアクセスCreate catalog許可を付与できます。

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

    AWS CLI フェデレーティッドカタログを作成するアクセス許可を付与する の例。

    aws lakeformation grant-permissions \ --cli-input-json \ '{ "Principal": { "DataLakePrincipalIdentifier":"arn:aws:iam::123456789012:role/Admin" }, "Resource": { "Catalog": { } }, "Permissions": [ "CREATE_CATALOG", "DESCRIBE" ] }'
  4. 読み取り専用管理者ロールを作成して、Amazon Redshift クエリエディタ v2 からデータカタログ内の Amazon Redshift フェデレーティッドカタログを検出します。

    Amazon Redshift クエリエディタ v2 からフェデレーティッドカタログ内の Amazon Redshift テーブルをクエリするには、読み取り専用管理者ロールポリシーに Amazon Redshift サービスにリンクされた role- の ARN が含まれていることを確認しますAWSServiceRoleForRedshift

    aws lakeformation put-data-lake-settings --region us-east-1 \ --data-lake-settings \ '{ "DataLakeAdmins": [{"DataLakePrincipalIdentifier":"arn:aws:iam::123456789012:role/Admin"}], "ReadOnlyAdmins":[{"DataLakePrincipalIdentifier":"arn:aws:iam::123456789012:role/aws-service-role/redshift.amazonaws.com/AWSServiceRoleForRedshift"}], "CreateDatabaseDefaultPermissions":[], "CreateTableDefaultPermissions":[], "Parameters":{"CROSS_ACCOUNT_VERSION":"4","SET_CONTEXT":"TRUE"} }'
  5. Amazon Redshift がユーザーに代わって Amazon S3 バケットとの間でデータを転送するために引き受けることができるデータ転送ロールを作成します。

    Athena、Amazon EC2 上の Amazon EMR などの Apache Iceberg 互換クエリエンジンのデータレイクアクセスを有効にしてデータカタログ内の Amazon Redshift リソースにアクセスする場合は、Amazon S3 バケットとの間でデータ転送を実行するために必要なアクセス許可を持つ IAM ロールを作成する必要があります。

    JSON
    { "Version": "2012-10-17", "Id": "glue-enable-datalake-access", "Statement": [{ "Sid": "DataTransferRolePolicy", "Effect": "Allow", "Action": [ "glue:GetCatalog", "glue:GetDatabase", "kms:GenerateDataKey", "kms:Decrypt"], "Resource": "*" } ] }
  6. AWS Glue および Amazon Redshift サービスのデータ転送ロールに次の信頼ポリシーを追加して、Amazon S3 バケットとの間でデータを転送するロールを引き受けます。

    JSON
    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": [ "redshift.amazonaws.com", "glue.amazonaws.com" ] }, "Action": "sts:AssumeRole" }] }
  7. カスタマーマネージドキーを使用して Amazon Redshift クラスター/名前空間内のデータを暗号化 AWS KMS する場合は、次のキーポリシーをキーに追加します。アカウント番号を有効な AWS アカウント番号に置き換え、データ転送ロール名を指定します。デフォルトでは、Amazon Redshift クラスター内のデータは KMS キーを使用して暗号化されます。Lake Formation には、暗号化用のカスタム KMS キーを作成するオプションがあります。カスタマーマネージドキーを使用している場合は、特定のキーポリシーをキーに追加する必要があります。

    カスタマーマネージドキーの許可を管理する方法の詳細については、「カスタマーマネージドキー」を参照してください。