はじめに
Oracle Cloud Infrastructure(OCI)を活用している利用者の中には、1つのテナント内で異なるセキュリティポリシーを持つ環境を構築したいというニーズが多く存在します。小規模なシステムでは、テナント開設時にデフォルトで作成されるDefaultドメイン内でグループごとにセキュリティポリシーを設定することで十分かもしれません。しかし、大規模なシステムでは、環境ごとにドメインを分けたいという要件や、特定のグループには特定の環境だけしか見せたくないといった複雑な要件が発生します。また、サインインにはすべての環境で同じメールアドレスからサインインするようにしたいなどの要件も発生します。
こうした要件に対応するためには、環境ごとに複数のアイデンティティ・ドメインを作成することが重要です。
本記事では、OCIで複数のアイデンティティ・ドメインを活用して、環境ごとに適切にセキュリティポリシーを分ける手法について詳しくご紹介します。
アイデンティティ・ドメインとは
OCIのアイデンティティ・ドメインとは、ユーザーやグループ、セキュリティ関連リソースを管理するための機能です。デフォルト・アイデンティティ・ドメイン(以下、「Default」ドメイン)はテナンシ開設時に作成され、非アクティブ化や削除はできません。また、「Default」ドメイン以外に、新規にアイデンティティ・ドメインを作成することで、各ドメインに異なるセキュリティポリシーやアクセス制御を適用することができます。
前提
- ドメインを作成することができる権限を持っていること
- テナント開設と同時につくられる「Default」ドメインで操作できる権限を持っていること
- 「Default」ドメインで複数リージョン(例えば東京と大阪リージョン)がサブスクライブされていること
環境の全体像
今回のブログでは、以下のような環境を作成したいと考えています。
「Default」ドメインは、テナント開設と同時につくられるドメインです。
このドメインに加えて、今回は本番環境用の「Prod」ドメインと開発環境用の「Dev」ドメインという各環境に即したドメインを作成していきます。
Prodドメインを新規作成する
プロジェクトでの利用を想定し、まずは本番環境を想定したドメインである「Prod」ドメインを作成していきます。
-
ハンバーガーメニューから「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ドメイン」をクリックします。※作成したいコンパートメント(例えばルート・コンパートメント)で操作を行ってください。
-
「(現在のドメイン)」やプロファイルから「Prod」ドメインにサインインしていることを確認します。
※この新規作成したアイデンティティ・ドメインでは、当然のことながら「Default」ドメインで作成してたリソースは、存在が確認できないようになっています。例えば、「Default」ドメイン側では、「Prod」ドメインが存在していることが分かりますが、「Prod」ドメインからは「Default」ドメインが存在していないことになっています。
Devドメインを新規作成する
次は開発用環境を想定したドメインである「Dev」ドメインを作成していきます。
-
「Dev」ドメインにサインインしていることを確認します。なお、「Prod」ドメインや「Default」ドメインの存在は「Dev」ドメインからは分かりません。
-
サインアウトし、再度サインインしようとすると、サインイン画面のドメイン選択で以下のように3つのドメインが選択できることを確認します。
これで、各環境用のアイデンティティ・ドメインを作成することができました。ただしOCIにおいて、新規作成したアイデンティ・ティドメインでは既存の「Default」ドメインのリージョン設定が反映されないため、次にその設定を行います。
新規作成ドメインにおけるリージョンのサブスクライブ
OCIの仕様上、新規作成したアイデンティティ・ドメインでは、「Default」ドメインで実施したリージョンのサブスクライブは反映されません。そのため、「Default」ドメインでリージョンのレプリケートを行うことで、新規作成ドメイン(今回の場合は、「Prod」と「Dev」ドメイン)でリージョンのサブスクライブが出来るようになります。以下では、リージョンのレプリケーションの有効化を実施していきます。
-
Defaultドメインで現在サブスクライブされているリージョンを確認します。現在、東京リージョンと大阪リージョンがサブスクライブされています。
-
新規作成したドメイン「Prod」ドメインにサインインし、サブスクライブされているリージョンを確認すると、東京リージョンのみとなっています。大阪リージョンを利用するには「Default」ドメインでレプリケートする必要があります。
※「Dev」ドメインでも「3.」以降の手順を実施してください。
各ドメインのサインイン画面の変更
これまで、各環境ごとにアイデンティティ・ドメインを分ける方法について紹介してきました。しかし、各環境にサインインする際、ほぼ同じサインイン画面でサインインするようになっています。これでは、誤って本番環境用のアイデンティティ・ドメインにサインインしてしまい、誤操作によりシステムが停止してしまうなどのケースが考えられます。
この誤操作の可能性を減らすために、サインイン画面をカスタマイズすることができます。簡単に実施する方法として、この記事では画像をアップロードする方法を紹介します。
その他の方法や詳細については以下を参考にしてください。
おわりに
本記事では、OCIにおいて複数のアイデンティティ・ドメインを活用して、異なるセキュリティポリシーを環境ごとに分ける方法について紹介しました。また、新規作成したアイデンティティ・ドメインでリージョンをサブスクライブする方法や、各環境へ誤ってサインインしないようにサインイン画面を変更する方法についても、紹介しました。
この記事を参考に、複数のアイデンティティ・ドメインを作成し、様々なセキュリティ要件に対応する環境を作成していただけると幸いです。