

# Amazon RDS での MariaDB のセキュリティ
<a name="MariaDB.Concepts.UsersAndPrivileges"></a>

MariaDB DB インスタンスのセキュリティは以下の 3 つのレベルで管理されます。
+ AWS Identity and Access Management では、どのユーザーが DB インスタンスに対して Amazon RDS の管理アクションを実行できるかを制御します。IAM 認証情報を使用して AWS に接続している場合、IAM アカウントには、Amazon RDS の管理オペレーションを実行するためのアクセス許可を付与する IAM ポリシーが必要です。(詳しくは、「[Amazon RDS での Identity and Access Management](UsingWithRDS.IAM.md)」を参照してください。)
+ 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](http://mariadb.com/kb/en/mariadb/grant/)」を参照してください。

**注記**  
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 インスタンスのユーザーセッションやクエリを終了できます。