AWS Glue Iceberg REST のカタログ統合の構成

Signature Version 4 (SigV4) 認証で AWS Glue Iceberg REST エンドポイント のカタログ統合を作成するには、このトピックの手順に従います。

ステップ1: AWS Glueデータカタログのアクセス許可を構成する

Snowflakeが AWS Glueデータカタログにアクセスするための IAM ポリシーを作成します。カタログ統合を作成するときに指定する IAM ロールにポリシーを添付します。手順については、 AWS IDおよびアクセス管理ユーザーガイドの IAM ポリシーの作成ロール権限ポリシーの変更 をご参照ください。

SnowflakeがGlue Iceberg REST カタログを使用して情報にアクセスするには、少なくとも、 AWS Glueデータカタログに対する以下の権限が必要です。

  • glue:GetCatalog

  • glue:GetDatabase

  • glue:GetDatabases

  • glue:GetTable

  • glue:GetTables

次のポリシー例(JSON 形式)は、指定したデータベース内のすべてのテーブルにアクセスするために必要な権限を提供します。

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Sid": "AllowGlueCatalogTableAccess",
         "Effect": "Allow",
         "Action": [
           "glue:GetCatalog",
           "glue:GetDatabase",
           "glue:GetDatabases",
           "glue:GetTable",
           "glue:GetTables"
         ],
         "Resource": [
            "arn:aws:glue:*:<accountid>:table/*/*",
            "arn:aws:glue:*:<accountid>:catalog",
            "arn:aws:glue:*:<accountid>:database/<database-name>"
         ]
      }
   ]
}
Copy

注釈

  • このポリシーの Resource 要素を変更して、許可されるリソース(カタログ、データベース、テーブルなど)をさらに制限することができます。詳細については、 AWS Glueで定義されたリソースタイプ をご参照ください。

  • AWS Glueに暗号化を使用する場合、ポリシーを変更して AWS キー管理サービス(AWS KMS)権限を追加する必要があります。詳細については、 AWS Glueでの暗号化の設定 をご参照ください。

ステップ2: Snowflakeでカタログ統合を作成する

CREATE CATALOG INTEGRATION (Apache Iceberg™ REST) コマンドを使用して、 AWS Glue Iceberg REST エンドポイント のカタログ統合を作成します。構成した IAM ロールを指定します。 CATALOG_NAME の場合は、 AWS アカウント ID を使用します。

CREATE CATALOG INTEGRATION glue_rest_catalog_int
  CATALOG_SOURCE = ICEBERG_REST
  TABLE_FORMAT = ICEBERG
  CATALOG_NAMESPACE = 'rest_catalog_integration'
  REST_CONFIG = (
    CATALOG_URI = 'https://glue.us-west-2.amazonaws.com/iceberg'
    CATALOG_API_TYPE = AWS_GLUE
    CATALOG_NAME = '123456789012'
  )
  REST_AUTHENTICATION = (
    TYPE = SIGV4
    SIGV4_IAM_ROLE = 'arn:aws:iam::123456789012:role/my-role'
    SIGV4_SIGNING_REGION = 'us-west-2'
  )
  ENABLED = TRUE;
Copy

条件:

  • CATALOG_URI は AWS Glue Iceberg REST カタログのサービスエンドポイントです。

  • CATALOG_NAME は AWS アカウントの ID です。

詳細情報については、 CREATE CATALOG INTEGRATION (Apache Iceberg™ REST) を参照してください。 AWS Glue 用のカタログ統合の構成手順が記載されています。