[Doc] Iceberg REST Catalog supports Vended Credentials (backport #62576) (#62859)

Co-authored-by: 絵空事スピリット <wanglichen@starrocks.com>
This commit is contained in:
mergify[bot] 2025-09-09 14:41:58 +08:00 committed by GitHub
parent 183bae2ff1
commit 1538f9d741
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 375 additions and 130 deletions

View File

@ -465,32 +465,38 @@ If you choose AWS S3 as storage for your Iceberg cluster, take one of the follow
"aws.s3.region" = "<aws_s3_region>"
```
- To choose vended credential (supported from v4.0 onwards) with the REST catalog, configure `StorageCredentialParams` as follows:
```SQL
"aws.s3.region" = "<aws_s3_region>"
```
`StorageCredentialParams` for AWS S3:
###### aws.s3.use_instance_profile
Required: Yes
Description: Specifies whether to enable the instance profile-based authentication method and the assumed role-based authentication method. Valid values: `true` and `false`. Default value: `false`.
- Required: Yes
- Description: Specifies whether to enable the instance profile-based authentication method and the assumed role-based authentication method. Valid values: `true` and `false`. Default value: `false`.
###### aws.s3.iam_role_arn
Required: No
Description: The ARN of the IAM role that has privileges on your AWS S3 bucket. If you use the assumed role-based authentication method to access AWS S3, you must specify this parameter.
- Required: No
- Description: The ARN of the IAM role that has privileges on your AWS S3 bucket. If you use the assumed role-based authentication method to access AWS S3, you must specify this parameter.
###### aws.s3.region
Required: Yes
Description: The region in which your AWS S3 bucket resides. Example: `us-west-1`.
- Required: Yes
- Description: The region in which your AWS S3 bucket resides. Example: `us-west-1`.
###### aws.s3.access_key
Required: No
Description: The access key of your IAM user. If you use the IAM user-based authentication method to access AWS S3, you must specify this parameter.
- Required: No
- Description: The access key of your IAM user. If you use the IAM user-based authentication method to access AWS S3, you must specify this parameter.
###### aws.s3.secret_key
Required: No
Description: The secret key of your IAM user. If you use the IAM user-based authentication method to access AWS S3, you must specify this parameter.
- Required: No
- Description: The secret key of your IAM user. If you use the IAM user-based authentication method to access AWS S3, you must specify this parameter.
For information about how to choose an authentication method for accessing AWS S3 and how to configure an access control policy in AWS IAM Console, see [Authentication parameters for accessing AWS S3](../../../integrations/authenticate_to_aws_resources.md#authentication-parameters-for-accessing-aws-s3).
@ -522,28 +528,28 @@ If you choose an S3-compatible storage system, such as MinIO, as storage for you
###### aws.s3.enable_ssl
Required: Yes
Description: Specifies whether to enable SSL connection.<br />Valid values: `true` and `false`. Default value: `true`.
- Required: Yes
- Description: Specifies whether to enable SSL connection.<br />Valid values: `true` and `false`. Default value: `true`.
###### aws.s3.enable_path_style_access
Required: Yes
Description: Specifies whether to enable path-style access.<br />Valid values: `true` and `false`. Default value: `false`. For MinIO, you must set the value to `true`.<br />Path-style URLs use the following format: `https://s3.<region_code>.amazonaws.com/<bucket_name>/<key_name>`. For example, if you create a bucket named `DOC-EXAMPLE-BUCKET1` in the US West (Oregon) Region, and you want to access the `alice.jpg` object in that bucket, you can use the following path-style URL: `https://s3.us-west-2.amazonaws.com/DOC-EXAMPLE-BUCKET1/alice.jpg`.
- Required: Yes
- Description: Specifies whether to enable path-style access.<br />Valid values: `true` and `false`. Default value: `false`. For MinIO, you must set the value to `true`.<br />Path-style URLs use the following format: `https://s3.<region_code>.amazonaws.com/<bucket_name>/<key_name>`. For example, if you create a bucket named `DOC-EXAMPLE-BUCKET1` in the US West (Oregon) Region, and you want to access the `alice.jpg` object in that bucket, you can use the following path-style URL: `https://s3.us-west-2.amazonaws.com/DOC-EXAMPLE-BUCKET1/alice.jpg`.
###### aws.s3.endpoint
Required: Yes
Description: The endpoint that is used to connect to your S3-compatible storage system instead of AWS S3.
- Required: Yes
- Description: The endpoint that is used to connect to your S3-compatible storage system instead of AWS S3.
###### aws.s3.access_key
Required: Yes
Description: The access key of your IAM user.
- Required: Yes
- Description: The access key of your IAM user.
###### aws.s3.secret_key
Required: Yes
Description: The secret key of your IAM user.
- Required: Yes
- Description: The secret key of your IAM user.
</TabItem>
@ -572,34 +578,36 @@ If you choose Blob Storage as storage for your Iceberg cluster, take one of the
"azure.blob.sas_token" = "<storage_account_SAS_token>"
```
- To choose REST catalog with vended credential (supported from v4.0 onwards), you do not need to configure `StorageCredentialParams`.
`StorageCredentialParams` for Microsoft Azure:
###### azure.blob.storage_account
Required: Yes
Description: The username of your Blob Storage account.
- Required: Yes
- Description: The username of your Blob Storage account.
###### azure.blob.shared_key
Required: Yes
Description: The shared key of your Blob Storage account.
- Required: Yes
- Description: The shared key of your Blob Storage account.
###### azure.blob.account_name
Required: Yes
Description: The username of your Blob Storage account.
- Required: Yes
- Description: The username of your Blob Storage account.
###### azure.blob.container
Required: Yes
Description: The name of the blob container that stores your data.
- Required: Yes
- Description: The name of the blob container that stores your data.
###### azure.blob.sas_token
Required: Yes
Description: The SAS token that is used to access your Blob Storage account.
- Required: Yes
- Description: The SAS token that is used to access your Blob Storage account.
###### Azure Data Lake Storage Gen1
##### Azure Data Lake Storage Gen1
If you choose Data Lake Storage Gen1 as storage for your Iceberg cluster, take one of the following actions:
@ -619,7 +627,7 @@ Or:
"azure.adls1.oauth2_endpoint" = "<OAuth_2.0_authorization_endpoint_v2>"
```
###### Azure Data Lake Storage Gen2
##### Azure Data Lake Storage Gen2
If you choose Data Lake Storage Gen2 as storage for your Iceberg cluster, take one of the following actions:
@ -650,6 +658,8 @@ If you choose Data Lake Storage Gen2 as storage for your Iceberg cluster, take o
"azure.adls2.oauth2_client_endpoint" = "<service_principal_client_endpoint>"
```
- To choose REST catalog with vended credential (supported from v4.0 onwards), you do not need to configure `StorageCredentialParams`.
</TabItem>
<TabItem value="GCS" label="Google GCS" >
@ -692,31 +702,33 @@ If you choose Google GCS as storage for your Iceberg cluster, take one of the fo
"gcp.gcs.impersonation_service_account" = "<data_google_service_account_email>"
```
- To choose REST catalog with vended credential (supported from v4.0 onwards), you do not need to configure `StorageCredentialParams`.
`StorageCredentialParams` for Google GCS:
###### gcp.gcs.service_account_email
Default value: ""
Example: "[user@hello.iam.gserviceaccount.com](mailto:user@hello.iam.gserviceaccount.com)"
Description: The email address in the JSON file generated at the creation of the service account.
- Default value: ""
- Example: "[user@hello.iam.gserviceaccount.com](mailto:user@hello.iam.gserviceaccount.com)"
- Description: The email address in the JSON file generated at the creation of the service account.
###### gcp.gcs.service_account_private_key_id
Default value: ""
Example: "61d257bd8479547cb3e04f0b9b6b9ca07af3b7ea"
Description: The private key ID in the JSON file generated at the creation of the service account.
- Default value: ""
- Example: "61d257bd8479547cb3e04f0b9b6b9ca07af3b7ea"
- Description: The private key ID in the JSON file generated at the creation of the service account.
###### gcp.gcs.service_account_private_key
Default value: ""
Example: "-----BEGIN PRIVATE KEY----xxxx-----END PRIVATE KEY-----\n"
Description: The private key in the JSON file generated at the creation of the service account.
- Default value: ""
- Example: "-----BEGIN PRIVATE KEY----xxxx-----END PRIVATE KEY-----\n"
- Description: The private key in the JSON file generated at the creation of the service account.
###### gcp.gcs.impersonation_service_account
Default value: ""
Example: "hello"
Description: The service account that you want to impersonate.
- Default value: ""
- Example: "hello"
- Description: The service account that you want to impersonate.
</TabItem>
@ -853,6 +865,27 @@ The following examples create an Iceberg catalog named `iceberg_catalog_hms` or
"aws.s3.region" = "us-west-2"
);
```
##### If you choose vended credential
If you choose REST catalog with vended credential, run a command like below:
```SQL
CREATE EXTERNAL CATALOG polaris_s3
PROPERTIES
(
"type" = "iceberg",
"iceberg.catalog.uri" = "http://xxx:xxx/api/catalog",
"iceberg.catalog.type" = "rest",
"iceberg.catalog.rest.nested-namespace-enabled"="true",
"iceberg.catalog.security" = "oauth2",
"iceberg.catalog.oauth2.credential" = "xxxxx:xxxx",
"iceberg.catalog.oauth2.scope"='PRINCIPAL_ROLE:ALL',
"iceberg.catalog.warehouse" = "iceberg_catalog",
"aws.s3.region" = "us-west-2"
);
```
</TabItem>
<TabItem value="HDFS" label="HDFS" >
@ -930,6 +963,22 @@ PROPERTIES
);
```
- If you choose REST catalog with vended credential, run a command like below:
```SQL
CREATE EXTERNAL CATALOG polaris_azure
PROPERTIES (
"type" = "iceberg",
"iceberg.catalog.uri" = "http://xxx:xxx/api/catalog",
"iceberg.catalog.type" = "rest",
"iceberg.catalog.rest.nested-namespace-enabled"="true",
"iceberg.catalog.security" = "oauth2",
"iceberg.catalog.oauth2.credential" = "xxxxx:xxxx",
"iceberg.catalog.oauth2.scope"='PRINCIPAL_ROLE:ALL',
"iceberg.catalog.warehouse" = "iceberg_catalog"
);
```
##### Azure Data Lake Storage Gen1
- If you choose the Managed Service Identity authentication method, run a command like below:
@ -1006,6 +1055,22 @@ PROPERTIES
);
```
- If you choose REST catalog with vended credential, run a command like below:
```SQL
CREATE EXTERNAL CATALOG polaris_azure
PROPERTIES (
"type" = "iceberg",
"iceberg.catalog.uri" = "http://xxx:xxx/api/catalog",
"iceberg.catalog.type" = "rest",
"iceberg.catalog.rest.nested-namespace-enabled"="true",
"iceberg.catalog.security" = "oauth2",
"iceberg.catalog.oauth2.credential" = "xxxxx:xxxx",
"iceberg.catalog.oauth2.scope"='PRINCIPAL_ROLE:ALL',
"iceberg.catalog.warehouse" = "iceberg_catalog"
);
```
</TabItem>
<TabItem value="GCS" label="Google GCS" >
@ -1071,6 +1136,23 @@ PROPERTIES
"gcp.gcs.impersonation_service_account" = "<data_google_service_account_email>"
);
```
- If you choose REST catalog with vended credential, run a command like below:
```SQL
CREATE EXTERNAL CATALOG polaris_gcp
PROPERTIES (
"type" = "iceberg",
"iceberg.catalog.uri" = "http://xxx:xxx/api/catalog",
"iceberg.catalog.type" = "rest",
"iceberg.catalog.rest.nested-namespace-enabled"="true",
"iceberg.catalog.security" = "oauth2",
"iceberg.catalog.oauth2.credential" = "xxxxx:xxxx",
"iceberg.catalog.oauth2.scope"='PRINCIPAL_ROLE:ALL',
"iceberg.catalog.warehouse" = "iceberg_catalog"
);
```
</TabItem>
</Tabs>

View File

@ -465,32 +465,38 @@ Iceberg クラスターのストレージとして AWS S3 を選択した場合
"aws.s3.region" = "<aws_s3_region>"
```
- REST カタログで Vended Credentialv4.0以降でサポート)を選択するには、`StorageCredentialParams` を次のように構成します。
```SQL
"aws.s3.region" = "<aws_s3_region>"
```
AWS S3 用の `StorageCredentialParams`:
###### aws.s3.use_instance_profile
必須: はい
説明: インスタンスプロファイルベースの認証方法と想定ロールベースの認証方法を有効にするかどうかを指定します。 有効な値: `true` および `false`。 デフォルト値: `false`
- 必須: はい
- 説明: インスタンスプロファイルベースの認証方法と想定ロールベースの認証方法を有効にするかどうかを指定します。 有効な値: `true` および `false`。 デフォルト値: `false`
###### aws.s3.iam_role_arn
必須: いいえ
説明: AWS S3 バケットに対する権限を持つ IAM ロールの ARN です。想定ロールベースの認証方法を使用して AWS S3 にアクセスする場合、このパラメーターを指定する必要があります。
- 必須: いいえ
- 説明: AWS S3 バケットに対する権限を持つ IAM ロールの ARN です。想定ロールベースの認証方法を使用して AWS S3 にアクセスする場合、このパラメーターを指定する必要があります。
###### aws.s3.region
必須: はい
説明: AWS S3 バケットが存在するリージョンです。例: `us-west-1`
- 必須: はい
- 説明: AWS S3 バケットが存在するリージョンです。例: `us-west-1`
###### aws.s3.access_key
必須: いいえ
説明: IAM ユーザーのアクセスキーです。IAM ユーザーベースの認証方法を使用して AWS S3 にアクセスする場合、このパラメーターを指定する必要があります。
- 必須: いいえ
- 説明: IAM ユーザーのアクセスキーです。IAM ユーザーベースの認証方法を使用して AWS S3 にアクセスする場合、このパラメーターを指定する必要があります。
###### aws.s3.secret_key
必須: いいえ
説明: IAM ユーザーのシークレットキーです。IAM ユーザーベースの認証方法を使用して AWS S3 にアクセスする場合、このパラメーターを指定する必要があります。
- 必須: いいえ
- 説明: IAM ユーザーのシークレットキーです。IAM ユーザーベースの認証方法を使用して AWS S3 にアクセスする場合、このパラメーターを指定する必要があります。
AWS S3 へのアクセス認証方法の選択方法および AWS IAM コンソールでのアクセス制御ポリシーの構成方法については、 [AWS S3 へのアクセス認証パラメーター](../../../integrations/authenticate_to_aws_resources.md#authentication-parameters-for-accessing-aws-s3) を参照してください。
@ -522,28 +528,28 @@ MinIO およびその他の S3 互換システム用の `StorageCredentialParams
###### aws.s3.enable_ssl
必須: はい
説明: SSL 接続を有効にするかどうかを指定します。<br />有効な値: `true` および `false`。 デフォルト値: `true`
- 必須: はい
- 説明: SSL 接続を有効にするかどうかを指定します。<br />有効な値: `true` および `false`。 デフォルト値: `true`
###### aws.s3.enable_path_style_access
必須: はい
説明: パススタイルアクセスを有効にするかどうかを指定します。<br />有効な値: `true` および `false`。 デフォルト値: `false`。 MinIO の場合、値を `true` に設定する必要があります。<br />パススタイル URL は次の形式を使用します: `https://s3.<region_code>.amazonaws.com/<bucket_name>/<key_name>`。 例: US West (Oregon) リージョンに `DOC-EXAMPLE-BUCKET1` というバケットを作成し、そのバケット内の `alice.jpg` オブジェクトにアクセスしたい場合、次のパススタイル URL を使用できます: `https://s3.us-west-2.amazonaws.com/DOC-EXAMPLE-BUCKET1/alice.jpg`
- 必須: はい
- 説明: パススタイルアクセスを有効にするかどうかを指定します。<br />有効な値: `true` および `false`。 デフォルト値: `false`。 MinIO の場合、値を `true` に設定する必要があります。<br />パススタイル URL は次の形式を使用します: `https://s3.<region_code>.amazonaws.com/<bucket_name>/<key_name>`。 例: US West (Oregon) リージョンに `DOC-EXAMPLE-BUCKET1` というバケットを作成し、そのバケット内の `alice.jpg` オブジェクトにアクセスしたい場合、次のパススタイル URL を使用できます: `https://s3.us-west-2.amazonaws.com/DOC-EXAMPLE-BUCKET1/alice.jpg`
###### aws.s3.endpoint
必須: はい
説明: AWS S3 の代わりに S3 互換ストレージシステムに接続するために使用されるエンドポイント。
- 必須: はい
- 説明: AWS S3 の代わりに S3 互換ストレージシステムに接続するために使用されるエンドポイント。
###### aws.s3.access_key
必須: はい
説明: IAM ユーザーのアクセスキー。
- 必須: はい
- 説明: IAM ユーザーのアクセスキー。
###### aws.s3.secret_key
必須: はい
説明: IAM ユーザーのシークレットキー。
- 必須: はい
- 説明: IAM ユーザーのシークレットキー。
</TabItem>
@ -571,35 +577,36 @@ Iceberg クラスターのストレージとして Blob Storage を選択した
"azure.blob.container" = "<container_name>",
"azure.blob.sas_token" = "<storage_account_SAS_token>"
```
- REST カタログで Vended Credentialv4.0以降でサポート)を選択する場合、`StorageCredentialParams` を設定する必要はありません。
Microsoft Azure 用の `StorageCredentialParams`:
###### azure.blob.storage_account
必須: はい
説明: Blob Storage アカウントのユーザー名。
- 必須: はい
- 説明: Blob Storage アカウントのユーザー名。
###### azure.blob.shared_key
必須: はい
説明: Blob Storage アカウントの共有キー。
- 必須: はい
- 説明: Blob Storage アカウントの共有キー。
###### azure.blob.account_name
必須: はい
説明: Blob Storage アカウントのユーザー名。
- 必須: はい
- 説明: Blob Storage アカウントのユーザー名。
###### azure.blob.container
必須: はい
説明: データを保存する blob コンテナの名前。
- 必須: はい
- 説明: データを保存する blob コンテナの名前。
###### azure.blob.sas_token
必須: はい
説明: Blob Storage アカウントにアクセスするために使用される SAS トークン。
- 必須: はい
- 説明: Blob Storage アカウントにアクセスするために使用される SAS トークン。
###### Azure Data Lake Storage Gen1
##### Azure Data Lake Storage Gen1
Iceberg クラスターのストレージとして Data Lake Storage Gen1 を選択した場合、次のいずれかの操作を行います。
@ -619,7 +626,7 @@ Iceberg クラスターのストレージとして Data Lake Storage Gen1 を選
"azure.adls1.oauth2_endpoint" = "<OAuth_2.0_authorization_endpoint_v2>"
```
###### Azure Data Lake Storage Gen2
##### Azure Data Lake Storage Gen2
Iceberg クラスターのストレージとして Data Lake Storage Gen2 を選択した場合、次のいずれかの操作を行います。
@ -650,6 +657,8 @@ Iceberg クラスターのストレージとして Data Lake Storage Gen2 を選
"azure.adls2.oauth2_client_endpoint" = "<service_principal_client_endpoint>"
```
- REST カタログで Vended Credentialv4.0以降でサポート)を選択する場合、`StorageCredentialParams` を設定する必要はありません。
</TabItem>
<TabItem value="GCS" label="Google GCS" >
@ -692,31 +701,33 @@ Iceberg クラスターのストレージとして Google GCS を選択した場
"gcp.gcs.impersonation_service_account" = "<data_google_service_account_email>"
```
- REST カタログで Vended Credentialv4.0以降でサポート)を選択する場合、`StorageCredentialParams` を設定する必要はありません。
Google GCS 用の `StorageCredentialParams`:
###### gcp.gcs.service_account_email
デフォルト値: ""
例: "[user@hello.iam.gserviceaccount.com](mailto:user@hello.iam.gserviceaccount.com)"
説明: サービスアカウントの作成時に生成された JSON ファイル内のメールアドレス。
- デフォルト値: ""
- 例: "[user@hello.iam.gserviceaccount.com](mailto:user@hello.iam.gserviceaccount.com)"
- 説明: サービスアカウントの作成時に生成された JSON ファイル内のメールアドレス。
###### gcp.gcs.service_account_private_key_id
デフォルト値: ""
例: "61d257bd8479547cb3e04f0b9b6b9ca07af3b7ea"
説明: サービスアカウントの作成時に生成された JSON ファイル内のプライベートキー ID。
- デフォルト値: ""
- 例: "61d257bd8479547cb3e04f0b9b6b9ca07af3b7ea"
- 説明: サービスアカウントの作成時に生成された JSON ファイル内のプライベートキー ID。
###### gcp.gcs.service_account_private_key
デフォルト値: ""
例: "-----BEGIN PRIVATE KEY----xxxx-----END PRIVATE KEY-----\n"
説明: サービスアカウントの作成時に生成された JSON ファイル内のプライベートキー。
- デフォルト値: ""
- 例: "-----BEGIN PRIVATE KEY----xxxx-----END PRIVATE KEY-----\n"
- 説明: サービスアカウントの作成時に生成された JSON ファイル内のプライベートキー。
###### gcp.gcs.impersonation_service_account
デフォルト値: ""
例: "hello"
説明: インパーソネートしたいサービスアカウント。
- デフォルト値: ""
- 例: "hello"
- 説明: インパーソネートしたいサービスアカウント。
</TabItem>
@ -853,6 +864,27 @@ v3.4 以降、StarRocks は、以下のパラメーターを設定すること
"aws.s3.region" = "us-west-2"
);
```
##### Vended Credential を選択した場合
REST カタログで Vended Credential を選択する場合、次のようなコマンドを実行します。
```SQL
CREATE EXTERNAL CATALOG polaris_s3
PROPERTIES
(
"type" = "iceberg",
"iceberg.catalog.uri" = "http://xxx:xxx/api/catalog",
"iceberg.catalog.type" = "rest",
"iceberg.catalog.rest.nested-namespace-enabled"="true",
"iceberg.catalog.security" = "oauth2",
"iceberg.catalog.oauth2.credential" = "xxxxx:xxxx",
"iceberg.catalog.oauth2.scope"='PRINCIPAL_ROLE:ALL',
"iceberg.catalog.warehouse" = "iceberg_catalog",
"aws.s3.region" = "us-west-2"
);
```
</TabItem>
<TabItem value="HDFS" label="HDFS" >
@ -930,6 +962,22 @@ PROPERTIES
);
```
- REST カタログで Vended Credential を選択する場合、次のようなコマンドを実行します。
```SQL
CREATE EXTERNAL CATALOG polaris_azure
PROPERTIES (
"type" = "iceberg",
"iceberg.catalog.uri" = "http://xxx:xxx/api/catalog",
"iceberg.catalog.type" = "rest",
"iceberg.catalog.rest.nested-namespace-enabled"="true",
"iceberg.catalog.security" = "oauth2",
"iceberg.catalog.oauth2.credential" = "xxxxx:xxxx",
"iceberg.catalog.oauth2.scope"='PRINCIPAL_ROLE:ALL',
"iceberg.catalog.warehouse" = "iceberg_catalog"
);
```
##### Azure Data Lake Storage Gen1
- マネージドサービスアイデンティティ認証方法を選択した場合、次のようなコマンドを実行します。
@ -1006,6 +1054,22 @@ PROPERTIES
);
```
- REST カタログで Vended Credential を選択する場合、次のようなコマンドを実行します。
```SQL
CREATE EXTERNAL CATALOG polaris_azure
PROPERTIES (
"type" = "iceberg",
"iceberg.catalog.uri" = "http://xxx:xxx/api/catalog",
"iceberg.catalog.type" = "rest",
"iceberg.catalog.rest.nested-namespace-enabled"="true",
"iceberg.catalog.security" = "oauth2",
"iceberg.catalog.oauth2.credential" = "xxxxx:xxxx",
"iceberg.catalog.oauth2.scope"='PRINCIPAL_ROLE:ALL',
"iceberg.catalog.warehouse" = "iceberg_catalog"
);
```
</TabItem>
<TabItem value="GCS" label="Google GCS" >
@ -1071,6 +1135,23 @@ PROPERTIES
"gcp.gcs.impersonation_service_account" = "<data_google_service_account_email>"
);
```
- REST カタログで Vended Credential を選択する場合、次のようなコマンドを実行します。
```SQL
CREATE EXTERNAL CATALOG polaris_gcp
PROPERTIES (
"type" = "iceberg",
"iceberg.catalog.uri" = "http://xxx:xxx/api/catalog",
"iceberg.catalog.type" = "rest",
"iceberg.catalog.rest.nested-namespace-enabled"="true",
"iceberg.catalog.security" = "oauth2",
"iceberg.catalog.oauth2.credential" = "xxxxx:xxxx",
"iceberg.catalog.oauth2.scope"='PRINCIPAL_ROLE:ALL',
"iceberg.catalog.warehouse" = "iceberg_catalog"
);
```
</TabItem>
</Tabs>

View File

@ -500,32 +500,38 @@ PROPERTIES
"aws.s3.region" = "<aws_s3_region>"
```
- 要选择基于 REST Catalog 的 Vended Credential自 v4.0 起支持),请按以下方式配置 `StorageCredentialParams`
```SQL
"aws.s3.region" = "<aws_s3_region>"
```
AWS S3 的 `StorageCredentialParams`
###### aws.s3.use_instance_profile
必需:是
描述:指定是否启用基于实例配置文件的身份验证方法和基于假设角色的身份验证方法。有效值:`true` 和 `false`。默认值:`false`。
- 必需:是
- 描述:指定是否启用基于实例配置文件的身份验证方法和基于假设角色的身份验证方法。有效值:`true` 和 `false`。默认值:`false`。
###### aws.s3.iam_role_arn
必需:否
描述:在您的 AWS S3 存储桶上具有权限的 IAM 角色的 ARN。如果使用基于假设角色的身份验证方法访问 AWS S3则必须指定此参数。
- 必需:否
- 描述:在您的 AWS S3 存储桶上具有权限的 IAM 角色的 ARN。如果使用基于假设角色的身份验证方法访问 AWS S3则必须指定此参数。
###### aws.s3.region
必需:是
描述:您的 AWS S3 存储桶所在的区域。例如:`us-west-1`。
- 必需:是
- 描述:您的 AWS S3 存储桶所在的区域。例如:`us-west-1`。
###### aws.s3.access_key
必需:否
描述:您的 IAM 用户的访问密钥。如果使用基于 IAM 用户的身份验证方法访问 AWS S3则必须指定此参数。
- 必需:否
- 描述:您的 IAM 用户的访问密钥。如果使用基于 IAM 用户的身份验证方法访问 AWS S3则必须指定此参数。
###### aws.s3.secret_key
必需:否
描述:您的 IAM 用户的秘密密钥。如果使用基于 IAM 用户的身份验证方法访问 AWS S3则必须指定此参数。
- 必需:否
- 描述:您的 IAM 用户的秘密密钥。如果使用基于 IAM 用户的身份验证方法访问 AWS S3则必须指定此参数。
有关如何选择访问 AWS S3 的身份验证方法以及如何在 AWS IAM 控制台中配置访问控制策略的信息,请参见 [访问 AWS S3 的身份验证参数](../../../integrations/authenticate_to_aws_resources.md#authentication-parameters-for-accessing-aws-s3)。
@ -557,28 +563,28 @@ MinIO 和其他 S3 兼容系统的 `StorageCredentialParams`
###### aws.s3.enable_ssl
必需:是
描述:指定是否启用 SSL 连接。<br />有效值:`true` 和 `false`。默认值:`true`。
- 必需:是
- 描述:指定是否启用 SSL 连接。<br />有效值:`true` 和 `false`。默认值:`true`。
###### aws.s3.enable_path_style_access
必需:是
描述:指定是否启用路径样式访问。<br />有效值:`true` 和 `false`。默认值:`false`。对于 MinIO您必须将值设置为 `true`<br />路径样式 URL 使用以下格式:`https://s3.<region_code>.amazonaws.com/<bucket_name>/<key_name>`。例如,如果您在美国西部(俄勒冈)区域创建了一个名为 `DOC-EXAMPLE-BUCKET1` 的存储桶,并且您想要访问该存储桶中的 `alice.jpg` 对象,可以使用以下路径样式 URL`https://s3.us-west-2.amazonaws.com/DOC-EXAMPLE-BUCKET1/alice.jpg`。
- 必需:是
- 描述:指定是否启用路径样式访问。<br />有效值:`true` 和 `false`。默认值:`false`。对于 MinIO您必须将值设置为 `true`<br />路径样式 URL 使用以下格式:`https://s3.<region_code>.amazonaws.com/<bucket_name>/<key_name>`。例如,如果您在美国西部(俄勒冈)区域创建了一个名为 `DOC-EXAMPLE-BUCKET1` 的存储桶,并且您想要访问该存储桶中的 `alice.jpg` 对象,可以使用以下路径样式 URL`https://s3.us-west-2.amazonaws.com/DOC-EXAMPLE-BUCKET1/alice.jpg`。
###### aws.s3.endpoint
必需:是
描述:用于连接到您的 S3 兼容存储系统而不是 AWS S3 的端点。
- 必需:是
- 描述:用于连接到您的 S3 兼容存储系统而不是 AWS S3 的端点。
###### aws.s3.access_key
必需:是
描述:您的 IAM 用户的访问密钥。
- 必需:是
- 描述:您的 IAM 用户的访问密钥。
###### aws.s3.secret_key
必需:是
描述:您的 IAM 用户的秘密密钥。
- 必需:是
- 描述:您的 IAM 用户的秘密密钥。
</TabItem>
@ -607,32 +613,34 @@ MinIO 和其他 S3 兼容系统的 `StorageCredentialParams`
"azure.blob.sas_token" = "<storage_account_SAS_token>"
```
- 要选择基于 REST Catalog 的 Vended Credential自 v4.0 起支持),则无需配置 `StorageCredentialParams`
Microsoft Azure 的 `StorageCredentialParams`
###### azure.blob.storage_account
必需:是
描述:您的 Blob Storage 账户的用户名。
- 必需:是
- 描述:您的 Blob Storage 账户的用户名。
###### azure.blob.shared_key
必需:是
描述:您的 Blob Storage 账户的共享密钥。
- 必需:是
- 描述:您的 Blob Storage 账户的共享密钥。
###### azure.blob.account_name
必需:是
描述:您的 Blob Storage 账户的用户名。
- 必需:是
- 描述:您的 Blob Storage 账户的用户名。
###### azure.blob.container
必需:是
描述:存储数据的 blob 容器的名称。
- 必需:是
- 描述:存储数据的 blob 容器的名称。
###### azure.blob.sas_token
必需:是
描述:用于访问您的 Blob Storage 账户的 SAS 令牌。
- 必需:是
- 描述:用于访问您的 Blob Storage 账户的 SAS 令牌。
###### Azure Data Lake Storage Gen1
@ -685,6 +693,8 @@ Microsoft Azure 的 `StorageCredentialParams`
"azure.adls2.oauth2_client_endpoint" = "<service_principal_client_endpoint>"
```
- 要选择基于 REST Catalog 的 Vended Credential自 v4.0 起支持),则无需配置 `StorageCredentialParams`
</TabItem>
<TabItem value="GCS" label="Google GCS" >
@ -727,31 +737,33 @@ Microsoft Azure 的 `StorageCredentialParams`
"gcp.gcs.impersonation_service_account" = "<data_google_service_account_email>"
```
- 要选择基于 REST Catalog 的 Vended Credential自 v4.0 起支持),则无需配置 `StorageCredentialParams`
Google GCS 的 `StorageCredentialParams`
###### gcp.gcs.service_account_email
默认值: ""
示例: "[user@hello.iam.gserviceaccount.com](mailto:user@hello.iam.gserviceaccount.com)"
描述:在创建服务账户时生成的 JSON 文件中的电子邮件地址。
- 默认值: ""
- 示例: "[user@hello.iam.gserviceaccount.com](mailto:user@hello.iam.gserviceaccount.com)"
- 描述:在创建服务账户时生成的 JSON 文件中的电子邮件地址。
###### gcp.gcs.service_account_private_key_id
默认值: ""
示例: "61d257bd8479547cb3e04f0b9b6b9ca07af3b7ea"
描述:在创建服务账户时生成的 JSON 文件中的私钥 ID。
- 默认值: ""
- 示例: "61d257bd8479547cb3e04f0b9b6b9ca07af3b7ea"
- 描述:在创建服务账户时生成的 JSON 文件中的私钥 ID。
###### gcp.gcs.service_account_private_key
默认值: ""
示例: "-----BEGIN PRIVATE KEY----xxxx-----END PRIVATE KEY-----\n"
描述:在创建服务账户时生成的 JSON 文件中的私钥。
- 默认值: ""
- 示例: "-----BEGIN PRIVATE KEY----xxxx-----END PRIVATE KEY-----\n"
- 描述:在创建服务账户时生成的 JSON 文件中的私钥。
###### gcp.gcs.impersonation_service_account
默认值: ""
示例: "hello"
描述:您要模拟的服务账户。
- 默认值: ""
- 示例: "hello"
- 描述:您要模拟的服务账户。
</TabItem>
@ -888,6 +900,27 @@ Google GCS 的 `StorageCredentialParams`
"aws.s3.region" = "us-west-2"
);
```
##### 如果选择 Vended Credential
如果基于 REST Catalog 使用 Vended Credential请运行如下命令
```SQL
CREATE EXTERNAL CATALOG polaris_s3
PROPERTIES
(
"type" = "iceberg",
"iceberg.catalog.uri" = "http://xxx:xxx/api/catalog",
"iceberg.catalog.type" = "rest",
"iceberg.catalog.rest.nested-namespace-enabled"="true",
"iceberg.catalog.security" = "oauth2",
"iceberg.catalog.oauth2.credential" = "xxxxx:xxxx",
"iceberg.catalog.oauth2.scope"='PRINCIPAL_ROLE:ALL',
"iceberg.catalog.warehouse" = "iceberg_catalog",
"aws.s3.region" = "us-west-2"
);
```
</TabItem>
<TabItem value="HDFS" label="HDFS" >
@ -965,6 +998,22 @@ PROPERTIES
);
```
- 如果基于 REST Catalog 使用 Vended Credential请运行如下命令
```SQL
CREATE EXTERNAL CATALOG polaris_azure
PROPERTIES (
"type" = "iceberg",
"iceberg.catalog.uri" = "http://xxx:xxx/api/catalog",
"iceberg.catalog.type" = "rest",
"iceberg.catalog.rest.nested-namespace-enabled"="true",
"iceberg.catalog.security" = "oauth2",
"iceberg.catalog.oauth2.credential" = "xxxxx:xxxx",
"iceberg.catalog.oauth2.scope"='PRINCIPAL_ROLE:ALL',
"iceberg.catalog.warehouse" = "iceberg_catalog"
);
```
##### Azure Data Lake Storage Gen1
- 如果选择托管服务身份验证方法,请运行如下命令:
@ -1041,6 +1090,22 @@ PROPERTIES
);
```
- 如果基于 REST Catalog 使用 Vended Credential请运行如下命令
```SQL
CREATE EXTERNAL CATALOG polaris_azure
PROPERTIES (
"type" = "iceberg",
"iceberg.catalog.uri" = "http://xxx:xxx/api/catalog",
"iceberg.catalog.type" = "rest",
"iceberg.catalog.rest.nested-namespace-enabled"="true",
"iceberg.catalog.security" = "oauth2",
"iceberg.catalog.oauth2.credential" = "xxxxx:xxxx",
"iceberg.catalog.oauth2.scope"='PRINCIPAL_ROLE:ALL',
"iceberg.catalog.warehouse" = "iceberg_catalog"
);
```
</TabItem>
<TabItem value="GCS" label="Google GCS" >
@ -1106,6 +1171,23 @@ PROPERTIES
"gcp.gcs.impersonation_service_account" = "<data_google_service_account_email>"
);
```
- 如果基于 REST Catalog 使用 Vended Credential请运行如下命令
```SQL
CREATE EXTERNAL CATALOG polaris_gcp
PROPERTIES (
"type" = "iceberg",
"iceberg.catalog.uri" = "http://xxx:xxx/api/catalog",
"iceberg.catalog.type" = "rest",
"iceberg.catalog.rest.nested-namespace-enabled"="true",
"iceberg.catalog.security" = "oauth2",
"iceberg.catalog.oauth2.credential" = "xxxxx:xxxx",
"iceberg.catalog.oauth2.scope"='PRINCIPAL_ROLE:ALL',
"iceberg.catalog.warehouse" = "iceberg_catalog"
);
```
</TabItem>
</Tabs>