データベースアカウントは、AnalyticDB for PostgreSQLの権限を管理し、データベースオブジェクトに対する操作権限を持つために使用されます。 データベースに接続するか、データベースオブジェクトを管理する前に、データベースアカウントを作成する必要があります。
アカウントタイプ
AnalyticDB for PostgreSQLには、2種類のデータベースアカウントがあります。
特権アカウント: AnalyticDB for PostgreSQLコンソールで作成された初期アカウントと、SQL文の実行によって作成されたRDS_SUPERUSER権限を持つデータベースアカウントが含まれます。 特権アカウントには、すべてのデータベースに対して次のすべての権限があります。
データベースとデータベースアカウントを作成し、SUPERUSER権限を除いて、LOGINなどの操作を実行します。
他のデータベースアカウントのデータテーブルを表示および変更し、SELECT、UPDATE、DELETE、所有者の変更などの操作を実行します。
他のデータベースアカウントの接続情報を表示し、SQL文をキャンセルし、接続を閉じます。
Create EXTENSIONおよびDROP EXTENSIONステートメントを実行して、拡張機能を作成および削除します。
RDS_SUPERUSER権限を持つ他のデータベースアカウントを作成します。
説明AnalyticDB for PostgreSQLはスーパーユーザー権限を提供しませんが、同様のロールRDS_SUPERUSERを提供します。 これは、ApsaraDB RDS for PostgreSQLの権限システムと一致しています。
標準アカウント: 標準ユーザーとも呼ばれます。 デフォルトでは、標準アカウントには権限がありません。 標準アカウントには、特権アカウントによって1つ以上のデータベースオブジェクトに対する権限を付与する必要があります。
使用上の注意
特権アカウントは、すべてのデータベースに対するすべての権限を持ちます。 データのセキュリティを確保するため、ビジネスデータベースでの操作に特権アカウントを使用しないことを推奨します。 標準アカウントを作成し、必要なデータベースオブジェクトに対してのみ特定の権限を付与して、不正アクセスや変更を防ぐことができます。
データベースアカウントの作成
初期アカウントの作成
初期アカウントは特権アカウントであり、RDS_SUPERUSER権限を持っています。 他の特権アカウントまたは標準アカウントを作成する前に、初期アカウントを作成し、その初期アカウントを使用してデータベースに接続する必要があります。
インスタンスの初期アカウントを作成した後、初期アカウントを削除することはできません。 初期アカウントのパスワードを忘れた場合は、パスワードをリセットできます。
初期アカウントは、AnalyticDB for PostgreSQLコンソールで作成するか、API操作を呼び出して作成できます。
コンソール
AnalyticDB for PostgreSQLコンソールにログインします。 ホームページの左上でリージョンを選択します。 管理するインスタンスを検索し、インスタンスIDをクリックします。
左側のナビゲーションウィンドウで、アカウント管理.
[アカウントの作成] をクリックします。 [アカウントの作成] パネルで、アカウント名とパスワードを入力します。 次に、[OK] をクリックします。
パラメーター
説明
[アカウント]
初期アカウントの名前。
名前には、小文字、数字、およびアンダースコア (_) を使用できます。
名前は小文字で始まり、小文字または数字で終わる必要があります。
名前をgpで始めることはできません。
名前は2 ~ 16文字である必要があります。
[新しいパスワード] と [パスワードの確認]
初期アカウントのパスワード。
パスワードには、大文字、小文字、数字、特殊文字の中から少なくとも 3 種類の文字を使用する必要があります。
特殊文字が含まれ
ます! @ # $ % ^ & * ( ) _ + - =パスワードの長さは 8~32 文字である必要があります。
重要データのセキュリティを確保するために、定期的にパスワードを変更し、以前に使用したパスワードを使用しないことをお勧めします。
API
CreateAccount操作を呼び出して、初期アカウントを作成します。
RDS_SUPERUSER権限を持つ特権アカウントの作成
特権アカウントを作成するには、create ROLEステートメントにRDS_SUPERUSERパラメーターを追加します。
CREATE ROLE username WITH LOGIN ENCRYPTED PASSWORD 'userPassword' RDS_SUPERUSER;標準アカウントの作成
標準アカウントは、RDS_SUPERUSER権限を持たないデータベースアカウントです。 AnalyticDB for PostgreSQLコンソールで、またはAPI操作を呼び出して標準アカウントを作成することはできません。
SQL文を実行して標準アカウントを作成できます。
CREATE ROLE username WITH LOGIN ENCRYPTED PASSWORD 'userPassword';特権アカウントと標準アカウントを作成するための完全なSQL構文の詳細については、「SQL構文」トピックの「create ROLE」セクションをご参照ください。
データベースアカウントの照会
AnalyticDB for PostgreSQLコンソールでは、初期アカウントのみが表示されます。 SQL文の実行によって作成されたその他の特権アカウントおよび標準アカウントは表示されません。 SQL文を実行するか、API操作を呼び出して、インスタンスのすべての特権アカウント (初期アカウントを含む) および標準アカウントを照会できます。
SQL
SELECT * FROM pg_roles;クエリ結果のadbpgadminとauroraはどちらもシステムアカウントです。
API
DescribeAccounts操作を呼び出して、すべてのデータベースアカウント、アカウントタイプ (特権アカウントまたは標準アカウント) 、およびデータベースアカウントが作成されているかどうかを照会します。
DescribeDiagnosisDimensions操作を呼び出して、すべてのデータベースアカウントとデータベースを照会します。 このAPI操作は、アカウントタイプまたはアカウントが作成されたかどうかを返しません。
DescribeRoles操作を呼び出して、データベースアカウントのリストを照会します。 このAPI操作は、アカウントタイプまたはアカウントが作成されたかどうかを返しません。
データベースアカウントのパスワードを変更する
データベースアカウントのパスワードを忘れた場合は、AnalyticDB for PostgreSQLコンソールで、またはSQL文を実行するかAPI操作を呼び出してパスワードを変更できます。
コンソール
パスワードは、AnalyticDB for PostgreSQLコンソールの初期アカウントに対してのみ変更できます。 標準アカウントのパスワードを変更するには、SQL文を実行します。
AnalyticDB for PostgreSQLコンソールにログインします。 ホームページの左上でリージョンを選択します。 管理するインスタンスを検索し、インスタンスIDをクリックします。
左側のナビゲーションウィンドウで、アカウント管理.
パスワードを変更するデータベースアカウントを見つけて、[操作] 列の [パスワードのリセット] をクリックします。 表示されるダイアログボックスで、新しいパスワードを再入力します。
SQL
ALTER ROLE username WITH PASSWORD 'userPassword';データベースアカウントのパスワードまたは属性を変更するための完全なSQL構文の詳細については、「ALTER ROLE」をご参照ください。
API
ResetAccountPassword操作を呼び出して、データベースアカウントのパスワードを変更します。
次に何をすべきか
標準アカウントを作成した後は、データベースの管理やアクセスはできません。 データベースオブジェクトに対する操作権限を標準アカウントに付与する必要があります。 詳細については、「アカウント権限の管理」をご参照ください。