Tüm Ürünler
Search
Belge Merkezi

Hologres:Şifrelenmiş MaxCompute verilerini sorgulama

Son Güncelleme:Oct 06, 2026

Bu konuda, yabancı tablo kullanarak şifrelenmiş MaxCompute verilerinin nasıl sorgulanacağı açıklanmaktadır.

Yöntem seçimi

Hologres, şifrelenmiş MaxCompute verilerini sorgulamak için iki yöntem destekler. Örnek sürümünüze göre seçim yapın:

Hologres sürümü Yöntem Desteklenen şifreleme Gerekli yapılandırma
V3.2 ve sonrası Ortak Tablo (önerilen) Varsayılan anahtar ve KMS anahtarı Basitleştirilmiş — Hologres şifre çözme işlemini şeffaf şekilde yönetir
V3.2 öncesi Eski yabancı tablo Yalnızca KMS anahtarı RAM rolü + sorgu motoru geçişi

Ortak Tablo yöntemi (V3.2 ve sonrası)

V3.2'den itibaren Hologres, basitleştirilmiş yapılandırma ile Ortak Tablolar aracılığıyla varsayılan anahtar veya Key Management Service (KMS) anahtarı ile şifrelenmiş MaxCompute verilerini sorgulayabilir.

Bu yöntemi kullanmak için kullanım durumunuza uygun kapsamda Ortak Tablo yönlendirmesini etkinleştirin:

  • Oturum düzeyi — Yalnızca geçerli oturum için etkili olur. Bu deyimi sorgunuz veya DML deyimlerinizle birlikte çalıştırın.

    SET hg_experimental_external_catalog_routing = 'odps:common_table,dlf:hqe';
  • Veritabanı düzeyi — Belirtilen veritabanına yapılan tüm bağlantılar için etkili olur.

    ALTER DATABASE <database name> SET hg_experimental_external_catalog_routing = 'odps:common_table,dlf:hqe';
  • Örnek düzeyi — Örnekteki tüm veritabanları için etkili olur.

    ALTER ROLE ALL SET hg_experimental_external_catalog_routing = 'odps:common_table,dlf:hqe';

Daha fazla bilgi için bkz. Ortak Tablo.

Eski yöntem (V3.2 öncesi)

Bu yöntem, V3.2 öncesi sürümleri çalışan Hologres örnekleri için geçerlidir. Yalnızca KMS ile şifrelenmiş MaxCompute verilerini destekler; varsayılan DataWorks anahtarı kullanılarak şifrelenen veriler desteklenmez.

Sınırlamalar

  • Minimum sürüm: Hologres V1.1. Örneğiniz daha eski bir sürümde çalışıyorsa önce yükseltin. Bkz. Bir örneği yükseltme.

  • Arka uç yapılandırması: V1.3.31'den önceki sürümleri çalışan örnekler için gereklidir. V1.3.31 ve sonraki sürümler için gerekli değildir. Bu adımı atlamak için V1.3.31 veya sonraki bir sürüme yükseltin.

  • Desteklenen şifreleme: KMS tarafından oluşturulan anahtar malzemeleri veya içeri aktarılan anahtar malzemeleri kullanan KMS ile şifrelenmiş veriler. DataWorks varsayılan anahtarı desteklenmez.

  • KMS anahtarı önbelleğe alma: Hologres, verilerin şifresini çözerken varsayılan olarak KMS anahtarı bilgilerini 24 saat boyunca önbelleğe alır.

  • Sorgu motoru: Hologres Query Engine (HQE), şifrelenmiş MaxCompute verilerine erişemez. Veritabanı düzeyinde Seahawks Query Engine (SQE) motoruna geçiş yapmanız gerekir.

Ön koşullar

Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:

  • V1.1 veya sonraki bir sürümü çalışan bir Hologres örneği

  • İlkeler ve roller oluşturmak için yeterli RAM izni

Şifrelenmiş verilere erişimi yapılandırma

Eski yöntem dört adım gerektirir: bir RAM ilkesi oluşturma, bir RAM rolü oluşturma, sorgu motorunu değiştirme ve ardından verileri sorgulama.

Adım 1: Özel bir ilke oluşturun

  1. RAM konsolu üzerinde oturum açın. Sol gezinme bölmesinde Permissions > Policies seçeneğini belirleyin. Policies sayfasında Create Policy düğmesini tıklayın.

    权限策略

  2. Create Policy sayfasında JSON sekmesini tıklayın. Kod düzenleyicide aşağıdaki ilkeyi girin ve Name alanını AliyunHologresEncryptionDefaultRolePolicy olarak ayarlayın.

    创建权限策略

    Bu ilke, Hologres'in şifrelenmiş MaxCompute verilerini sorgularken veri anahtarlarını alması ve şifresini çözmesi için gereken KMS izinlerini sağlar.

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "kms:Encrypt",
                    "kms:Decrypt",
                    "kms:GenerateDataKey",
                    "kms:DescribeKey"
                ],
                "Resource": "acs:kms:*:*:*/*",
                "Effect": "Allow"
            }
        ]
    }
  3. OK düğmesini tıklayın. Özel ilke oluşturulur.

Adım 2: Bir RAM rolü oluşturun ve izin verin

Hologres'in sizin adınıza KMS API'lerini çağırabilmesi için bir RAM rolüne ihtiyacı vardır. Rolü oluşturun ve 1. adımda oluşturulan ilkeyi ekleyin.

  1. RAM konsolu üzerinde oturum açın. Sol gezinme bölmesinde Identities > Roles seçeneğini belirleyin.

  2. Roles sayfasında Create Role düğmesini tıklayın. Principal Type değerini Cloud Service ve Principal Name değerini Hologres olarak ayarlayın.

  3. OK düğmesini tıklayın. İletişim kutusunda Role Name alanına AliyunHologresEncryptionDefaultRole yazın ve ardından OK düğmesini tıklayın.

    创建角色

  4. Rol ayrıntıları sayfasında Grant Permission düğmesini tıklayın.

  5. Grant Permission panelinde Resource Scope değerini Account olarak ayarlayın. Policy için AliyunHologresEncryptionDefaultRolePolicy öğesini seçin.

    添加权限

  6. OK düğmesini tıklayın. Rol ayrıntıları sayfasında güven ilkesini doğrulamak için Trust Policy sekmesini tıklayın.

Adım 3: Sorgu motorunu SQE'ye geçirin

HQE, şifrelenmiş MaxCompute verilerine erişemez. Veritabanının yabancı tablo sorgu motorunu SQE'ye geçirmek için aşağıdaki deyimi çalıştırın:

ALTER DATABASE <dbname> SET hg_experimental_enable_access_odps_orc_via_holo = false;

Değişiklik yeni bir bağlantı oluşturduktan sonra etkili olur. Yapılandırmayı doğrulamak için şu komutu çalıştırın:

SHOW hg_experimental_enable_access_odps_orc_via_holo;

Çıktı false ise yapılandırma etkindir.

Adım 4: Şifrelenmiş verileri sorgulayın

Önceki adımları tamamladıktan sonra şifrelenmiş MaxCompute verilerini, normal MaxCompute verilerini sorguladığınız gibi sorgulayabilirsiniz. Bkz. Yabancı tablolar kullanarak MaxCompute verilerindeki sorguları hızlandırma.

Sorun giderme

Veriler sorgulanırken oluşan hata:

ERROR: status { code: SERVER_INTERNAL_ERROR message: "hos_exception: IO error: Failed to execute pangu open normal file pangu://xxx:xxx/product/odps/xxx/data/xxxx/xxx/xxx, errorcode: 9, errorcode_description: invalid argument, err_msg: PanguParameterInvalidException

Bu hata, HQE şifrelenmiş MaxCompute verilerine erişmeye çalıştığında oluşur. Veritabanının sorgu motorunu SQE'ye geçirin:

ALTER DATABASE <DB_Name> SET hg_experimental_enable_access_odps_orc_via_holo = false;

Değişikliği uygulamak için yeniden bağlanın ve etkili olduğunu doğrulayın:

SHOW hg_experimental_enable_access_odps_orc_via_holo;

Çıktı false ise sorgunuzu tekrar çalıştırın.