AWSアカウントの仕組み(全体像を知る)
AWSの運用で、アカウントの知識とアカウント運用方法は重要な項目です。
今回、アカウントの基礎知識とアカウント作成~アカウントのセキュリティ設定を紹介します。
初心者の方、初めてAWSに触れる場合は以下のアカウント作成~セキュリティ設定を参考にしてみてください。
AWSのアカウントには、大きく2種類のアカウントがあります。
① ルートアカウント(12桁の数字であるAWSアカウントのことです)
② IAMユーザ
ルートアカウントとIAMとは
ルートアカウントの特徴は以下の2点です。
① AWSコンソールにログインするために作成する12桁の数字のアカウント
② システム設定、IAMユーザの作成、料金確認、解約など、全てのコントロールが可能
次にIAM(Identity and Access Management)についてです。
IAMというのは、与えられた権限の作業が可能なアカウントになります。
ルートアカウントとは異なり、IAMユーザにも、解約等以外のほとんどのコントロール権限が与えられた「AdministratorAccess」ポリシーというものがあります。
AWSでは、ルートアカウントから「AdministratorAccess」ポリシーを持つ、IAMユーザを1つだけ作成し、ルートアカウントを使わないようにすることをお勧めします。
そして「AdministratorAccess」ポリシーを持つIAMユーザから、更にEC2、S3の操作を許可されたIAM、NW設定を許可されたIAM、コスト管理を許可されたIAMなどを作成して、システム構築や運用を行います。
システムコントロールの統制を取るためにもIAMをうまく使いこなしましょう。
IAMのユーザ、グループ、ポリシー、ロール、スイッチとは
IAMには、以下の5つ項目があります。
① ユーザ
② グループ
③ ポリシー
④ ロール
⑤ スイッチ
① ユーザは、個人を示す単位です。
② 複数人のユーザを塊にしたものが、グループです。
③ ポリシーとは、名の通り「権限」のことです。
ポリシーは、ユーザ毎、グループ毎、それぞれの単位で作ることができます。
例えば、Aグループ、Bグループ、Cユーザ、Dユーザ、Eユーザがいて、以下のように分けれます。
・Aグループは、Cユーザ、Dユーザで構成
・Bグループは、Eユーザで構成
AグループにNW設定の権限を与えれば、Aグループに所属するCユーザ、DユーザはどちらもNW設定をすることができます。
ユーザをそのまま利用する方法もあれば、グループにアサインさせることで、明示的に担当範囲を分けることができるのです。
次にロールとスイッチについてです。
④ロールとは、ユーザもしくはリソースに付与された権限のことになります。
Aユーザに、S3にアクセスする権限を与えたいときに、ロールを付与することで、AユーザはS3にアクセスすることが可能になります。
⑤スイッチとは、ロールの切り替えのことです。
EC2を操作する権限を持つロールから、S3を操作する権限を持つロールに切り替えたりする機能をスイッチと呼びます。
ロールを使う理由
あれ?ユーザ、グループにポリシーを付与すれば、与えられた権限の操作ができるけど、ロールでもできるの?
そうです。
ロールでも同じように与えられた権限の操作が可能になります。
ユーザ、グループにアタッチする場合のポリシーとロールの運用についても解説しますね。
ロールを使わなくても、ユーザにポリシーを付与すればいいんじゃないかって思うかと思います。
それも可能です。
ですが、特定のユーザやグループに複数のポリシーを付与したり、複数のユーザを作って、一つ一つ個別のポリシーを付与していると、管理が煩雑になってしまいます。
様々なIAMユーザに切り替えるため、毎回毎回サインイン/サインアウトが必要になってしまいます。
上の図のような運用は非常にめんどくさいです。
そこでロールとスイッチが役に立ちます。
ロールを使えば、複数のユーザを使い分けてサインイン/サインアウトする必要がありません。
「ロールのスイッチの設定」、「他のAWSアカウントへのロールのスイッチによる運用方法・方針」についてまとめた記事を以下に掲載しているので合わせ、ロールのスイッチが良くわらかないって方は、ご一読ください。
AWSアカウントのセキュリティ対策(AWSを始めて使う人へ)
それではアカウントの基礎をご紹介したので、次にルートアカウント、IAMユーザの作成~最初にやっておくべきセキュリティ対策について紹介していきます。
ルートアカウントの作成
まず、以下のURLにアクセスし、ルートアカウントを作成しましょう。
https://aws.amazon.com/jp/register-flow/
上記URLにアクセスすると、以下の画面が出るので、「AWSアカウントを今すぐ無料で作成」を押します。
次に以下の画面が出るので、各情報を入力したら、「続行」ボタンを押します。
次に以下の画面が出るので、各情報を入力したら、「アカウントを作成して続行」ボタンを押します。
次に以下の画面が出るので、各情報を入力したら、「検証して追加する」ボタンを押します。
※このあと、SMS等による認証コードの確認がありますが、キャプチャ忘れました(涙
認証が完了すると、次に以下の画面が出ます。
各プランの説明があるので、該当のプランを指定します。
無料で利用する場合は、「ベーシックプラン」を選択してください。
サポートプランはあとからでも変更可能です。
次に以下の画面が出るので、登録したルートユーザのEメールアドレスを入力し、「次へ」を押します。
次に以下の画面が出るので、アカウント作成時に登録したパスワードを入力したら、「サインイン」ボタンを押します。
ルートアカウントのセキュリティ対策
AWSコンソールへのログインができると、以下の画面が出ます。
まずは、ルートアカウントのセキュリティ設定を行うため、「サービス」の「IAM」を押します。
ルートアカウントのMFA(ワンタイムパスワードの設定)
以下の画面が出るので、ルートアカウントのMFAを有効化の「MFAの管理」を押します。
以下の画面が出るので、多要素認証(MFA)の「MFAの有効化」を押します。
以下の画面が出るので、「仮想MFAデバイス」を選択し、「続行」ボタンを押します。
(スマートフォンアプリのGoogle Authenticatorを使ったワンタイムパスワード認証による多要素ログインになります。)
※U2Fセキュリティーは、USBのセキュリティーでのログインが可能です。
※その他のハードウェアMFAデバイスは、ハードウェアトークンでのログインが可能です。
以下の画面が出るので、「QRコードの表示」を選択し、QRコードを表示させます。スマートフォンアプリにインストールしたGoogle Authenticatorのバーコードをスキャンを選択し、QRコードをスキャンします。
Google Authenticatorについてはこちらをクリックしてください。
QRコードをスキャンすると、ルートアカウント用のワンタイムパスワードが登録され、以下のようなになります。
1回目に表示される6桁の数字を「MFAコード1」に入力します。
2回目に表示される6桁の数字を「MFAコード2」に入力します。
入力したら、「MFAの割り当て」を押します。
以下の画面が出て、ワンタイムパスワード認証が可能になりましたので、「閉じる」を押します。
次回からルートアカウントでログインする場合は、ルートアカウントのEメールアドレス、パスワード、ワンタイムパスワードの3つ要素の入力が必要になります。
以下の画面が出て、ワンタイムパスワード認証が可能になっていることが確認できます。
IAM:ユーザの作成
次に左の項目の「ユーザ」を押し、IAMユーザの作成をします。
以下の画面が出るので、ユーザ名、各種情報のチェックをつけ、「次のステップ:アクセス権限」を押します。
AWSアクセスに種類を選択します。
・プログラムによるアクセスは、API、CLI、SDKによるアクセスを有効にします。
例えば、オンプレのサーバに、AWS CLIをインストールし、IAMユーザを指定してコマンドを実行し、クラウド上のAWSサービスへのアクセスを可能にしたりします。
・AWSマネジメントコンソールへのアクセスは、以下のブラウザアクセスを有効にするので、チェックします。
・コンソールのパスワードは、自動生成 or カスタム(手動)が選択できます。
・パスワードのリセットが必要は、初回ログイン時に新しいパスワードの作成を求めさせます。
以下の画面が出るので、「既存のポリシーを直接アタッチ」を選択し、ポリシーを選択します。
ここで「AdministratorAccess」を選択し、Admin権限のIAMユーザにします。
※Admin権限は、ほぼ全ての操作権限を有するポリシーです。
以下の画面が出るので、タグ情報を入力し、「次のステップ:確認」を押します。
タグ情報は、入力しなくても良いです。入力しておくと、コスト管理/リソース管理の際に便利な目印になります。
あとからでも設定可能です。
以下の画面が出るので、「AdministratorAccess」権限と「IAMUserChangePassword」が付与されていることを確認し、「ユーザの作成」を押します。
「IAMUserChangePassword」は、初回ログイン時に新しいパスワードを作成することを求める権限です。
以下の画面が出て、IAMユーザの作成は完了です。
「.csvのダウンロード」を押し、アクセスキーIDとシークレットアクセスキーを保存しておきましょう。
画面に出ているアクセスキーID、シークレットアクセスキーに関するcsvファイルは、このタイミングでしかダウンロードできません。
ダウンロードを忘れても、再度新しいアクセスキーID、シークレットアクセスキーの値でCSVファイルはダウンロード可能です。
最後に「閉じる」を押します。
IAM:グループの作成
次に左の項目の「グループ」を押し、「グループの作成」を押します。
以下の画面に戻るので、グループ名を入力し、「次のステップ」を押します。
以下の画面に戻るので、グループに付与するポリシーを選択します。
ここでは、「AdministratorAcess」を選択し、「次のステップ」を押します。
以下の画面に戻り、グループの作成は完了です。
ただし、グループにユーザを所属させていないので、必要に応じてグループにユーザをアサインさせてください。今回は不要な対応なので、割愛します。
IAM:パスワードポリシーの適用
次にIAMパスワードポリシーの適用の「パスワードポリシーの管理」を押します。
以下の画面になるので、「パスワードポリシーを設定する」を押します。
以下の画面になるので、必要なパスワードポリシーにチェックマークをつけて、「変更の保存」を押します。
セキュリティ強度を上げるため、全てのポリシーにチェックをつけることをお勧めします。
左の項目の「ダッシュボード」を押すと、5項目すべてのセキュリティ項目が完了していることが分かります。
それでは作成したIAMユーザでログインできることを確かめるために、サインアウトしましょう。
サインアウトをする前に、ルートアカウント(AWSアカウント)の12桁の数字を控えるようにして下さい。
ログイン時に必要な数字になります。
IAMのセキュリティ対策
以下の画面になるので、「IAMユーザ」を選択して、アカウントID(12桁)またはアカウントエイリアスの箇所に12桁のアカウントの数字を入力し、「次へ」を押します。
以下の画面になるので、「ユーザ名」にIAMユーザ名と「パスワード」を入力し、「サインイン」を押します。
今回、IAMユーザ「iam-test1」というのを作成している紹介画像になるので、「iam-test1」を入力します。
以下の画面になり、先ほど設定した通り、初回ログイン時に新しいパスワードの作成を求められるので、新しいパスワードを入力し、「パスワード変更の確認」を押します。
IAMユーザのMFA(ワンタイムパスワード)の設定
IAMユーザ「iam-test」でのログインを行うことができます。
今度はIAMユーザのMFA(ワンタイムパスワードの設定)を行います。
サービスのIAMを選択すると、以下の画面になります。
左の「ユーザ」を押すと、以下の画面になるので、作成したIAMユーザを押します。
※「iam-test1」を押す。
以下の画面になるので、「認証情報」のタブを押し、MFAデバイスの割り当ての「管理」を押します。
再び、ルートアカウントでMFAを設定した時と同様に、以下の画面になるので、MFAを設定すれば、IAMユーザのワンタイムパスワードログインの設定が完了します。
Google AuthenticatorもIAMユーザ用のワンタイムパスワードの項目が増えます。
MFAの設定しておくと、ログイン時に以下のようにMFAコードの入力を求められるので、6桁のワンタイムパスワードを入力し、「送信」を押せば、ログインができるようになります。
今回は、「ルートアカウント」と「Administrator権限を持つIAMユーザ」のセキュリティ対策の設定でした。
以下の記事にAdministrator権限を持つIAMユーザから、作成したIAMユーザのMFA(ワンタイムパスワード)の設定に関して紹介しています。
Administrator権限のないユーザのセキュリティ対策の設定が上手くできなくて困ったって人は是非読んでください。
最初は、アレ!?ってことになる人、結構います。
まとめ
・AWSのアカウントの仕組みの理解は、運用する上で重要な項目
・アカウントには、ルートアカウント、IAMユーザの2種類がある
・IAMには、ユーザ、グループ、ポリシー、ロール、スイッチの概念がある
・ロールとスイッチを使いこし、適切なアカウント運用管理を行うのがポイント
・ルートアカウントは、なんでもできるアカウントで、乗っ取られると危ないので使わない(AWSのベストプラクティスでも紹介されている)
・ルートアカウントから、ほぼ全ての操作が可能なAdmin権限をもつIAMユーザを1つ作成し、Admin権限を持つIAMユーザを使う。
・Admin権限を持つIAMユーザから、各ポリシーを持つIAMユーザ等を作成して、システム運用を行う。
・ルートアカウント、IAMユーザのセキュリティ対策を行うこと
AWS オススメ参考書のご紹介
今回、アカウントの仕組みと作成、セキュリティ対策について紹介しました。
AWSの各種設定だけでなく、IAMアカウントの運用は非常に重要です。
AWSを初めて学ぶ人、操作する人は以下の書籍が、とっかかり(最初の第一歩)としてお勧めです。
① コンソール操作画面付きで、基礎知識と合わせて、丁寧に設定方法を解説
② AWSシステムを構築する上で基礎となる概念「VPC」、「AZ」、「パブリック/プライベートサブネット」、「ネットワークACL」、「セキュリティグループ」等の解説もある
③ パターン別の設計として、Wordpress(Webサーバ)、MySQL(DBサーバ)を使ったシステム構築等も解説している
初心者には非常に役に立つ解説本となっていますので、一番お勧めします。
以下の書籍もAWSシステムの基礎概念や様々なサービスを紹介しています。
資格取得に向けた問題も掲載されています。
AWSのことはあまり知らない & 資格も取りたいって人向けです
コメント