Hologresコンソールで、インスタンス詳細ページの[アカウント管理] をクリックして、HoloWebコンソールのユーザー管理ページに移動できます。ユーザー管理ページでは、Hologresインスタンスにユーザーを追加したり、Hologresインスタンスからユーザーを削除したり、ユーザーに権限を付与したりできます。ユーザー管理ページでは、視覚的にユーザーを管理できます。
デフォルトでは、Hologresインスタンスの購入に使用されたAlibaba Cloudアカウントがインスタンスのスーパーユーザーであり、Hologresインスタンスに対するすべての権限を持っています。他のユーザーを追加する前は、ユーザー管理ページにはAlibaba Cloudアカウントのみが表示されます。次の表に、ユーザー管理ページに表示される項目を示します。
項目 | 説明 |
メンバー | インスタンス内のユーザーの名前。値には、Alibaba Cloudアカウント、RAMユーザー、またはカスタムアカウントの名前を指定できます。 |
アカウント ID | インスタンス内のユーザーのID。 例:
|
アカウントタイプ | インスタンス内のユーザーのアカウントタイプ。有効な値:
|
ロールタイプ | インスタンス内のユーザーに割り当てられたロール。有効な値:
|
操作 | インスタンス内のユーザーに対して実行できる操作です。[操作] 列の [削除] をクリックすると、インスタンスからユーザーを削除できます。ユーザーが削除されると、そのユーザーはインスタンスに対する権限を持ちません。 |
制限
デフォルトでは、外部テーブルを使用してMaxComputeのデータをクエリするためにカスタムアカウントを使用することはできません。カスタムアカウントを使用してMaxComputeデータをクエリする場合は、ユーザーマッピングを設定する必要があります。詳細については、FAQ をご参照ください。
ユーザーの追加
このセクションでは、ユーザー管理ページで視覚的にHologresインスタンスにユーザーを追加する方法について説明します。
[ユーザー管理] ページの上部にある [インスタンス名] ドロップダウンリストから目的のインスタンスを選択します。ユーザー管理ページの右上隅にある [新規ユーザーの追加] をクリックします。
[新規ユーザーの追加] ダイアログボックスで、Alibaba CloudアカウントのRAMユーザーを選択し、[メンバーロールの選択] パラメーターを [スーパー管理者(スーパーユーザー)の例] または [一般ユーザー] に設定します。
説明Alibaba CloudアカウントにRAMユーザーが存在しない場合は、RAMユーザーを作成します。詳細については、RAMユーザーへの権限の付与 をご参照ください。
Hologresでは、インスタンスのスーパーユーザーロールが割り当てられているAlibaba CloudアカウントまたはRAMユーザーを使用してユーザーを追加できます。 RAMユーザーには、AliyunRAMReadOnlyAccessポリシーで指定された権限が付与されている必要があります。詳細については、RAMユーザーへの権限の付与 をご参照ください。
スーパー管理者(スーパーユーザー)の例:Hologresインスタンスのスーパーユーザーは、インスタンスに対するすべての権限を持っています。スーパーユーザーロールがRAMユーザーに割り当てられている場合、RAMユーザーに追加の承認は必要ありません。
一般ユーザー:Hologresインスタンスで作成された一般ユーザーは、インスタンス内のオブジェクトに対するクエリ権限または管理権限を持ちません。オブジェクトには、データベース、スキーマ、テーブルが含まれます。一般ユーザーは、インスタンス内のオブジェクトをクエリまたは管理する前に、必要な権限を取得する必要があります。
視覚的にユーザーに権限を付与することをお勧めします。詳細については、データベースの管理 の「ユーザーへの権限の付与」セクションをご参照ください。また、SQLステートメントを実行して、ユーザーに権限を付与することもできます。詳細については、RAMユーザーへの権限の付与 をご参照ください。
ユーザーの削除
[ユーザー管理] ページの上部にある [インスタンス名] ドロップダウンリストから目的のインスタンスを選択します。削除するユーザーを見つけ、[操作] 列の [削除] をクリックします。[ユーザーの削除] メッセージで、[OK] をクリックします。ユーザーがインスタンスから削除されると、そのユーザーはインスタンスに対する権限を持ちません。
カスタムアカウントの作成
コンソールの使用
ユーザー管理ページで、視覚的にHologresインスタンスのカスタムアカウントを作成できます。
[ユーザー管理] ページの上部にある [インスタンス名] ドロップダウンリストから目的のインスタンスを選択します。ユーザー管理ページの右上隅にある [基本ユーザーの作成] をクリックします。
[基本ユーザーの作成] ダイアログボックスで、次の表に示すパラメーターを設定します。
パラメーター
説明
アカウント名
カスタムアカウントの名前。名前は最大 57 文字で、小文字、数字、アンダースコア(_) を使用できます。
メンバーロールの選択
アカウントタイプ。有効な値:
スーパー管理者(スーパーユーザー)の例:Hologresインスタンスのスーパーユーザーは、インスタンスに対するすべての権限を持っています。スーパーユーザーロールがRAMユーザーに割り当てられている場合、RAMユーザーに追加の承認は必要ありません。
一般ユーザー:Hologresインスタンスで作成された一般ユーザーは、インスタンス内のオブジェクトに対するクエリ権限または管理権限を持ちません。オブジェクトには、データベース、スキーマ、テーブルが含まれます。一般ユーザーは、インスタンス内のオブジェクトをクエリまたは管理する前に、必要な権限を取得する必要があります。
パスワード
カスタムアカウントのパスワード。パスワードは次の要件を満たしている必要があります。
パスワードには、大文字、小文字、数字、特殊文字のうち少なくとも 3 種類の文字が含まれている必要があります。
パスワードは 8 ~ 32 文字である必要があります。
パスワードには、次の特殊文字
! @#$%^&*()_+-=
を使用できます。
パスワードの確認
パスワードをもう一度入力します。
[OK] をクリックします。
SQLステートメントの使用
create user "BASIC$<user_name>" with password '<password>'; // カスタムアカウントを作成するためのSQLステートメントです。user_nameを新しく作成するカスタムアカウントの名前に、passwordをそのパスワードに置き換えます。
上記のステートメントで、user_name を作成するカスタムアカウントの名前に、password をカスタムアカウントのパスワードに置き換えます。
その他の操作
カスタムアカウントのパスワードの変更
説明カスタムアカウントのパスワードのみ変更できます。Alibaba CloudアカウントとRAMユーザーのAccessKeyペアは自動的に生成されます。
次のいずれかの方法を使用して、カスタムユーザーのパスワードを変更できます。
コンソールの使用
[ユーザー管理] ページで、[ユーザーアカウント認証] タブをクリックし、パスワードを変更するカスタムアカウントを探し、[操作] 列の [パスワードのリセット] をクリックします。
[パスワードのリセット] ダイアログボックスで、[パスワード] と [パスワードの確認] パラメーターを設定し、[OK] をクリックします。
SQLステートメントの使用
alter user "BASIC$<user_name>" with password '<password>'; // カスタムアカウントのパスワードを変更するためのSQLステートメントです。user_nameをパスワードを変更するカスタムアカウントの名前に、passwordを新しいパスワードに置き換えます。
上記のステートメントで、user_name をパスワードを変更するカスタムアカウントの名前に、password を新しいパスワードに置き換えます。
カスタムアカウントの削除
次のいずれかの方法を使用して、カスタムアカウントを削除できます。
コンソールの使用
[ユーザー管理] ページで、[ユーザーアカウント認証] タブをクリックし、削除するカスタムアカウントを探し、[操作] 列の [削除] をクリックします。
[ユーザーの削除] メッセージで、[OK] をクリックします。
SQLステートメントの使用
drop user "BASIC$<user_name>"; // カスタムアカウントを削除するためのSQLステートメントです。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 // カスタムアカウントを使用して外部テーブル経由でMaxComputeのデータにアクセスするときに表示されるエラーメッセージです。
原因
デフォルトでは、カスタムアカウントはHologres内に作成され、MaxCompute外部テーブルへのアクセスには使用できません。
解決策
カスタムアカウントと、MaxComputeプロジェクトおよびHologres内部テーブルにアクセスするための権限を持つRAMユーザーの間に
user mapping
// カスタムアカウントとRAMユーザー間のuser mappingを設定するためのコード例です。 を設定します。構文
CREATE USER MAPPING // user mappingを作成するための構文です。 FOR "<user_name>" // user_nameはカスタムアカウントの名前です。 SERVER odps_server // MaxComputeサーバーを指定します。 OPTIONS // オプションパラメーターです。 ( access_id '<Access_id>', // AccessKey IDです。 access_key '<Access_key>' // AccessKey secretです。 );
パラメーターの説明
パラメーター
説明
user_name
カスタムアカウントの名前。
Access_id
Hologresデータベースにログオンするために使用されるアカウントのAccessKey ID。
[セキュリティ管理] ページからAccessKey IDを取得できます。
Access_key
Hologresデータベースにログオンするために使用されるアカウントのAccessKey secret。
[セキュリティ管理] ページからAccessKey secretを取得できます。
例
-- Execute the CREATE USER MAPPING statement for the user named BASIC$test. // BASIC$testという名前のユーザーに対してCREATE USER MAPPINGステートメントを実行します。 CREATE USER MAPPING FOR "BASIC$test" SERVER odps_server OPTIONS ( access_id 'LTxxxxxxxxxx', access_key 'y8xxxxxxxxxxxxx'); -- Execute the CREATE USER MAPPING statement for the current user. // 現在のユーザーに対してCREATE USER MAPPINGステートメントを実行します。 CREATE USER MAPPING FOR CURRENT_USER SERVER odps_server OPTIONS ( access_id 'LTxxxxxxxxxx', access_key 'y8xxxxxxxxxxxxx');
参照
DROP USERステートメントを使用してHologresでアカウントを削除する方法、およびアカウントの削除時に発生する可能性のあるエラーのトラブルシューティング方法については、アカウントの削除 をご参照ください。