セキュリティファースト、セキュリティは非常に重要だからだ!Amazon Web Servicesアカウントを作成すると、そのアカウントはルートと呼ばれる。ルートレベルのアカウントはクラウド環境で実行されているすべてのリソースへの完全なアクセス権を持っており、リソースの管理にルートアカウントを使用しないことを強く推奨する。

AWSアカウントを安全に保つために何をすべきか?

  1. ルートアカウントに多要素認証を設定する

    以前に2ステップ認証や2要素認証について聞いたことがあるかもしれない。Amazonのエコシステムでは、この追加のセキュリティレイヤーをMFAと呼ぶ。このアカウントのルートユーザーには多要素認証(MFA)が有効になっていない。このアカウントのセキュリティを向上させるためにMFAを有効にする

  2. パスワードポリシーを設定する

    パスワードポリシーは、IAMユーザーのパスワードに対して複雑さの要件と必須のローテーション期間を定義する一連のルールだ。

    設定できるもの:
    - 最小パスワード長の強制
    - ラテンアルファベット(A-Z)の大文字を少なくとも1文字要求
    - ラテンアルファベット(a-z)の小文字を少なくとも1文字要求
    - 数字を少なくとも1文字要求
    - 英数字以外の文字を少なくとも1文字要求(! @ # $ % ^ & * ( ) _ + - = [ ] { } | ')
    - パスワードの有効期限を有効にする
    - パスワードの有効期限切れは管理者によるリセットが必要
    - ユーザーが自分のパスワードを変更することを許可
    - パスワードの再利用を防止

  3. 不要なリージョンを無効化する

    アカウント設定では、Amazon Web Servicesで特にすべてのリージョンが実行されている。例えば、ロンドンリージョン(eu-west-2)でサービスを実行する予定がある場合、実際には他のリージョンは不要であり、必ず他のリージョンを無効化すべきだ。グローバルエンドポイントとUS East(N. Virginia)リージョンは無効化できない。すべてのAmazon Web Services認証サービス(ログインやその他のサービス認証など)はグローバルエンドポイントで実行されており、一部のサービスはNorth Virginiaリージョン(us-east-1)でのみ実行されている。そのため無効化できないのだ。

  4. ポリシーを作成する

    ポリシーは、ユーザー、グループ、ロールに割り当てることができるAWS権限を定義する。ビジュアルエディタやJSONを使用してポリシーを作成・編集できる。

    ポリシー作成ページで特定のサービスとリソースに対する特定のアクションを設定できる。

  5. IAMロールを作成する

    IAMロールは、信頼するエンティティに権限を付与する安全な方法だ。エンティティの例には以下が含まれる:
    - 別のアカウントのIAMユーザー
    - AWSリソースに対してアクションを実行する必要があるEC2インスタンス上で実行されているアプリケーションコード
    - 機能を提供するためにアカウント内のリソースに作用する必要があるAWSサービス
    - SAMLとのIDフェデレーションを使用する企業ディレクトリのユーザー
    - IAMロールは短時間有効なキーを発行し、アクセスを付与するより安全な方法となる。

  6. ユーザーグループで部門を分離する

    IAMユーザーは、AWSと対話するために使用する人やアプリケーションを表すためにAWSで作成するエンティティだ。ユーザーは最大10のグループに所属できる。このユーザーグループに最大10のポリシーをアタッチできる。このグループのすべてのユーザーは、選択されたポリシーで定義された権限を持つ。

  7. ベストプラクティスを適用する


    最小権限アクセスを付与する: 最小権限の原則を確立することで、アイデンティティが特定のタスクを遂行するために必要な最小限の機能セットのみを実行できるようにし、使いやすさと効率性のバランスを取る。

    AWS Organizationsを使用する: AWSリソースをスケールするにつれて環境を中央管理・統制する。新しいAWSアカウントを簡単に作成し、アカウントをグループ化してワークフローを整理し、ガバナンスのためにアカウントやグループにポリシーを適用する。

    IDフェデレーションを有効にする: 好みのIDソースから複数のサービスにわたってユーザーとアクセスを管理する。AWS Single Sign-Onを使用して複数のAWSアカウントへのアクセスを中央管理し、割り当てられたすべてのアカウントへのシングルサインオンアクセスをユーザーに提供する。

    MFAを有効にする: 追加のセキュリティのために、すべてのユーザーに多要素認証(MFA)を要求することを推奨する。

    認証情報を定期的にローテーションする: 自分のパスワードとアクセスキーを定期的に変更し、アカウント内のすべてのユーザーも同様に行うことを確認する。

    IAM Access Analyzerを有効にする: IAM Access Analyzerを有効にして、パブリック、クロスアカウント、クロス組織のアクセスを分析する。

    すべてのセキュリティベストプラクティスについてさらに学ぶ。

この記事がAmazon Web Serviceアカウントを安全に使用するのに役立つことを願っている!