モジュール 2: AWS アカウントを保護する
チュートリアル
ユーザーの設定
このモジュールでは、AWS アカウントを保護するためのベストプラクティスについて学びます。
実行する内容
- ルートユーザーとしてサインイン
- ルートユーザーの追加セキュリティの有効化
- 追加の AWS IAM アイデンティティセンター (AWS SSO の後継) ユーザーのセットアップ
- AWS アクセスポータルへのサインイン
- アイデンティティセンターユーザーのための MFA の設定
実装
AWS アカウントを作成すると、アカウントのルートユーザーが自動的に作成されます。ルートユーザーは、アカウントにフルアクセスできる特別なエンティティであり、支払い方法の変更やアカウントの閉鎖など、すべてのアクションを実行できます。ルートユーザーを使用してサインインすると、アカウント内のすべての AWS サービスとリソースに完全にアクセスできます。このレベルの許可に鑑みて、次をお勧めします。
- 多要素認証を使用してルートユーザーのセキュリティを強化する
- アカウントに関連する日常的なタスクを実行するユーザーを追加で設定する
AWS は、次の 2 つの ID サービスを提供しています。
- AWS Identity and Access Management (IAM)。このサービスはアクセスコントロールポリシーを提供し、ルートユーザーなどの長期ユーザーを管理します。IAM でユーザーを作成すると、それらのユーザーは長期的なアクセス認証情報を持ちます。セキュリティのベストプラクティスとして、AWS での長期認証情報の使用を最小限に抑えることをお勧めします。このチュートリアルでは、IAM ユーザーを作成しません。
- AWS IAM アイデンティティセンター (AWS Single Sign-On の後継)。このサービスは、ユーザーがセッションにサインインするたびに付与される一時的な認証情報を提供します。Microsoft Active Directory や Okta など、既に利用している可能性のある既存の ID プロバイダーと統合できるため、ユーザーは、組織内の他のサービスで使用しているのと同じサインオン情報を AWS で使用できます。利用している別の ID プロバイダーがない場合は、IAM アイデンティティセンターでユーザーを作成できます。これは、AWS アカウント用に追加のユーザーを作成するのに推奨される方法です。このチュートリアルでは、この方法を説明します。
ルートユーザーとしてサインイン
AWS アカウントのルートユーザーにアクセスするには、アカウントの作成に使用した E メールアドレスとパスワードを使用してサインインします。
1.AWS マネジメントコンソールにサインインします。
2.[Root user] (ルートユーザー) を選択し、アカウントを作成したときに指定したメールアドレスを入力して、[Next] (次へ) を選択します。
3.セキュリティチェックを完了するように求められる場合があります。表示されたスペースに画像内の文字を入力し、[Submit] (送信) を選択します。次のステップに進むには、このチェックを完了する必要があります。
ヒント: 入力する一連の数字と文字を聞くには、音声ボタンを選択します。元の画像の文字がわからない場合は、更新ボタン を選択して画像を変更します。
4.サインインページで、パスワードを入力し、[Sign in] (サインイン) を選択します。
おめでとうございます。これで、ルートユーザーとして AWS マネジメントコンソールにサインインしました。しかし、日常的なタスクにルートユーザーを使用することは推奨されません。ルートユーザーは、特定のアカウント管理タスクにのみ利用すべきです。そのようなタスクのうちの 2 つを、このチュートリアルの次のセクションで実行します。
- ルートユーザーのために MFA を有効にする
- IAM アイデンティティセンターで管理ユーザーを作成する
ルートユーザーとしてサインインする必要があるタスクの一覧については、「ルートユーザー認証情報が必要なタスク」を参照してください。
ルートユーザーサインインのセキュリティを強化する
ルートユーザーの認証情報を安全に保つために、ルートユーザーのサインインで多要素認証 (MFA) を有効にすることを強くお勧めします。MFA を有効にすると、ルートユーザーのメールアドレスとパスワードを入力するだけでなく、別の認証システムからの認証情報も使用することになり、許可なくルートユーザーの認証情報を使用することがはるかに困難になります。
ルートユーザーのサインインのセキュリティを強化しましょう。これを実行するため、AWS Identity and Access Management (IAM) サービスを使用します。詳細については、「IAM とは」を参照してください。
1.ルートユーザー認証情報を使用して、新しく作成した AWS アカウントにサインインします。
2.AWS マネジメントコンソールの検索バーに IAM と入力し、[IAM] を選択します。
3.[Security recommendations] (セキュリティに関するレコメンデーション) に、[Add MFA for root user] (ルートユーザーの MFA を追加) に関する通知があります。
4.[Add MFA] (MFA を追加) を選択します。
5.[My security credentials (root user)] (セキュリティ認証情報 (ルートユーザー)) ページが開きます。「You don't have MFA assigned.」(MFA が割り当てられていません。) というアラートが表示されます。 [Assign MFA] (MFA を割り当てる) を選択します。
6.[Select MFA device] (MFA デバイスを選択) ページが開きます。[Specify MFA device name] (MFA デバイス名を指定) で、MFA デバイスの名前を入力します。この認証情報が割り当てられているデバイスとユーザーを思い出すのに役立つ名前を使用することをお勧めします。
7.このチュートリアルでは、モバイルデバイスで認証アプリケーションを使用します。デバイス名 phone-root を入力します。
8.[Select MFA device] (MFA デバイスを選択) で、[Authenticator app] (認証アプリケーション) オプションを選択し、[Next] (次へ) を選択します。
ヒント: モバイルデバイスまたはハードウェアデバイスにアクセスできない場合は、MFA を有効にすることはできません。AWS から無料の MFA セキュリティキーを取得する方法をご覧ください。
[Set up device] (デバイスを設定) ページが開きます。このページを完了するには 3 つのステップがあります。
9.モバイルデバイスで認証アプリケーションを設定します。いくつかの異なる認証アプリケーションが Android デバイスと iOS デバイスの両方でサポートされています。サポートされているアプリケーションのリストとダウンロードできるロケーションへのリンクについては、「IAM の多要素認証 (MFA)」ページの「仮想認証アプリケーション」セクションを参照してください。
10.モバイルデバイスで認証アプリケーションを開きます。
11.[Show QR code] (QR コードを表示) リンクを選択して、アカウント用の一意の QR コードを表示します。QR コードをスキャンできない場合は、[Show secret key] (シークレットキーを表示) リンクを選択してテキストキーを表示し、認証アプリケーションに入力してアカウントを識別できます。
12.認証アプリケーションで QR コードをスキャンするか、または認証アプリケーションにコードを入力して、認証デバイスをアカウントにリンクします。
13.認証アプリケーションがアカウントへのリンクを確立すると、限られた秒数にわたって有効なシークレットコードの生成を開始します。[MFA code 1] (MFA コード 1) で、アプリケーションに表示されるコードを入力します。そのコードが次のコードに変更されるまで待ってから、そのコードを [MFA code 2] (MFA コード 2) に入力し、2 番目のコードの有効期限が切れる前に [Add MFA] (MFA を追加) を選択します。
[My security credentials (root user)] (セキュリティ認証情報 (ルートユーザー)) ページに戻ります。MFA デバイスが割り当てられたことを示す通知メッセージが上部に表示されます。
ルートユーザーの認証情報がより安全になりました。
14.コンソールからサインアウトします。次にルートユーザーの認証情報を使用してサインインするときは、MFA デバイスからの認証情報と、メールアドレスとパスワードを入力します。
IAM アイデンティティセンターでユーザーを設定する
日常的なタスクにはルートアカウントを使用しないことがセキュリティ上のベストプラクティスと考えられていますが、現時点で設定されているのはルートユーザーのみです。このチュートリアルでは、IAM アイデンティティセンターを利用して管理ユーザーを作成します。IAM アイデンティティセンターを使用しているのは、セッションごとの一意の認証情報 (一時的な認証情報とも呼ばれます) をユーザーに提供するためです。これらの認証情報をユーザーに提供すると、ユーザーがサインインするたびに生成されるため、AWS アカウントのセキュリティが強化されます。管理ユーザーを作成したら、そのユーザーでサインインして追加のアイデンティティセンターユーザーを作成し、特定のジョブ機能を実行するための許可を持つグループにそれらのユーザーを割り当てることができます。IAM アイデンティティセンターでユーザーを作成するもう 1 つの利点は、AWS Billing and Cost Management コンソールへのアクセスがユーザーに自動的に付与されるということです。
請求の詳細については、「AWS 請求ユーザーガイド」を参照してください。
チュートリアルのこのセクションでは次のステップを実行します。
- IAM アイデンティティセンターを有効化する
- ユーザーを追加する
- ユーザーをグループに追加する
- ID ソースを設定する
- 管理者許可セットを作成する
- 管理者認証情報を使用して AWS アクセスポータルにサインインします。
IAM アイデンティティセンターを有効化する
1.ルートユーザー認証情報を使用して、AWS アカウントにサインインします。
2.AWS マネジメントコンソールの検索バーに IAM Identity Center と入力し、[IAM Identity Center] (IAM アイデンティティセンター) を選択します。
3.[IAM Identity Center service] (IAM アイデンティティセンターのサービス) の概要ページが開きます。IAM アイデンティティセンターサービスの機能に関する情報を確認し、[Enable IAM Identity Center] (IAM アイデンティティセンターを有効にする) で [Enable] (有効にする) を選択します。
ID ソースを設定する
ID ソースは、ユーザーとグループが管理される場所です。ID ソースを設定した後、ユーザーまたはグループを検索して、AWS アカウント、クラウドアプリケーション、またはその両方へのシングルサインオンアクセスを付与できます。
1 つの組織で持つことができる ID ソースは 1 つだけです。次のいずれかを使用できます。
- アイデンティティセンターディレクトリ - IAM アイデンティティセンターを初めて有効にすると、ユーザーとグループを管理するデフォルトの ID ソースとしてアイデンティティセンターディレクトリが自動的に設定されます。
- Active Directory - ユーザーとグループは、AWS Directory Service を利用した AWS Managed Microsoft AD ディレクトリ、または Active Directory (AD) のセルフマネージドディレクトリのいずれかで管理されます。
- 外部 ID プロバイダー - ユーザーとグループは、Okta や Azure Active Directory などの外部 ID プロバイダー (IdP) で管理されます。
このチュートリアルでは、アイデンティティセンターディレクトリを使用します。
1.IAM アイデンティティセンターコンソールに移動し、[Users] (ユーザー) を選択します。その後、[Add user] (ユーザーを追加) を選択します。
- [Username] (ユーザー名) – ユーザー名は AWS アクセスポータルへのサインインに使用され、後で変更することはできません。覚えやすい名前を選びます。このチュートリアルでは、John というユーザーを追加します。
- [Password] (パスワード) - [Send an email to this user with password setup instructions (Recommended)] (パスワード設定手順を記載したメールをこのユーザーに送信 (推奨)) を選択します。 このオプションでは、Amazon Web Services から「Invitation to join IAM Identity Center (successor to AWS Single Sign-On)」(IAM アイデンティティセンター (AWS Single Sign-On の後継) への参加の招待) という件名の E メールがユーザーに送信されます。E メールは no-reply@signin.aws または no-reply@login.awsapps.com から送信されます。これらのメールアドレスを承認済み送信者リストに追加して、迷惑メールやスパムとして扱われないようにしてください。
3.[Primary information] (主な情報) セクションで、必須のユーザー詳細情報を入力します。
- [Email address] (メールアドレス) - E メールを受信できるユーザーのメールアドレスを入力します。その後、確認のためにもう一度入力します。各ユーザーは一意のメールアドレスを持っている必要があります。
ヒント: テスト中、E メールのサブアドレス指定を利用して、複数の架空のユーザーのために有効なメールアドレスを作成できる場合があります。E メールプロバイダーがサポートしている場合は、現在のメールアドレスにプラス記号 (+) と数字または文字を付加して、someone@example.com、someone+1@example.com、someone+test@example.com などの新しいメールアドレスを作成できます。これらのいずれのメールアドレスに送信しても、同じメールアドレスで E メールが受信されることになります。
- [First name] (名) – ユーザーの名を入力します。
- [Last name] (姓) – ユーザーの姓を入力します。
- [Display name] (表示名) - ここには、ユーザーの姓名が自動的に入力されます。表示名を変更したい場合は、別の名前を入力できます。表示名は、サインインポータルとユーザーリストで表示されます。
- 必要に応じてオプション情報を入力します。このチュートリアルでは使用しません。後で追加できます。
4.[Next] (次へ) を選択します。
ユーザーをグループに追加する - オプション
ユーザーグループでは、複数のユーザーに許可を指定できるため、それらのユーザーの許可を管理しやすくなります。
1.[Create group] (グループを作成) を選択します。
2.新しいブラウザタブが開き、[Create group] (グループを作成) ページが表示されます。
3.[Group details] (グループの詳細) の [Group name] (グループ名) に Admins (管理者) と入力します。
4.[Create group] (グループを作成) を選択します。
[Groups] (グループ) ページが表示され、新しい [Admins] (管理者) グループが表示されます。
5.[Groups] (グループ) ブラウザタブを終了するか、そこから移動して、[Add user] (ユーザーを追加) ブラウザタブに戻ります。
6.[Groups] (グループ) エリアで、[Refresh] (更新) ボタンを選択します。
新しい [Admins] (管理者) グループがリストに表示されます。
7.[Admins] (管理者) グループの横にあるチェックボックスをオンにし、[Next] (次へ) を選択します。
8.[Review and add user page] (ユーザーを確認および追加) ページで、次を確認します。
- 主な情報が意図したとおりに表示されている
- [Groups](グループ) には、作成したグループに追加されたユーザーが表示されている
変更が必要な場合は、[Edit] (編集) を選択して更新します。
9.すべてが正しければ、[Add user] (ユーザーを追加) を選択します。
メインの [IAM Identity Center] (IAM アイデンティティセンター) > [Users] (ユーザー) ページに戻ります。
ユーザーが正常に追加されたことを知らせる通知メッセージが表示されます。
お疲れさまでした。AWS Organization にユーザーが追加されました。これらのステップを繰り返して、ユーザーとグループをさらに追加できます。
AWS アカウントへのアクセスを管理する
新しいユーザーは存在しますが、リソース、サービス、またはアプリケーションへのアクセスが付与されていないため、そのユーザーはまだルートユーザーに代わって日常的な管理タスクを実行することができません。新しいユーザーに AWS アカウントへのアクセスを付与しましょう。ユーザーをグループに追加したので、そのグループをアカウントに割り当てて、グループのメンバーがアクセスできるものを定義する許可セットを追加します。
この手順では引き続きルートユーザーの認証情報を使用します。
ルートユーザー認証情報を使用して AWS アカウントにサインインします。
IAM アイデンティティセンターコンソールに移動し、[Recommended setup steps] (推奨されるセットアップ手順) で [Manage access to multiple AWS accounts] (複数の AWS アカウントへのアクセスを管理) を選択します。
[AWS accounts] (AWS アカウント) ページの [Organizational structure] (組織構造) に、階層内でルートが表示され、その下にテストアカウントが表示されます。テストアカウントのチェックボックスをオンにし、[Assign users or groups] (ユーザーまたはグループを割り当てる) を選択します。
ユーザーとグループを割り当てるワークフローが表示されます。これは次のステップで構成されます。
[Step 1: Select users and groups] (ステップ1: ユーザーとグループを選択する) では、このチュートリアルで先ほど作成した [Admins] (管理者) グループを選択します。次に、[Next] (次へ) を選択します。
[Step 2: Select permission sets] (ステップ2: 許可セットを選択する) で、[Create permission set] (許可セットを作成) を選択して新しいタブを開きます。このタブでは、許可セットの作成に必要な 3 つのサブステップに関するガイダンスが順に提供されます。
新しいブラウザタブが開き、[Step 1: Select permission set type] (ステップ1: 許可セットタイプを選択する) が表示されます。次のように選択します。
- [Permissions set type] (許可セットタイプ) で、[Predefined permission set] (事前定義された許可セット) を選択します。
- [Policy for predefined permission set] (事前定義された許可セットのポリシー) で、[AdministratorAccess] を選択します。
- その後、[Next] (次へ) を選択して続行します。
[Step 2: Specify permission set details] (ステップ 2: 許可セットの詳細を指定する) で、デフォルト設定のままにして、[Next] (次へ) を選択します。 デフォルト設定では、AdministratorAccess という名前の許可セットが作成され、セッション期間は 1 時間に設定されます。
[Step 3: Review and create] (ステップ3: 確認および作成する) で、[Permission set type] (許可セットタイプ) が AWS マネージドポリシー AdministratorAccess を利用していることを確認します。[Create] (作成) を選択します。
[Permission sets] (許可セット) ページに戻ります。許可セットが正常に作成されたことを知らせる通知がページの上部に表示されます。[X] を選択してタブを閉じます。
[Assign users and groups] (ユーザーとグループを割り当てる) のブラウザタブにおいて、[Step 2: Select permission sets] (ステップ 2: 許可セットを選択する) の [Permission sets] (許可セット) セクションで [Refresh] (更新) を選択します。作成した AdministratorAccess 許可セットがリストに表示されます。その許可セットのチェックボックスを選択し、[Next] (次へ) を選択します。
[Step 3: Review and submit] (ステップ 3: 確認および送信する) で、選択したユーザーとグループおよび許可セットを確認し、[Submit] (送信) を選択します。
ページが更新され、AWS アカウントが設定されていることを示すメッセージが表示されます。プロセスが完了するまで待ちます。
IAM アイデンティティセンターの AWS アカウントページに戻ります。通知メッセージは、AWS アカウントが再プロビジョニングされ、更新された許可セットが適用されたことを知らせます。
[Organization structure] (組織構造) セクションで、AWS アカウントが AWS 組織のルートの下の管理アカウントになったことがわかります。このチュートリアルでは、プレースホルダーとして AWS アカウント名 Test-acct を使用しています。実際には、お客様の AWS アカウントの名前が表示されます。
お疲れさまでした。ユーザーは AWS アクセスポータルにサインインし、AWS アカウントのリソースにアクセスできるようになりました。
管理者認証情報を使用して AWS アクセスポータルにサインインします。
これで、新しい管理ユーザーを使用してサインインする準備ができました。以前にサインインしようとした場合、そのユーザーには他の許可が付与されていないため、パスワードを設定してユーザーに多要素認証 (MFA) を有効にすることしかできませんでした。これで、ユーザーには AWS リソースに対するすべての許可が付与されますが、パスワードを設定して MFA を設定する必要があるので、その手順を見ていきましょう。
新しいユーザーの E メールが、ユーザーを作成した際に指定したメールアドレス宛てに送信されました。この E メールには 3 つの重要な項目が含まれています。
- 参加への招待を承諾するためのリンク
- AWS アクセスポータルの URL
- サインインに使用するユーザー名
E メールを開いて、AWS アクセスポータルの URL とユーザー名を後で使用できるように記録します。その後、[Accept invitation] (招待を承諾) リンクを選択します。
ヒント: 受信トレイフォルダで IAM アイデンティティセンターへの招待メールが見つからない場合は、スパムメール、迷惑メール、削除済みアイテム (またはゴミ箱) フォルダを確認してください。IAM アイデンティティセンターサービスによって送信されるすべての E メールは、no-reply@signin.aws または no-reply@login.awsapps.com のいずれかのアドレスから送信されます。E メールが見つからない場合は、ルートユーザーとしてサインインし、アイデンティティセンターのユーザーのパスワードをリセットします。手順については、「Reset an IAM Identity Center user password」を参照してください。それでも E メールが届かない場合は、パスワードを再度リセットし、代わりにユーザーと共有できる [Generate a one-time password] (ワンタイムパスワードを生成) オプションを選択します。
リンクをクリックするとブラウザウィンドウが開き、[New user sign up] (新規ユーザーのサインアップ) ページが表示されます。
[New user sign up] (新規ユーザーのサインアップ) ページで、新しいパスワードを指定します。
パスワードは次のとおりである必要があります。
- 8~64 文字の長さ
- 大文字と小文字、数字、および英数字以外の符号で構成されている。
パスワードを確認したら、[Set new password](新しいパスワードを設定) を選択します。
ユーザーがプロビジョニングされる間、少し遅延が発生します。
AWS コンソールが開きます。
上部のバーの [User name] (ユーザー名) の横にある [MFA devices] (MFA デバイス) を選択して MFA を設定します。
[Multi-factor authentication (MFA) devices] (多要素認証 (MFA) デバイス) ページが開きます。[Register device] (デバイスを登録) を選択します。
[Register MFA device] (MFA デバイスを登録) ページで、アカウントで使用する [MFA device] (MFA デバイス) を選択します。ブラウザやプラットフォームでサポートされていないオプションはグレー表示され、選択できません。
認証アプリケーションオプションの画面を順に見ていきます。これは、チュートリアルの最初の部分でルートユーザーのために MFA デバイスを設定したときに実行したプロセスに似ています。この MFA デバイスが IAM ではなく IAM アイデンティティセンターで登録される点が異なります。別の MFA デバイスを選択した場合は、選択したデバイスの手順に従ってください。
[Show QR code] (QR コードを表示) リンクを選択して、AWS 組織の一意の QR コードを表示します。QR コードをスキャンできない場合は、[Show secret key] (シークレットキーを表示) リンクを選択してテキストキーを表示し、認証アプリケーションに入力して組織を識別できます。認証アプリケーションで QR コードをスキャンするか、または認証アプリケーションにコードを入力して、認証デバイスを組織にリンクします。
認証アプリケーションが組織へのリンクを確立すると、限られた秒数にわたって有効なシークレットコードの生成を開始します。[Authenticator code] (認証コード) にアプリケーションに表示されるコードを入力し、[Assign MFA] (MFA を割り当てる) を選択します。
注: MFA デバイスを IAM アイデンティティセンターに登録する場合、登録に必要な認証コードは 1 つだけです。
デバイスが正常に登録されました。[Done] (完了) を選択してください。
MFA デバイスページから別のデバイスの登録、または既存の MFA デバイスの名前の変更もしくは削除を行うことができます。
ナビゲーションバーで [AWS access portal] (AWS アクセスポータル) を選択してメインポータルに戻り、AWS アカウントにアクセスします。
アクセスポータルから、管理する AWS アカウントを選択します。アカウントに設定されている許可と 2 つの接続オプションが表示されます。
- マネジメントコンソールを選択して AWS マネジメントコンソールを開き、サービスコンソールのダッシュボードを使用して AWS リソースを管理します。
- [Command line or programmatic access] (コマンドラインまたはプログラムからのアクセス) を選択し、プログラムによりまたは AWS CLI から AWS リソースにアクセスするための認証情報を取得します。これらの認証情報の取得の詳細については、「Getting IAM Identity Center user credentials for the AWS CLI or AWS SDKs」を参照してください。
このチュートリアルでは、[Management console] (マネジメントコンソール) を選択します。
AWS マネジメントコンソールが開きます。管理アクセスを持つユーザーは、サービスの追加、ユーザーのさらなる追加、ポリシーと許可の設定を行うことができます。これらのタスクを実行するためにルートユーザーを使用しなくてもよくなりました。
まとめ
おめでとうございます。 これで、サインインプロセスが完了し、IAM アイデンティティセンターで管理ユーザーが作成され、ルートユーザーと管理ユーザーの両方のセキュリティが強化されました。また、AWS のサービスとアプリケーションの使用を開始する準備が整いました。 アイデンティティセンターの管理ユーザーを使用してサインインする場合は、招待メールで受け取ったアクセスポータルの URL を使用することに留意してください。
重要: 各 AWS Organization には、固有のアクセスポータル URL があります。ユーザーのサインイン情報とともに必ず記録しておいてください。