Hologres は DataWorks と深く統合されています。DataWorks を使用して Hologres の開発を行う際、権限に関する問題によりエラーが発生することがあります。本トピックでは、いくつかの一般的な権限問題の解決方法について説明します。
問題の概要
以下のリンクをクリックして、DataWorks の一般的な権限問題に対する解決策をご確認ください。
ワークスペース構成で Hologres DB のアタッチボタンがグレーアウトしている
症状
DataWorks コンソール の ワークスペース構成 ページにある コンピュートエンジン情報 タブで Hologres DB をアタッチしようとした際、+ Hologres DB をアタッチ ボタンがグレーアウトしており、操作を完了できません。

原因
Resource Access Management (RAM) ユーザーがワークスペースの管理権限を持っていない。
RAM ユーザーがインスタンスに対する開発者権限を持っていない。
解決策
RAM ユーザーがワークスペースの管理権限を持っていない場合、メンバー管理 ページで現在のユーザーに権限を付与してください。詳細については、「ワークスペースレベルモジュールの権限管理」をご参照ください。
RAM ユーザーがインスタンスに対する開発者権限を持っていない場合、Hologres で権限モデルに基づき権限を付与してください。
簡易権限モデルの場合は、「ユーザーの追加」をご参照ください。
標準権限モデルの場合は、「標準権限モデルにおける権限付与」をご参照ください。
Hologres DB のアタッチ時に環境初期化が失敗する
症状
DataWorks コンソール にログインし、Hologres DB をアタッチ ダイアログボックスでパラメーターを設定した後、「アタッチおよび環境初期化」操作が失敗した旨のエラーメッセージが表示されます。
原因
コンピュートエンジンをアタッチした後、そのネットワーク環境(専用スケジューリングリソースグループ)を初期化する必要があります。Hologres インスタンスが DataWorks の専用スケジューリングリソースグループに接続できていない場合、タスクは実行できません。
説明一部の種類の Hologres インスタンスでは初期化が不要です。インターフェイスに初期化不要と表示されている場合は、コンピュートエンジンをそのままデータ開発に使用できます。
解決策
初期化に必要な権限を付与します。
必要な権限がない場合、ネットワーク環境を確認できず、システムが権限付与の通知を表示します。そのため、ネットワーク環境の確認前に、ユーザーに以下の権限セットを付与してください。
権限セット 1:AliyunHologresFullAccess
この権限セットは、Hologres インスタンスおよびそのネットワークの詳細情報を取得するために使用されます。権限付与方法の詳細については、「AliyunHologresFullAccess ポリシーの付与」をご参照ください。
権限セット 2:以下のカスタムポリシーを作成します。
このポリシーは、Hologres と DataWorks のネットワーク接続、リソースグループ関連の権限付与、およびアタッチ操作の完了に使用されます。ポリシー作成方法の詳細については、「カスタムポリシーの作成」をご参照ください。ポリシードキュメントは以下のとおりです。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "dataworks:*ResourceGroup", "Resource": "acs:dataworks:*:*:exclusive_resource_group/*" }, { "Effect": "Allow", "Action": "dataworks:Get*", "Resource": "acs:dataworks:*:*:*" }, { "Effect": "Allow", "Action": "ecs:DescribeSecurityGroups", "Resource": "acs:ecs:*:*:securitygroup/*" }, { "Effect": "Allow", "Action": "vpc:DescribeVpcs", "Resource": "acs:vpc:*:*:vpc/*" }, { "Effect": "Allow", "Action": "vpc:DescribeVSwitches", "Resource": "acs:vpc:*:*:vswitch/*" } ] }
ネットワーク環境を確認・初期化します。
下図の手順に従い、実行エンジンタスクで使用する専用スケジューリングリソースグループを選択して初期化を完了してください。必要なリソースグループが存在しない場合は、新たに作成します。詳細については、「専用スケジューリングリソースグループの作成と使用」をご参照ください。
Hologres DB のアタッチ時に「同じ名前のコンピュートエンジンインスタンスが既に存在します」または「内部テナントシステムエラー」というエラーが発生する
症状
Hologres DB をアタッチ ダイアログボックスでパラメーターを設定し、OK をクリックした後、「同じ名前のコンピュートエンジンインスタンスが既に存在します」
または「内部テナントシステムエラー」といったエラーメッセージが表示されます。原因
Hologres インスタンスの 表示名 が、以前のインスタンスの表示名と重複しています。
解決策
表示名 を変更し、再度 OK をクリックしてください。
DataService Studio でのクエリ実行中に「permission denied」エラーが発生する
症状
DataWorks コンソール の DataService Studio ページでテーブルをクエリした際に、「Execution failed: ERROR: permission denied for table xxxx」というエラーメッセージが返されます。
原因
DataService Studio の構成に使用されているユーザーアカウントが、当該テーブルをクエリする権限を持っていません。
解決策
DataService Studio で構成された Hologres データソースのアカウントが正しいか確認します。
DataWorks コンソール にログインし、データソース管理 ページでデータソースのアカウント構成を確認してください。詳細については、「Hologres データソースの構成」をご参照ください。
DataService Studio で構成された Hologres データソースのアカウントがテーブルを参照する権限を持っているか確認します。
DataWorks コンソール にログインし、データソース管理 ページでデータソースのアカウント権限を確認してください。詳細については、「RAM ロールを使用したデータソースの権限付与」をご参照ください。
DataWorks の権限および関連する権限付与操作の詳細については、「付録:プリセットロールおよび権限一覧(ワークスペースレベル)」をご参照ください。
DataWorks の本番環境で permission denied for schema xxx エラーが発生する
症状
DataWorks で SQL ノードを本番環境に公開して実行した際、
permission denied for schema xxxというエラーメッセージが返されます。原因
本番環境のテナントアカウントが、インスタンスの対応するスキーマへのアクセス権限を持っていません。
解決策
DataWorks のワークスペース構成ページに移動し、本番環境にアタッチされているアカウントを確認します。詳細については、「ワークスペースの作成と管理」をご参照ください。
HoloWeb にログインし、Security Center ページで、Users または DB 権限付与 をクリックして、本番環境にアクセスするアカウントの権限を確認します。
当該アカウントに必要な権限がない場合は、Users または DB 権限付与 ページでアカウントに権限を付与してください。詳細については、「DB の管理」をご参照ください。