Amazon RDS での MariaDB のセキュリティ
MariaDB DB インスタンスのセキュリティは以下の 3 つのレベルで管理されます。
-
AWS Identity and Access Management では、どのユーザーが DB インスタンスに対して Amazon RDS の管理アクションを実行できるかを制御します。IAM 認証情報を使用して AWS に接続している場合、IAM アカウントには、Amazon RDS の管理オペレーションを実行するためのアクセス許可を付与する IAM ポリシーが必要です。(詳しくは、「Amazon RDS での Identity and Access Management」を参照してください。)
-
DB インスタンスを作成するときは、VPC セキュリティグループを使用して、どのデバイスまたは Amazon EC2 インスタンスが DB インスタンスのエンドポイントとポートへの接続を開くことができるかを制御します。これらの接続は、Secure Socket Layer (SSL) と Transport Layer Security (TLS) を使用して行います。さらに、会社のファイアウォールルールでも、社内のどのデバイスが DB インスタンスへの接続を開くことができるかを制御できます。
-
MariaDB DB インスタンスへの接続が開かれたら、ログイン認証とアクセス許可は MariaDB のスタンドアロンインスタンスの場合と同じ方法で適用されます。
CREATE USER
、RENAME USER
、GRANT
、REVOKE
、SET PASSWORD
などのコマンドは、スタンドアロンデータベースの場合と同じ方法で、データベーススキーマテーブルを直接変更します。
Amazon RDS DB インスタンスを作成すると、マスターユーザーには以下のデフォルト権限が付与されます。
-
alter
-
alter routine
-
create
-
create routine
-
create temporary tables
-
create user
-
create view
-
delete
-
drop
-
event
-
execute
-
grant option
-
index
-
insert
-
lock tables
-
process
-
references
-
reload
この権限は MariaDB DB インスタンスに限定されます。
FLUSH LOGS
オペレーションまたはFLUSH TABLES WITH READ LOCK
オペレーションにはアクセスを許可しません。 -
replication client
-
replication slave
-
select
-
show create routine
この権限は、バージョン 11.4 以降を実行している MariaDB DB インスタンスに限定されます。
-
show databases
-
show view
-
trigger
-
update
これらの権限の詳細については、MariaDB ドキュメントの「User Account Management
注記
DB インスタンスのマスターユーザーを削除することはできますが、お勧めはしません。マスターユーザーを再作成するには、ModifyDBInstance
API または modify-db-instance
AWS CLI を使用して、新しいマスターユーザーのパスワードを該当するパラメータで指定します。インスタンスに既存のマスターユーザーがない場合、指定したパスワードを使用してマスターユーザーが作成されます。
各 DB インスタンスに管理サービスを提供するために、DB インスタンスの作成時に rdsadmin
ユーザーが作成されます。rdsadmin
アカウントの権限をドロップ、名前変更、パスワード変更、または変更しようとするとエラーになります。
DB インスタンスの管理を可能にするために、スタンダード的なコマンド kill
と kill_query
の使用は制限されています。Amazon RDS コマンド mysql.rds_kill
、mysql.rds_kill_query
、mysql.rds_kill_query_id
が MariaDB と MySQL 用に用意されており、DB インスタンスのユーザーセッションやクエリを終了できます。