SEC02-BP01 強力なサインインメカニズムを使用する
サインイン (サインイン認証情報を使った認証) は、多要素認証 (MFA) などのメカニズムを使わない場合、特にサインイン認証情報が不用意に開示されたり、容易に推測されたりする場合に、リスクが発生する恐れがあります。MFA や強力なパスワードポリシーを要求することで、これらのリスクを軽減する強力なサインインのメカニズムを使用します。
期待される成果: AWS Identity and Access Management (IAM)
一般的なアンチパターン:
-
複雑なパスワードや MFA など、自分のアイデンティティに対して強力なパスワードポリシーを適用しない。
-
複数のユーザー間で同一の認証情報を共有する。
-
疑わしいサインインに対して検出コントロールを使用しない。
このベストプラクティスを活用しない場合のリスクレベル: 高
実装のガイダンス
人的 ID が AWS にサインインする方法は多数あります。AWS への認証時に、フェデレーション (AWS IAM と集中型 IdP 間の直接 SAML 2.0 フェデレーション、またはAWS IAM アイデンティティセンターを使用) を使用して一元化された ID プロバイダーに依存するのが AWS ベストプラクティスです。この場合、ID プロバイダーまたは Microsoft Active Directory を使って、セキュアなサインインプロセスを確立します。
最初に AWS アカウントを開いたとき、AWS アカウントルートユーザーから始めます。アカウントのルートユーザーは、ユーザー (およびルートユーザーを必要とするタスク) のアクセスを設定するときのみに使用することを推奨します。AWS アカウント を開いた直後にアカウントのルートユーザーに対して多要素認証 (MFA) を有効にし、AWS ベストプラクティスガイドを使用してルートユーザーを保護することが重要です。
AWS IAM アイデンティティセンターはワークフォースユーザー向けに設計されており、サービス内でユーザー ID を作成および管理し、MFA を使用してサインインプロセスを保護できます。AWS一方、Cognito は、アプリケーションの外部ユーザー ID のユーザープールと ID プロバイダーを提供するカスタマー ID とアクセス管理 (CIAM) 用に設計されています。
AWS IAM アイデンティティセンターでユーザーを作成する場合は、そのサービスでサインインプロセスを保護し、MFA をオンにします。アプリケーション内の外部ユーザー ID については、Amazon Cognito ユーザープールを使用して、そのサービス内または Amazon Cognito ユーザープールがサポートする ID プロバイダーのいずれかを通じてサインインプロセスを保護できます。
さらに、AWS IAM アイデンティティセンターのユーザーの場合、AWS Verified Access を使用して、AWS リソースへのアクセス権が付与される前にユーザーの ID とデバイスの状態を検証して、セキュリティレイヤーを強化できます。
AWS Identity and Access Management (IAM)
AWS IAM アイデンティティセンターとダイレクト IAM フェデレーションの両方を同時に使用して、AWS へのアクセスを管理できます。IAM フェデレーションを使用して AWS Management Console およびサービスへのアクセスを管理し、IAM アイデンティティセンターを使用して Amazon QuickSight や Amazon Q Business などのビジネスアプリケーションへのアクセスを管理できます。
サインイン方法に関係なく、強力なサインインポリシーを適用することが不可欠です。
実装手順
一般的な強力なサインインに関する推奨事項は次のとおりです。実際に行う設定は、組織のポリシーによって設定するか、または NIST 800-63
-
MFA が必要。人的 ID とワークロードに対しては、MFA を義務付けることが IAM のベストプラクティスです。MFA を有効にすることで、追加のセキュリティ層が提供されます。この層では、ユーザーがサインイン認証情報、ワンタイムパスワード (OTP)、またはハードウェアデバイスから暗号的に検証および生成された文字列を提供することが求められます。
-
最小パスワード文字数を適用します。これは、パスワードの強さにおける主な要素です。
-
パスワードの複雑性を適用すると、パスワードを推測しにくくなります。
-
自分のパスワードの変更をユーザーに許可します。
-
共有認証情報ではなく、個別の ID を作成します。個別の ID を作成することで、各ユーザーに固有のセキュリティ認証情報を付与することができます。個別のユーザーを作成することによって、各ユーザーのアクティビティを監査する機能が利用できます。
IAM アイデンティティセンターレコメンデーション:
-
IAM アイデンティティセンターは、デフォルトディレクトリを使用する際、パスワードの文字数、複雑性、および再使用要件を確立する、事前定義されたパスワードポリシーを提供します。
-
MFA を有効にし、アイデンティティソースがデフォルトディレクトリ、AWS Managed Microsoft AD、または AD Connector の場合、MFA に対してコンテキストアウェアまたは常時オン設定を行います。
-
ユーザーが自分の MFA デバイスを登録できるようにします。
Amazon Cognito ユーザープールディレクトリのレコメンデーション:
-
パスワードの強さ設定を行います。
-
ユーザーに MFA を義務付けます。
-
疑わしいサインインをブロックできる適応型認証などの機能に対して、Amazon Cognito ユーザープール上級セキュリティ設定を使用します。
IAM ユーザーのレコメンデーション:
-
IAM アイデンティティセンターまたは直接フェデレーションを使用することが理想的です。しかし、IAM ユーザー向けのニーズもあるでしょう。その場合は、IAM ユーザー向けにパスワードポリシーを設定します。パスワードポリシーを使用して、最小文字数、またはアルファベット以外の文字が必要かどうかなどの要件を定義できます。
-
IAM ポリシーを作成して、MFA サインインを適用し、ユーザーが自分のパスワードと MFA デバイスを管理できるようにします。
リソース
関連するベストプラクティス:
関連ドキュメント:
関連動画: