OracleCloud MFA(多要素認証)を使用してセキュリティを高める

# はじめに

Oracle Cloud にLoginするときに、MFA(multi-factor authentication)を有効にしていますか？
MFA？なんだかよくわからん。という方は、すぐに有効にすることをお勧めします！

MFAとは、ログインID（メールアドレス）とパスワードによるログイン認証に加えて、さらにもう１つの認証要素を組み合わせて認証（ログイン）することです。 第三者による不正なログインを防ぐことができ、Oracle Cloud のセキュリティを向上できます。

今回の記事では、MFAの設定方法を書きます。



# Oracle Cloud のユーザ管理

[こちら](https://qiita.com/sugimount/items/4841297e2166104e51b9) の記事に書いているとおり、Oracle CloudやOCIのユーザ管理方法は、2種類の方法があります。

1. Oracle Cloud 全体のユーザ管理 (Oracle Identity Cloud Service)
2. Oracle Cloud Infrastructure のユーザ管理



どちらの方法でもMFAを有効にすることが出来ます。
なお、現段階の個人的なおススメユーザ管理方法は、1の Oracle Identity Cloud Service を使用する方法です。詳しくは、上記記事を参照してください。



# 前提条件 Authy 2-Factor Authentication を Install

手持ちのスマートフォンに、Authy 2-Factor Authentication をinstallします。
Google Playストアなどで「Authy」と検索すると「Authy 2-Factor Authentication」が出てくるので、これをインストールします。

Authy を選んだ理由は3点あります。

- 設定した多要素認証のバックアップが出来るため、手持ちのスマートフォンを紛失などした場合でも、手軽に復元することが可能
- 複数デバイスにAuthy用のアプリケーションをインストールした時に、自動同期される
- Google Chromeの拡張で「Authy Chrome Extension」が存在しており、PC上からもワンタイムパスワードが生成できる



# Oracle Identity Cloud Service MFA設定

Oracle Identity Cloud Serviceを使用してログインする時のMFAを有効にする手順を書きます。たぶん、何も意識しないでOracle Cloud を使用している場合は、Oracle Identity Cloud Serviceしてログインを行っていると思います。



## MFAの方式

Oracle Identity Cloud Service のMFAは、以下の5種類の方式が利用できます。

- Security Questions
- Mobile App passcode
- Text Message (SMS)
- Email
- Bypass Code



今回は、Mobile App passcodeの方法を使用してMFAを有効化する手順を説明します。



## 設定方法

### MFAの有効化

管理者権限を持つアカウントを使用して、Oracle Cloud のダッシュボードから、Identity Cloud を開きます。

![mfa-001.png](https://qiita-image-store.s3.amazonaws.com/0/104247/013c23d4-01e4-1f3b-dd5f-ea67706845ea.png)



Open Service Console を押して、Identity Cloud を選択します。

![mfa-002.png](https://qiita-image-store.s3.amazonaws.com/0/104247/38e44ee8-93e9-e696-dddc-6f1d3fbf7ed2.png)



左のメニューから、MFAを選択します。

![mfa-003.png](https://qiita-image-store.s3.amazonaws.com/0/104247/a75999cf-4a3a-0ce6-bc81-d42fa349ed6a.png)



Mobile App passcode にチェックを入れて、Saveします

![mfa-004.png](https://qiita-image-store.s3.amazonaws.com/0/104247/559258fc-c52b-bf49-8d4f-c489b389872f.png)



### Sign-On Policy を作成

Sign-On Policy を設定して、すべてのユーザに対してMFAを必須とするポリシーを設定します。
左のメニューから、Sign-On Policies を選択します。

![mfa-005.png](https://qiita-image-store.s3.amazonaws.com/0/104247/43902fbf-6941-2c1a-9059-5c38dd466ae4.png)



Default Sign-On Policy を編集します。

![mfa-006.png](https://qiita-image-store.s3.amazonaws.com/0/104247/96de12e5-6580-6328-9672-8b815dd3f915.png)



Default Sign-On Rules タブに移動し、Rule の Edit を選択します。

![mfa-019.png](https://qiita-image-store.s3.amazonaws.com/0/104247/0efe4635-f869-c720-cacd-1aa6c27d54bb.png)



Prompt for an additional factor を有効にして、Saveを押します

![mfa-009.png](https://qiita-image-store.s3.amazonaws.com/0/104247/a2a754b8-bce9-abc9-7c0f-2f45b7dc028d.png)





### MFAを設定(各ユーザ毎に設定)

Oracle Identity Cloud Service を使用してログインすると、MFAを設定する旨のウィザードが開きます。

![mfa-013.png](https://qiita-image-store.s3.amazonaws.com/0/104247/0a52523b-7054-d1b0-2e67-c50e8aff52d4.png)



オフラインQRコードのスキャンにチェックを入れて、スマートフォンのAuthyアプリからスキャンします。
スキャンをすると、ワンタイムパスワードが自動生成されるので、それを入力します。

![mfa-014.png](https://qiita-image-store.s3.amazonaws.com/0/104247/64ff08a6-f366-a007-5ce6-de03af25e33c.png)



次の画面が表示されると、登録が完了です。次回、OCIにログインする際には、ワンタイムパスワードの入力が必須となり、セキュリティの向上が出来ました

![mfa-015.png](https://qiita-image-store.s3.amazonaws.com/0/104247/f7c3e6a0-5a0f-03b0-1ed9-9ac0d2cbad6b.png)













# OCI MFA設定

OCI で管理しているユーザでログインするときに、MFAを有効にする方法を書きます。



## 設定方法

### OCI管理のユーザでログイン

https://console.us-ashburn-1.oraclecloud.com

にアクセスして、右側にあるOracle Cloud Infrastructure のフォームからログインします。
Oracle Identity Cloud Service からログインすると、設定することが出来ないため注意してください。



## MFAを設定

OCI の Identity メニューから、Userを選択します。

![001.png](https://qiita-image-store.s3.amazonaws.com/0/104247/676a13ca-4cc9-05c8-1431-c16648bfb9c9.png)



MFA 有効にしたいユーザの画面を開き、「Enable Multi-Factor Authentication」を選択します。

![002.png](https://qiita-image-store.s3.amazonaws.com/0/104247/e7d197a9-e9be-d3cd-acd7-db61b49196e6.png)



QRコードが表示されるため、Authyで読み込みます。
QRコードを読み込むと、One-Time Password が自動生成されるため、OCIの画面にOne-Time Password を入力します。

これ以降、OCIにログインする際にはワンタイムパスワードの入力が必須となります。



# 参考URL

Document
https://docs.cloud.oracle.com/iaas/Content/Identity/Tasks/usingmfa.htm
https://docs.oracle.com/en/cloud/paas/identity-cloud/uaids/typical-workflow-managing-2-step-verification.html

Oracle Blog
https://blogs.oracle.com/cloud-infrastructure/multi-factor-authentication-for-oracle-cloud-infrastructure-users

Youtube
https://www.youtube.com/watch?v=TGg40_W6No8