すべてのプロダクト
Search
ドキュメントセンター

Hologres:MaxCompute の権限

最終更新日:Jan 11, 2025

Hologres で MaxCompute テーブルのデータに対するクエリを高速化する際に、関連する権限が付与されていない場合はエラーが発生する可能性があります。このトピックでは、MaxCompute の権限に関するよくある質問への回答を提供します。

FAQ

MaxCompute テーブルのデータをクエリするときに、「xxx に対する 'odps:Select' 権限がありません」というエラーメッセージが返されるのはなぜですか?

  • 問題の説明

    Hologres コンソールで外部テーブルを作成した後、ソース MaxCompute テーブルのデータをクエリできません。「xxx に対する 'odps:Select' 権限がありません」というエラーメッセージが返されます。

  • 原因

    現在の RAM(Resource Access Management)ユーザーには、MaxCompute テーブルのデータに対する SELECT 権限が付与されていません。

  • 解決策

    MaxCompute 管理者に連絡して、現在の RAM ユーザーに MaxCompute テーブルのデータに対する SELECT 権限を付与してもらってください。詳細については、「MaxCompute の権限」をご参照ください。

MaxCompute テーブルのデータをクエリするときに、「列 'xxx' の機密ラベルは 2 ですが、有効なラベルは 0 です」というエラーメッセージが返されるのはなぜですか?

  • 問題の説明

    Hologres コンソールで外部テーブルを作成した後、ソース MaxCompute テーブルのデータをクエリできません。「列 'xxx' の機密ラベルは 2 ですが、有効なラベルは 0 です」というエラーメッセージが返されます。

  • 原因

    現在の RAM ユーザーには、MaxCompute テーブルの一部のフィールドのみをクエリする権限が付与されています。

  • 解決策

    この問題を解決するには、次のいずれかの方法を選択できます。

    • (推奨)DingTalk グループに参加し、DingTalk グループのテクニカルサポートに連絡して、Hologres インスタンスを V0.8 にアップグレードします。詳細については、「Hologres のオンラインサポートを受ける」をご参照ください。

    • 既存のクエリステートメントの前に次のパラメーターを追加します。

      set hg_experimental_enable_odps_executor=on; 
      set hg_experimental_enable_query_master=on;
    • MaxCompute テーブルのすべてのフィールドをクエリする権限を取得します。詳細については、「MaxCompute の権限」をご参照ください。

MaxCompute プロジェクトを跨いで MaxCompute テーブルを選択するときに、「xxx に対する 'odps:Select' 権限がありません」というエラーメッセージが返されるのはなぜですか?

  • 問題の説明

    使用している RAM ユーザーには、プロジェクト 2 の MaxCompute テーブルのデータをクエリする権限が付与されています。ただし、プロジェクト 1 のデータをクエリするために MaxCompute テーブルを選択すると、「xxx に対する 'odps:Select' 権限がありません」というエラーメッセージが返されます。

  • 原因

    現在の RAM ユーザーには、プロジェクト 2 の既存の MaxCompute テーブルのデータをクエリする権限が付与されています。ただし、プロジェクト 1 のデータをクエリし、プロジェクト 2 に属する MaxCompute テーブルを選択すると、エラーメッセージが返されます。これは、RAM ユーザーに、プロジェクトを跨ぐパッケージベースのリソース共有に基づいてプロジェクト 2 に対する権限が付与されているためです。SQL ステートメントを追加することで、この問題を解決できます。

  • 解決策

    現在の RAM ユーザーに、プロジェクトを跨ぐパッケージベースのリソース共有に基づいてプロジェクト 2 に対する権限が付与されている場合は、Hologres の既存の SQL ステートメントの前に次のパラメーターを追加することで、前述の問題を解決できます。

    // V0.7 の Hologres インスタンスを使用している場合は、次のパラメーターを追加します。
    set seahawks.seahawks_internal_current_odps_project='holoprojectname';
    // V0.8 の Hologres インスタンスを使用している場合は、次のパラメーターを追加します。
    set hg_experimental_odps_current_project_name = 'holoprojectname';

外部テーブルを作成するときに、「xxx に対する 'odps:List' 権限がありません」というエラーメッセージが返されるのはなぜですか?

  • 問題の説明

    HoloWeb または HoloStudio を使用して Hologres コンソールで外部テーブルを作成すると、エラーが発生します。「xxx に対する 'odps:List' 権限がありません」というエラーメッセージが返されます。

  • 原因

    現在の RAM ユーザーには、MaxCompute プロジェクトに対する LIST 権限が付与されていません。

  • 解決策

外部テーブルを作成するときに、「プロジェクト IP ホワイトリストによってアクセスが拒否されました: sourceIP:'xxxx' はホワイトリストにありません。プロジェクト: xxxx」というエラーメッセージが返されるのはなぜですか?

  • 問題の説明

    HoloWeb を使用して Hologres コンソールで外部テーブルを作成すると、エラーが発生します。「プロジェクト IP ホワイトリストによってアクセスが拒否されました: sourceIP:'xxxx' はホワイトリストにありません。プロジェクト: xxxx」というエラーメッセージが返されます。

  • 原因

    現在の MaxCompute クラスタには IP アドレスホワイトリストが構成されています。ただし、HoloWeb の IP アドレスはホワイトリストに含まれていません。

  • 解決策

    IP アドレスホワイトリストが構成されると、ホワイトリストに含まれる IP アドレスのみが MaxCompute プロジェクトへのアクセスを許可されます。有効な AccessKey ペアを持っている場合でも、ホワイトリストにない IP アドレスから MaxCompute プロジェクトにアクセスすると、アクセスリクエストは拒否されます。この場合、エラーメッセージに示されている IP アドレスをホワイトリストに追加した後にのみ、外部テーブルを作成できます。詳細については、「IP アドレスホワイトリストを設定する」をご参照ください。

外部テーブルを作成するときに、「プロジェクト xxx に存在しません」というエラーメッセージが返されるのはなぜですか?

  • 問題の説明

    外部テーブルを作成すると、「プロジェクト xxx に存在しません」というエラーメッセージが返されます。

  • 原因

    外部テーブルの作成に使用されている RAM ユーザーには、ソース MaxCompute テーブルが存在する MaxCompute プロジェクトにアクセスする権限が付与されていません。

  • 解決策

    アクセスする MaxCompute プロジェクトの名前が有効かどうかを確認します。プロジェクト名が無効な場合は、有効な名前に置き換えます。プロジェクト名が有効で問題が解決しない場合は、MaxCompute にアクセスして、RAM ユーザーに MaxCompute プロジェクトにアクセスする権限を付与します。詳細については、「権限」をご参照ください。