Hologres コンソールの [User Management] モジュールで、ユーザーの追加または削除、ロールの割り当て、権限の管理を行います。
インスタンスを購入した Alibaba Cloud アカウントは、すべての権限を持つデフォルトのスーパーユーザーです。ほかのユーザーを追加する前は、[User Management] ページにはこのアカウントのみが表示されます。
|
項目 |
説明 |
|
メンバー |
Alibaba Cloud アカウント、RAM ユーザー、ベーシックユーザーを含むインスタンス内のユーザー名です。 |
|
アカウント ID |
ユーザーのアカウント ID です。 例:
|
|
アカウントタイプ |
ユーザーのアカウントタイプです。
|
|
ロールタイプ |
ユーザーに割り当てられているロールです。
|
|
操作 |
ユーザーを削除してすべてのアクセス権限を取り消すには、Actions 列の Delete をクリックします。 |
制限
ベーシックユーザーは、デフォルトでは MaxCompute 外部テーブルをクエリできません。アクセスを有効にするには、ユーザーマッピングを設定します (FAQ)。
ユーザーの追加
インスタンスにユーザーを追加するには、次の手順を実行します。
-
Users ページでターゲットインスタンスを選択し、右上の Add User をクリックします。
-
Add User ダイアログボックスで、Alibaba Cloud アカウント配下の既存の RAM ユーザーを選択し、ロールタイプとして [スーパーユーザー] または [Normal User] を選択します。
説明-
Alibaba Cloud アカウント配下に RAM ユーザーが存在しない場合は、先に作成してください (Quick start for RAM user authorization)。
-
ユーザーを追加できるのは、Alibaba Cloud アカウントまたはスーパーユーザーの RAM ユーザーのみです。RAM ユーザーには
AliyunRAMReadOnlyAccess権限が必要です (Grant permissions to a RAM user)。
-
スーパーユーザー:インスタンスに対するフル権限を持ちます。追加の権限付与は不要です。
-
一般ユーザー:初期状態では、いずれのオブジェクト (データベース、スキーマ、テーブル) に対しても権限を持ちません。ユーザーがリソースにアクセスできるようにするには、事前に権限を付与する必要があります。
DB Management ページで権限を付与するか、SQL 文を実行して権限を付与します (Quick start for RAM user authorization)。
-
ユーザーの削除
Users ページでインスタンスを選択し、ユーザーを見つけて、Actions 列の Delete をクリックします。これにより、すべてのアクセス権限が取り消されます。
ベーシックユーザーの作成
ベーシックユーザーは Hologres 内にのみ存在します。MaxCompute 外部テーブルなど、ほかの Alibaba Cloud サービスにアクセスするには、ユーザーマッピング を作成します (FAQ)。
コンソール
[User Management] ページからベーシックユーザーを作成します。
-
Users ページでターゲットインスタンスを選択し、右上の Create Custom User をクリックします。
-
Create Custom User ダイアログボックスで、次のパラメータを設定します。ユーザー名の先頭には BASIC$ が付き、大文字と小文字は区別されます。
パラメータ
説明
ユーザー名
ベーシックユーザーのユーザー名です。最大 57 文字で、小文字、数字、アンダースコア (_) のみ使用できます。
メンバーロールの選択
ユーザーのロールです。
-
スーパーユーザー:インスタンスに対するフル権限を持ちます。追加の権限付与は不要です。
-
一般ユーザー:初期状態では、いずれのオブジェクト (データベース、スキーマ、テーブル) に対しても権限を持ちません。ユーザーがリソースにアクセスできるようにするには、事前に権限を付与する必要があります。
パスワード
アカウントのパスワードです。要件:
-
大文字、小文字、数字、特殊文字のうち、少なくとも 3 種類を含める必要があります。
-
8~32 文字。
-
サポートされている特殊文字:
!@#$%^&*()_+-=。
パスワードの確認
パスワードを再入力します。
-
-
OK をクリックして、ベーシックユーザーを作成します。
SQL
create user "BASIC$<user_name>" with password '<password>';
user_name はベーシックユーザーのユーザー名です。password はベーシックユーザーのパスワードです。
その他の操作
-
ベーシックユーザーのパスワードを変更します。
説明パスワード変更はベーシックユーザーにのみ適用されます。Alibaba Cloud アカウントと RAM ユーザーは、自動生成された AccessKey ペアを使用して認証されます。
ベーシックユーザーのパスワードを変更するには、次の手順を実行します。
-
コンソールを使用します。
-
Users ページで User Account Authorization タブに移動します。ユーザーリストでターゲットのベーシックユーザーを見つけ、Actions 列の Reset Password をクリックします。
-
Reset Password ダイアログボックスで新しいパスワードを入力して確認し、OK をクリックします。
-
-
SQL 文を使用します。
alter user "BASIC$<user_name>" with password '<password>';user_name はベーシックユーザーのユーザー名です。password はベーシックユーザーの新しいパスワードです。
-
-
ベーシックユーザーを削除します。
ベーシックユーザーを削除するには、次の手順を実行します。
-
コンソールを使用します。
-
Users ページで User Account Authorization タブに移動します。ユーザーリストでターゲットのベーシックユーザーを見つけ、Actions 列の Delete をクリックします。
-
Remove User ダイアログボックスで 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 外部テーブルなどの外部リソースにアクセスする権限がありません。
-
解決策:Hologres で
ユーザーマッピングを作成し、ベーシックユーザーを、MaxCompute プロジェクトと Hologres 内部テーブルへのアクセス権限を持つ RAM ユーザーにバインドします。-
構文
CREATE USER MAPPING FOR "<user_name>" SERVER odps_server OPTIONS ( access_id '<Access_id>', access_key '<Access_key>' ); -
パラメータ
パラメータ
説明
user_name
ベーシックユーザーのユーザー名です。
access_id
現在のデータベースへのアクセス権限を持つアカウントの AccessKey ID です。
AccessKey Management ページで取得します。
access_key
現在のデータベースへのアクセス権限を持つアカウントの AccessKey シークレットです。
AccessKey Management ページで取得します。
-
例
-- ユーザー BASIC$test のユーザーマッピングを作成します。 CREATE USER MAPPING FOR "BASIC$test" SERVER odps_server OPTIONS ( access_id 'LTxxxxxxxxxx', access_key 'y8xxxxxxxxxxxxx'); -- 現在のユーザーのユーザーマッピングを作成します。 CREATE USER MAPPING FOR CURRENT_USER SERVER odps_server OPTIONS ( access_id 'LTxxxxxxxxxx', access_key 'y8xxxxxxxxxxxxx');
-
関連ドキュメント
「ユーザーの削除」では、DROP USER コマンドと、関連するエラーのトラブルシューティングについて説明しています。