忍者ブログ
IT関係の小作人労働の日々の日記です。 最近データベースが好きです。 インフラ構築、DB構築、アプリケーション開発・・・何でも屋です。 何でもできそうで、何にもできない。

【Oracle Cloud Free & DB】第7回:初期状態の「ユーザー」を暴く!PaaSの中に並ぶアカウントの正体


前回まで、Autonomous Database(26ai)の論理的な表領域の特性や、裏側に隠されたマルチテナント(PDB)固有の物理ファイルパスを確認してきました。ストレージ構造の次は、データベースの『セキュリティ』に切り込んでみましょう。
クラウドでインスタンスを作成した際、最初からどのようなユーザー(スキーマ)が定義されており、どんな状態で管理されているのか、データ・ディクショナリから実態を調査します。

1. 初期ユーザーの定義状態とアカウントステータス

まずは、データベース作成直後の初期状態で、どのようなユーザーが存在しているのかを一覧で確認します。Oracle全体のユーザー情報を一元管理している DBA_USERS ビューから、主要なユーザーとそのアカウント状態(STATUS)を抽出してみましょう。なお、このクエリはすべて切り出された私たちの個室(PDB)側の環境を覗いています。

初期ユーザーの状態を確認するSQL
SELECT username, account_status, default_tablespace, profile
FROM dba_users
ORDER BY username;


【実行結果(主要なユーザーの抜粋)】
"USERNAME","ACCOUNT_STATUS","DEFAULT_TABLESPACE","PROFILE"
"ADMIN","OPEN","DATA","BM_PROFILE"
"SYS","OPEN","SYSTEM","DEFAULT"
"SYSTEM","OPEN","SYSTEM","DEFAULT"
"AUDSYS","LOCKED","SYSAUX","DEFAULT"
"APPQOSSYS","LOCKED","SYSAUX","DEFAULT"
"DBSNMP","LOCKED","SYSAUX","MONITORING_PROFILE"
"OJVMSYS","LOCKED","SYSTEM","DEFAULT"
"XDB","LOCKED","SYSAUX","DEFAULT"

【結果解説:ACCOUNT_STATUS(アカウント状態)の意味】
ズラリと並んだ実行結果のステータスには、Oracleのセキュリティ設計の基本がそのまま現れています。

  • OPEN(オープン):現在、正常にログインして操作ができる「生きている」ユーザーです。私たちが使う ADMIN や、裏で常に稼働している主要なコアシステム(SYSSYSTEM)など、ごく僅かなアカウントだけがこの状態を許されています。
  • LOCKED(ロック):アカウントが凍結されている状態です。これらはOracle内部の特定の機能(監査や監視など)を動かすためだけに用意された専用ユーザーであり、悪意ある第三者が乗っ取って外部から不正ログインできないよう、安全のために最初からガチガチに鍵がかけされています。
  • EXPIRED & LOCKED(期限切れ&ロック):パスワードの有効期限が切れ、さらにアカウントもロックされている二重ロック状態です(上記抜粋外の多くのシステムユーザーが該当します)。現在は使われていない、完全に眠っている内部機能用のスキーマです。

【マルチテナントの仕様:なぜPDBにSYSやSYSTEMがいるの?】
「全体の親玉(CDB)ではなく個室(PDB)を見ているのに、なぜ最高権限のSYSやSYSTEMが一覧に並んでいるの?」と疑問に思うかもしれません。
これはマルチテナントの仕様によるものです。新しく個室(PDB)が作成された瞬間、その個室単体を管理・独立稼働させるためのシステムユーザー一式が、各PDBの内部にも自動的に複製されて配置される仕組みになっています。つまり、ここに並んでいる `SYS` や `SYSTEM` は、全体の親玉ではなく「この個室専用に配属された管理ユーザー」なのです。PaaSの自律運用の邪魔をしないよう、安全に制御されています。

2. まとめ

実機のデータ・ディクショナリからユーザー構造を紐解くことで、PaaS環境であってもOracle Databaseとしての堅牢なシステム構成がそのまま引き継がれていることが確認できました。

本日のチェックリスト
1. 私たちが操作する「ADMIN」は個室(PDB)内のローカルユーザーとして、正常にOPENされている。
2. 内部のシステムユーザーは、セキュリティの定石通り基本「LOCKED」状態で保護されている。
3. PDB内に見えているSYSやSYSTEMは、個室が作成された際に自動複製された「個室専用の管理アカウント」。


ストレージ(論理・物理)に続き、ユーザーの初期状態まで確認できました。完全管理型(PaaS)データベースの内部検証シリーズはここで一区切りとなります。
次回第8回は、この「枠からはみ出せない」PaaSの安心安全な世界から飛び出し、「もう一つの無料枠(Compute VM)」を立ち上げて、Linuxのroot権限、そしてデータベース全体の親玉であるCDB$ROOTまですべてを自分の完全な支配下に置く『IaaS型・23ai Express Edition 自作構築編』へ突入します。コントロールを100%自分で握るインフラ構築の世界へ。どうぞお楽しみに!



PR