Hologres コンソールで、[インスタンスの詳細] ページの [アカウント管理] をクリックして、HoloWeb コンソールの [ユーザー管理] ページに移動できます。 [ユーザー管理] ページでは、Hologres インスタンスへのユーザーの追加、Hologres インスタンスからのユーザーの削除、およびユーザーへの権限の付与を行うことができます。 [ユーザー管理] ページでは、視覚的にユーザーを管理できます。
デフォルトでは、Hologres インスタンスの購入に使用された Alibaba Cloud アカウントがインスタンスのスーパーユーザーであり、Hologres インスタンスに対するすべての権限を持っています。他のユーザーを追加する前は、Alibaba Cloud アカウントのみが [ユーザー管理] ページに表示されます。次の表は、[ユーザー管理] ページに表示される項目の説明です。
項目 | 説明 |
メンバー | インスタンス内のユーザーの名前。値には、Alibaba Cloud アカウント、RAM ユーザー、またはカスタムアカウントの名前を指定できます。 |
アカウント ID | インスタンス内のユーザーの ID。 例:
|
アカウントタイプ | インスタンス内のユーザーのアカウントタイプ。有効な値:
|
ロールタイプ | インスタンス内のユーザーに割り当てられたロール。有効な値:
|
操作 | インスタンス内のユーザーに対して実行できる操作。 [操作] 列の [削除] をクリックすると、インスタンスからユーザーを削除できます。ユーザーが削除されると、そのユーザーはインスタンスに対する権限を持ちません。 |
制限
デフォルトでは、カスタムアカウントを使用して外部テーブル経由で MaxCompute のデータをクエリすることはできません。カスタムアカウントを使用して MaxCompute データをクエリするには、ユーザーマッピングを設定する必要があります。詳細については、「よくある質問」をご参照ください。
ユーザーを追加する
このセクションでは、[ユーザー管理] ページで視覚的に Hologres インスタンスにユーザーを追加する方法について説明します。
[ユーザー管理] ページの上部にある [インスタンス名] ドロップダウンリストから目的のインスタンスを選択します。 [ユーザー管理] ページの右上隅にある [新規ユーザーを追加] をクリックします。
[新規ユーザーを追加] ダイアログボックスで、Alibaba Cloud アカウントの RAM ユーザーを選択し、[メンバーロールの選択] パラメーターを [スーパー管理者 (スーパーユーザー) の例] または [一般ユーザー] に設定します。
説明Alibaba Cloud アカウントに RAM ユーザーが存在しない場合は、RAM ユーザーを作成します。詳細については、「RAM ユーザーに権限を付与する」をご参照ください。
Hologres では、インスタンスのスーパーユーザーロールが割り当てられている Alibaba Cloud アカウントまたは RAM ユーザーを使用してユーザーを追加できます。 RAM ユーザーには、AliyunRAMReadOnlyAccess ポリシーで指定された権限が付与されている必要があります。詳細については、「RAM ユーザーに権限を付与する」をご参照ください。
スーパー管理者 (スーパーユーザー) の例:Hologres インスタンスのスーパーユーザーは、インスタンスに対するすべての権限を持っています。スーパーユーザーロールが RAM ユーザーに割り当てられている場合、RAM ユーザーに追加の承認は必要ありません。
一般ユーザー:Hologres インスタンスで作成された一般ユーザーは、インスタンス内のオブジェクトに対するクエリ権限または管理権限を持ちません。オブジェクトには、データベース、スキーマ、テーブルが含まれます。一般ユーザーは、インスタンス内のオブジェクトをクエリまたは管理する前に、必要な権限を取得する必要があります。
視覚的にユーザーに権限を付与することをお勧めします。詳細については、「データベースを管理する」の「ユーザーに権限を付与する」セクションをご参照ください。また、SQL ステートメントを実行して、ユーザーに権限を付与することもできます。詳細については、「RAM ユーザーに権限を付与する」をご参照ください。
ユーザーを削除する
[ユーザー管理] ページの上部にある [インスタンス名] ドロップダウンリストから、目的のインスタンスを選択します。削除するユーザーを見つけ、[操作] 列の [削除] をクリックします。 [ユーザーの削除] メッセージで、[OK] をクリックします。インスタンスからユーザーが削除されると、そのユーザーはインスタンスに対する権限を持ちません。
カスタムアカウントを作成する
カスタムアカウントは Hologres 内でのみ有効です。 MaxCompute 外部テーブルなどの他の Alibaba Cloud サービスにアクセスする必要がある場合は、カスタムアカウントをバインドするために user mappings を作成する必要があります。 詳細については、「一般的なエラーとトラブルシューティング」をご参照ください。
コンソールの使用
視覚的に [ユーザー管理] ページで Hologres インスタンスのカスタムアカウントを作成できます。
[ユーザー管理] ページの上部にある [インスタンス名] ドロップダウンリストから目的のインスタンスを選択します。 [ユーザー管理] ページの右上隅にある [基本ユーザーの作成] をクリックします。
[基本ユーザーの作成] ダイアログボックスで、次の表に示すパラメーターを設定します。

パラメーター
説明
アカウント名
カスタムアカウントの名前。名前は最大 57 文字で、小文字、数字、アンダースコア(_) を使用できます。
メンバーロールの選択
アカウントタイプ。有効な値:
スーパー管理者 (スーパーユーザー) の例:Hologres インスタンスのスーパーユーザーは、インスタンスに対するすべての権限を持っています。スーパーユーザーロールが RAM ユーザーに割り当てられている場合、RAM ユーザーに追加の承認は必要ありません。
一般ユーザー:Hologres インスタンスで作成された一般ユーザーは、インスタンス内のオブジェクトに対するクエリ権限または管理権限を持ちません。オブジェクトには、データベース、スキーマ、テーブルが含まれます。一般ユーザーは、インスタンス内のオブジェクトをクエリまたは管理する前に、必要な権限を取得する必要があります。
パスワード
カスタムアカウントのパスワード。パスワードは次の要件を満たしている必要があります。
パスワードには、大文字、小文字、数字、特殊文字のうち少なくとも 3 種類の文字が含まれている必要があります。
パスワードは 8 ~ 32 文字である必要があります。
パスワードには、次の特殊文字
! @#$%^&*()_+-=を使用できます。
パスワードの確認
パスワードをもう一度入力します。
[OK] をクリックします。
SQL ステートメントの使用
create user "BASIC$<user_name>" with password '<password>'; // カスタムユーザーを作成する上記のステートメントで、user_name を作成するカスタムアカウントの名前に、password をカスタムアカウントのパスワードに置き換えます。
その他の操作
カスタムアカウントのパスワードを変更する
説明カスタムアカウントのパスワードのみを変更できます。 Alibaba Cloud アカウントと RAM ユーザーの AccessKey ペアは自動的に生成されます。
次のいずれかの方法を使用して、カスタムユーザーのパスワードを変更できます。
コンソールの使用
[ユーザー管理] ページで、[ユーザーアカウントの承認] タブをクリックし、パスワードを変更するカスタムアカウントを見つけて、[操作] 列の [パスワードのリセット] をクリックします。
[パスワードのリセット] ダイアログボックスで、[パスワード] と [パスワードの確認] パラメーターを設定し、[OK] をクリックします。
SQL ステートメントの使用
alter user "BASIC$<user_name>" with password '<password>'; // カスタムユーザーのパスワードを変更する上記のステートメントで、user_name をパスワードを変更するカスタムアカウントの名前に、password を新しいパスワードに置き換えます。
カスタムアカウントを削除する
次のいずれかの方法を使用して、カスタムアカウントを削除できます。
コンソールの使用
[ユーザー管理] ページで、[ユーザーアカウントの承認] タブをクリックし、削除するカスタムアカウントを見つけて、[操作] 列の [削除] をクリックします。
[ユーザーの削除] メッセージで、[OK] をクリックします。
SQL ステートメントの使用
drop user "BASIC$<user_name>"; // カスタムユーザーを削除する上記のステートメントで、user_name を削除するカスタムアカウントの名前に置き換えます。
一般的なエラーとトラブルシューティング
問題の説明:カスタムアカウントを使用して外部テーブル経由で MaxCompute のデータにアクセスすると、次のエラーメッセージが表示されます。
ERROR: Query:[xxxxxx] Build desc failed: failed to check permission: Authorization Failed [4002], You don't exist in project hologres_test. Context ID:xxxxxx-xxxx-xxxx-xxxx-xxxxxxx. --->Tips: Pricipal:INVALID$BASIC$xxx; You don't exist in project xxx原因:デフォルトでは、カスタムアカウントは Hologres 内に作成され、MaxCompute 外部テーブルへのアクセスには使用できません。
解決策:MaxCompute プロジェクトと Hologres 内部テーブルへのアクセス権限を持つ RAM ユーザーとカスタムアカウントの間に
user mappingを設定します。構文
CREATE USER MAPPING FOR "<user_name>" SERVER odps_server OPTIONS ( access_id '<Access_id>', access_key '<Access_key>' ); // ユーザーマッピングを作成するパラメーターの説明
パラメーター
説明
user_name
カスタムアカウントの名前。
Access_id
Hologres データベースにログインするために使用されるアカウントの AccessKey ID。
[セキュリティ管理] ページから AccessKey ID を取得できます。
Access_key
Hologres データベースにログインするために使用されるアカウントの AccessKey シークレット。
[セキュリティ管理] ページから AccessKey シークレットを取得できます。
例
-- BASIC$test という名前のユーザーに対して CREATE USER MAPPING ステートメントを実行します。 CREATE USER MAPPING FOR "BASIC$test" SERVER odps_server OPTIONS ( access_id 'LTxxxxxxxxxx', access_key 'y8xxxxxxxxxxxxx'); -- 現在のユーザーに対して CREATE USER MAPPING ステートメントを実行します。 CREATE USER MAPPING FOR CURRENT_USER SERVER odps_server OPTIONS ( access_id 'LTxxxxxxxxxx', access_key 'y8xxxxxxxxxxxxx');
関連情報
DROP USER ステートメントを使用して Hologres でアカウントを削除する方法、およびアカウントの削除時に発生する可能性のあるエラーのトラブルシューティング方法については、「アカウントを削除する」をご参照ください。