マルチファクタ認証の管理

このトピックでは、ユーザーがOracle Cloud Infrastructureで多要素認証(MFA)を管理する方法について説明します。

必須IAMポリシー

ユーザーのみが自分のアカウントに対してマルチファクタ認証(MFA)を有効化できます。ユーザーは自分のアカウントのMFAを無効化することもできます。管理者グループのメンバーは他のユーザーのMFAを無効にできますが、別のユーザーのMFAを有効にできません。

マルチファクタ認証の概要

マルチファクタ認証は、ユーザーのアイデンティティを検証するために複数の要素を使用する必要がある認証方法です。

IAMサービスでMFAが有効化されている場合は、ユーザーがOracle Cloud Infrastructureにサインインするときに、最初の要素(ユーザーが知っているもの)であるユーザー名とパスワードの入力が求められます。その後ユーザーは、登録されたMFAデバイスに2番目の検証コードを提供するよう求められます。これは、2番目の要素(ユーザーが所有しているもの)です。これら2つの要素は連携して機能し、ユーザーのアイデンティティを検証し、サインイン処理を完了するためにセキュリティのもう1つの層が必要です。

通常、MFAには次の2つが含まれます。

  • パスワードなど、ユーザーが知っているもの。

  • デバイスなど、ユーザーが所有しているもの。

  • フィンガープリントなど、ユーザーそのもの。

IAMサービスでは、パスワード(最初の要素)および時間ベースのワンタイム・パスワード(TOTP)(2番目の要素)を生成できるデバイスを使用した2つの要素による認証をサポートしています。

一般的な概念

次に、よく理解する必要がある基本概念のリストを示します。

多要素認証(MFA)
多要素認証(MFA)は、ユーザーのアイデンティティを検証するために複数の要素を使用する必要がある認証方法です。認証ファクタの例としては、パスワード(知っているもの)やデバイス(持っているもの)があります。
オーセンティケータ・アプリケーション
モバイル・デバイスにインストールするアプリケーション。アイデンティティの検証にソフトウェアベースのセキュア・トークンを提供できます。オーセンティケータ・アプリケーションの例には、Oracle Mobile AuthenticatorやGoogle Authenticatorなどがあります。IAMサービスでMFAを有効にするには、オーセンティケータ・アプリケーションがインストールされているデバイスが必要です。アプリケーションを使用してデバイスを登録します。次に、同じアプリケーション(同じデバイス上)を使用して、サインインするたびに時間ベースのワンタイム・パスコードを生成します。
登録済モバイル・デバイス
マルチファクタ認証は、特定のユーザーおよび特定のデバイスに対して有効です。ユーザーのMFAを有効化する手順には、モバイル・デバイスの登録が含まれます。この同じデバイスを使用して、ユーザーがサインインするたびに時間ベースのワンタイム・パスコードを生成する必要があります。登録されたモバイル・デバイスが使用不可になった場合、ユーザーのMFAを無効化してMFAを新しいデバイスで再度有効化できるようにする必要があります。
時間ベースのワンタイム・パスワード(TOTP)
TOTPは、RFC 6238で定義されているとおり、共有秘密キーのワンタイム・パスワードと現在の時間を計算するアルゴリズムによって生成されるパスワード(またはパスコード)です。登録済モバイル・デバイスのオーセンティケータ・アプリケーションによって、Oracle Cloud Infrastructureにサインインするたびに入力する必要があるTOTPが生成されます。

サポートされるオーセンティケータ・アプリケーション

次のオーセンティケータ・アプリケーションがOracle Cloud Infrastructure IAMサービスでテストされました。

  • Oracle Mobile Authenticator
  • Google Authenticator

これらのアプリケーションはモバイル・デバイスのアプリケーション・ストアにあります。MFAを有効化するには、モバイル・デバイスにこれらのアプリケーションのいずれかをインストールする必要があります。

MFAの操作

MFAを有効化する際には、次の点に注意してください。

  • MFAに登録する予定のモバイル・デバイスに、サポートされているオーセンティケータ・アプリケーションをインストールする必要があります。
  • 各ユーザーは、サインインするたびにアクセスできるデバイスを使用して、MFAを有効にする必要があります。管理者は、別のユーザーのMFAを有効化できません
  • MFAを有効化するには、モバイル・デバイスのオーセンティケータ・アプリケーションを使用して、IAMサービスによって生成され、コンソールに表示されるQRコードをスキャンします。QRコードは、秘密キーをアプリケーションと共有しており、アプリケーションはIAMサービスによって検証可能なTOTPを生成できます。
  • ユーザーは、MFAで使用するデバイスを1つのみ登録できます。
  • Oracle Cloud Infrastructureアカウントをオーセンティケータ・アプリケーションに追加すると、アカウント名がOracle <tenancy_name> - <username>としてオーセンティケータ・アプリケーションに表示されます。

MFA検証済ユーザーのみへのアクセス制限

IAMサービスの時間ベースのワンタイム・パスワード認証を使用して認証されたユーザーのみに、リソースへのアクセスを制限できます。リソースへのアクセスを許可するポリシーで、この制限を設定します。

ポリシーによって付与されるアクセスをMFA検証済ユーザーのみに制限するには、次のwhere clauseをポリシーに追加します。

where request.user.mfaTotpVerified='true'

たとえば、GroupAにインスタンスの管理を許可するポリシーが会社にあるとします。

allow group GroupA to manage instance-family in tenancy

セキュリティを強化するには、MFAを使用して検証されたユーザーのみがインスタンスを管理できるようにする必要があります。これらのユーザーのみにアクセスを制限するには、次のようにポリシー・ステートメントを変更します。

allow group GroupA to manage instance-family in tenancy where request.user.mfaTotpVerified='true'

このポリシーを有効にすると、登録済モバイル・デバイスによって生成されるパスワードおよび時間ベースのワンタイム・パスコードの両方を入力して正常にサインインしたGroupAのメンバーのみがインスタンスにアクセスして管理できます。MFAを有効にせず、パスワードのみを使用してサインインしているユーザーは、インスタンスを管理するためのアクセス権が許可されません。

ポリシーの書込みの詳細は、ポリシー構文を参照してください。

MFAを有効化した後のサインイン・プロセス

MFAを有効にしたら、次のいずれかの手順を使用してOracle Cloud Infrastructureにサインインします。

コンソールを使用してサインインするには
  1. コンソールのサインイン・ページに移動します。
  2. Oracle Cloud Infrastructureユーザー名およびパスワードを入力し、「サインイン」をクリックします。

    ユーザー名とパスワードの認証後、認証の最初の要素を正常に指定しました。セカンダリ認証ページが表示され、次のスクリーンショットに示すように、ワンタイム・パスコードの入力を求められます。

    セカンダリ認証サインイン・ページのスクリーンショット
  3. 登録されているモバイル・デバイスでオーセンティケータ・アプリケーションを開き、Oracle Cloud Infrastructureテナンシのアカウントを開きます。次のスクリーンショットは、Oracle Mobile Authenticatorの例を示しています。

    TOTPを示すOracle Mobile Authenticatorアプリケーションのスクリーンショット

  4. オーセンティケータ・アプリケーションにより表示されるパスコード(219604など)を入力して、「サインイン」をクリックします。

    重要:オーセンティケータ・アプリケーションでは、30秒ごとに新しい時間ベースのワンタイム・パスコードが生成されます。コードがまだ有効である間に、コードを入力する必要があります。パスコードの時間ウィンドウがない場合、生成される次のパスコードを入力できます。アプリケーションによって現在表示されているコードを入力します。

コマンドライン・インタフェース(CLI)を使用してサインインするには
  1. CLIを使用してサインインするには、次のコマンドを実行します。

    oci session authenticate --region US East (Ashburn)

    ブラウザ・ウィンドウが開き、ブラウザを使用してサインインするように指示するプロンプトが表示されます。

    Please switch to newly opened browser window to log in!
  2. ブラウザ・ウィンドウで、Oracle Cloud Infrastructureユーザー名およびパスワードを入力し、「サインイン」をクリックします。

    ユーザー名とパスワードの認証後、認証の最初の要素を正常に指定しました。セカンダリ認証ページが表示され、次のスクリーンショットに示すように、ワンタイム・パスコードの入力を求められます。

    セカンダリ認証サインイン・ページのスクリーンショット
  3. 登録されているモバイル・デバイスでオーセンティケータ・アプリケーションを開き、Oracle Cloud Infrastructureテナンシのアカウントを開きます。次のスクリーンショットは、Oracle Mobile Authenticatorの例を示しています。

    TOTPを示すOracle Mobile Authenticatorアプリケーションのスクリーンショット

  4. オーセンティケータ・アプリケーションにより表示されるパスコード(219604など)を入力して、「サインイン」をクリックします。

    重要:オーセンティケータ・アプリケーションでは、30秒ごとに新しい時間ベースのワンタイム・パスコードが生成されます。コードがまだ有効である間に、コードを入力する必要があります。パスコードの時間ウィンドウがない場合、生成される次のパスコードを入力できます。アプリケーションによって現在表示されているコードを入力します。

    認証後、プロンプトでCLIに戻り、プロファイルの名前を入力します。

  5. CLIで、プロファイルの名前を入力します。

    ヒント

    CLIの使用方法の詳細は、Quickstartおよびコマンドライン・インタフェースの開始を参照してください。

登録済モバイル・デバイスが失われた場合の対処方法

登録済のモバイル・デバイスを紛失した場合、コンソールからOracle Cloud Infrastructureへの認証を行うことはできません。アカウントのマルチファクタ認証を無効にするには、管理者に連絡してください。その後、このプロセスを繰り返して、新しいモバイル・デバイスを使用したマルチファクタ認証を有効にすることができます。

失敗したサインイン試行後にユーザーをブロック解除

連続して10回試行してコンソールへのサインインに失敗した場合、そのユーザーは以降のサインイン試行から自動的にブロックされます。管理者は、コンソール(ユーザーのブロックを解除するにはを参照)またはUpdateUserState API操作を使用してユーザーのブロックを解除できます。

MFAの無効化

各ユーザーは、ユーザー自身のMFAを無効化できます。管理者は、別のユーザーのMFAを無効化することもできます。

注意

管理者から指示があった場合を除き、MFAを無効にしないでください。

非アクティブなMFA TOTPデバイスの削除

非アクティブなMFA TOTPデバイスは、コンソールから検索して削除することはできませんが、クラウド・シェルでOCI CLIコマンドを使用し、検索して削除することはできます。

非アクティブなMFA TOTPデバイスは、ユーザーに対してMFAが有効で、ユーザーが「マルチファクタ認証の有効化」をクリックしたが、デバイスの認証に失敗した場合に発生する可能性があります。

OCI CLIのmfa-totp-device listおよびdeleteコマンドを使用して、ユーザーのMFA TOTPデバイスを識別し、非アクティブなデバイスを削除します。

複数のユーザーに非アクティブなMFA TOTPデバイスがある場合は、各ユーザーに対してこのタスクを実行します。

  1. 最初に、ユーザーのOCIDを取得します:
    1. ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ユーザー」をクリックします。
    2. ユーザー・アカウントをクリックし、「ユーザー情報」タブでOCIDの横にある「コピー」をクリックします。これにより、ユーザーのOCIDがクリップボードにコピーされます。
  2. コンソールからクラウド・シェルを起動します。クラウド・シェルの使用を参照してください。
  3. mfa-totp-device listコマンドを使用して、ユーザーのOCIDを--user-idパラメータとして入力します。次に例を示します:
    oci iam mfa-totp-device list 
    --user-id ocid1.user.oc1..aaaaaaaaltrya5y7o6wo3takzongrlii6voxqghfso73pamsgksao6jboaya
    ユーザーに関連付けられたすべてのMFA TOTPデバイスがリストされます。ユーザーにMFA TOTPデバイスがない場合、何も返されません。

    アクティブ化されていないデバイスには、"is-activated": falseが表示されます。

    デバイスのOCIDと、次のステップでパラメータとして使用するユーザーのOCIDを書き留めます。

    • 非アクティブなデバイスのOCIDは、id値です。
    • ユーザーのOCIDは、user-id値です。
  4. mfa-totp-device deleteコマンドを使用して、非アクティブなデバイスのOCIDを--mfa-totp-device-idパラメータとして、ユーザーのOCIDを--user-idパラメータとして入力します。次に例を示します:
    oci iam mfa-totp-device delete 
    --mfa-totp-device-id ocid1.credential.oc1..aaaaaaaaqv36sq6usjin5wefohpthsf4shnzh3snvioe3ezr57ce5ctoahcq
    --user-id ocid1.user.oc1..aaaaaaaaltrya5y7o6wo3takzongrlii6voxqghfso73pamsgksao6jboaya
    リソースを削除することを確認します。

コンソールの使用

コンソールでMFAを管理するには、次の手順を使用します。

ユーザー・アカウントでMFAを有効にするには

前提条件:MFAに登録する予定のモバイル・デバイスに、サポートされているオーセンティケータ・アプリケーションをインストールする必要があります。

  1. コンソールの右上で、「プロファイル」メニューを開き、「ユーザー設定」を選択します。ユーザーの詳細が表示されます。
  2. 「マルチファクタ認証の有効化」をクリックします。
  3. モバイル・デバイスのオーセンティケータ・アプリケーションを使用して、ダイアログに表示されるQRコードをスキャンします。

    ノート:ブラウザを閉じる場合、または検証コードを入力する前にブラウザがクラッシュした場合、新しいQRコードを生成してアプリケーションで再度スキャンする必要があります。新しいQRコードを生成するには、「マルチファクタ認証の有効化」ボタンを再度クリックします。

  4. 「検証コード」フィールドに、オーセンティケータ・アプリケーションに表示されるコードを入力します。
  5. 「有効化」をクリックします。

モバイル・デバイスがIAMサービスに登録され、アカウントがMFAで有効になっています。サインインするたびに、最初にユーザー名とパスワードの入力を求められます。正しい資格証明を指定すると、登録済モバイル・デバイスのオーセンティケータ・アプリケーションによって生成されるTOTPコードの入力を求められます。Oracle Cloud Infrastructureにサインインするたびに、登録済モバイル・デバイスを使用可能にしておく必要があります。

ユーザー・アカウントのMFAを無効化するには
  1. コンソールの右上で、「プロファイル」メニューを開き、「ユーザー設定」を選択します。ユーザーの詳細が表示されます。

  2. 「マルチファクタ認証の無効化」をクリックします。
  3. プロンプトが表示されたら確認します。
別のユーザーのMFAを無効化するには
  1. ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ユーザー」をクリックします。テナンシのユーザーのリストが表示されます。
  2. 更新するユーザーをクリックします。ユーザーの詳細が表示されます。
  3. 「マルチファクタ認証の無効化」をクリックします。
  4. プロンプトが表示されたら確認します。

APIの使用

APIの使用およびリクエストの署名の詳細は、REST APIのドキュメントおよびセキュリティ資格証明を参照してください。SDKの詳細は、SDKおよびCLIを参照してください。

ノート

すべてのリージョンで更新が即時ではない

IAMリソースはホーム・リージョンにあります。すべてのリージョンにわたってポリシーを施行するために、IAMサービスは各リージョンにリソースをレプリケートします。ポリシー、ユーザーまたはグループを作成または変更するたびに、変更はホーム・リージョンの最初に有効になり、その後他のリージョンに伝播されます。変更がすべてのリージョンで有効になるまでに、数分かかることがあります。

次のAPI操作を使用して、マルチファクタ認証デバイスを管理します。