IAM ユーザー用のアカウントパスワードポリシーを設定する - AWS Identity and Access Management

IAM ユーザー用のアカウントパスワードポリシーを設定する

IAM ユーザーのパスワードの複雑度の要件や必須のローテーション期間を指定するためのカスタムパスワードポリシーを AWS アカウント に設定できます。カスタムパスワードポリシーを設定しない場合、IAM ユーザーのパスワードはデフォルトの AWS パスワードポリシーの要件を満たす必要があります。詳細については、「カスタムパスワードポリシーのオプション」を参照してください。

パスワードポリシーの設定に関するルール

IAM パスワードポリシーは、AWS アカウントのルートユーザー パスワードまたは IAM ユーザー アクセスキーには適用されません。パスワードの有効期限が切れた場合、IAM ユーザーは AWS Management Console にサインインできなくなりますが、引き続きアクセスキーを使用できます。

パスワードポリシーを作成または変更する場合、パスワードポリシーの設定の多くは、ユーザーが次回パスワードを変更するときに適用されます。ただし、一部の設定はすぐに適用されます。例:

  • 最小文字数と文字タイプの要件が変更されると、これらの設定はユーザーが次回パスワードを変更するときに適用されます。既存のパスワードが更新されたパスワードポリシーに従っていない場合でも、ユーザーは既存のパスワードの変更を強制されません。

  • パスワードの有効期限を設定した場合、有効期限は直ちに適用されます。例えば、パスワードの有効期限を 90 日に設定したとします。この場合、既存のパスワードが作成されてから 90 日を超える期間が経過しているすべての IAM ユーザーのパスワードが失効します。これらのユーザーは、次回サインインするときにパスワードを変更する必要があります。

サインインが指定された回数失敗したユーザーをアカウントからロックアウトするために、「ロックアウトポリシー」を作成することはできません。セキュリティを強化するために、強力なパスワードポリシーと Multi-Factor Authentication (MFA) を組み合わせることをお勧めします。MFA の詳細については、「IAM の AWS 多要素認証」を参照してください。

パスワードポリシーを設定するために必要なアクセス許可

IAM エンティティ (ユーザーまたはロール) がアカウントのパスワードポリシーを表示または編集することを許可するには、アクセス許可を設定する必要があります。ポリシーには、IAM ポリシーに次のパスワードポリシーアクションを含めることができます。

  • iam:GetAccountPasswordPolicy – エンティティが各自のアカウントのパスワードポリシーを表示することを許可します

  • iam:DeleteAccountPasswordPolicy – エンティティが各自のアカウントのカスタムパスワードポリシーを削除し、デフォルトのパスワードポリシーに戻すことを許可します

  • iam:UpdateAccountPasswordPolicy – エンティティが各自のアカウントのカスタムパスワードポリシーを作成または変更することを許可します

次のポリシーは、アカウントのパスワードポリシーを表示および編集するためのフルアクセスを許可します。この例の JSON ポリシードキュメントを使用して IAM ポリシーを作成する方法については、「JSON エディターを使用したポリシーの作成」を参照してください。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "FullAccessPasswordPolicy", "Effect": "Allow", "Action": [ "iam:GetAccountPasswordPolicy", "iam:DeleteAccountPasswordPolicy", "iam:UpdateAccountPasswordPolicy" ], "Resource": "*" } ] }

IAM ユーザーが各自のパスワードを変更するために必要なアクセス許可の詳細については、「IAM ユーザーに自分のパスワード変更を許可する」をご参照ください。

デフォルトのパスワードポリシー

管理者がカスタムパスワードポリシーを設定しない場合、IAM ユーザーパスワードはデフォルトの AWS パスワードポリシーの要件を満たす必要があります。

デフォルトのパスワードポリシーでは、次の条件が適用されます。

  • パスワードの文字数制限: 8~128 文字

  • 大文字、小文字、数字、英数字以外の文字 (! @ # $ % ^ & * ( ) _ + - = [ ] { } | ') のうち、最低 3 つの文字タイプの組み合わせ

  • AWS アカウント 名または E メールアドレスと同じでないこと

  • 有効期限のないパスワード

カスタムパスワードポリシーのオプション

アカウントのカスタムパスワードポリシーを設定する場合、次の条件を指定できます。

  • パスワードの最小文字数 – 6~128 文字の間で指定できます。

  • パスワードの強度 – 次のいずれかのチェックボックスをオンにして、IAM ユーザーパスワードの強度を定義できます。

    • ラテンアルファベットの大文字 (A–Z) が少なくとも 1 つ必要

    • ラテンアルファベットの小文字 (a–z) が少なくとも 1 つ必要

    • 少なくとも 1 つの数字が必要

    • 少なくとも 1 つの英数字以外の文字 ! @ # $ % ^ & * ( ) _ + - = [ ] { } | ' が必要

  • パスワードの有効期限をオンにする – IAM ユーザーのパスワードが設定されてから有効な期間を 1~1,095 日の間で選択して指定できます。例えば、90 日間の有効期限を指定すると、すぐにすべてのユーザーに影響します。変更後、90 日を超える古いパスワードのユーザーがコンソールにログインする場合は、新しいパスワードを設定する必要があります。75 日から 89 日が経過したパスワードのユーザーは、パスワードの有効期限について AWS Management Console から警告を受け取ります。IAM ユーザーは、アクセス許可があれば、いつでもパスワードを変更できます。新しいパスワードを設定すると、そのパスワードの有効期間が始まります。IAM ユーザーは一度に 1 つだけ有効なパスワードを持つことができます。

  • [Password expiration requires administrator reset] (パスワードの失効に管理者のリセットを必要とする) – パスワードが失効した後に IAM ユーザーが AWS Management Console を使用して各自のパスワードを更新できないようにするには、このオプションを選択します。このオプションを選択する前に、AWS アカウント で複数のユーザーが IAM ユーザーパスワードをリセットするための管理アクセス許可を持っていることを確認します。管理者ユーザーの iam:UpdateLoginProfile 権限は IAM ユーザーパスワードをリセットできます。IAM ユーザーの iam:ChangePassword 権限キーとアクティブアクセスキーは、IAM ユーザーコンソールのパスワードをプログラムでリセットできます。このチェックボックスをオフにした場合、パスワードが失効している IAM ユーザーは、AWS Management Console にアクセスする前に新しいパスワードを設定する必要があります。

  • [Allow users to change their own password] (ユーザーが各自のパスワードを変更することを許可) – お客様のアカウント内のすべての IAM ユーザーが各自のパスワードを変更することを許可できます。これにより、そのユーザーだけに対する iam:ChangePassword アクションと iam:GetAccountPasswordPolicy アクションへのアクセスがユーザーに付与されます。このオプションでは、各ユーザーにアクセス許可ポリシーがアタッチされません。あるいは、IAM ではすべてのユーザーにアカウントレベルでアクセス許可が適用されます。あるいは、一部のユーザーのみが、自分自身のパスワードを管理できるように許可できます。これを行うには、このチェックボックスをオフにします。パスワードを管理できるユーザーを限定するポリシーの使用方法については、「IAM ユーザーに自分のパスワード変更を許可する」を参照してください。

  • パスワードの再利用を禁止 – 指定した数の以前のパスワードを IAM ユーザーが再利用することを禁止できます。再利用できない以前のパスワードの数を 1~24 個の間で指定できます。

パスワードポリシーの設定 (コンソール)

AWS Management Console を使用して、カスタムパスワードポリシーを作成、変更、および削除できます。

カスタムパスワードポリシーを作成するには (コンソール)
  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで [アカウント設定] を選択します。

  3. [Password policy] (パスワードポリシー) セクションで、[Edit] (編集) を選択します。

  4. カスタムパスワードポリシーを使用するには、[Custom] (カスタム) を選択します。

  5. パスワードポリシーに適用するオプションを選択し、[Save Changes] (変更の保存) を選択します。

  6. [Set custom] (カスタムを設定) を選択して、カスタムパスワードポリシーを設定することを確認します。

カスタムパスワードポリシーを変更するには (コンソール)
  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで [アカウント設定] を選択します。

  3. [Password policy] (パスワードポリシー) セクションで、[Edit] (編集) を選択します。

  4. パスワードポリシーに適用するオプションを選択し、[Save Changes] (変更の保存) を選択します。

  5. [Set custom] (カスタムを設定) を選択して、カスタムパスワードポリシーを設定することを確認します。

カスタムパスワードポリシーを削除するには (コンソール)
  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで [アカウント設定] を選択します。

  3. [Password policy] (パスワードポリシー) セクションで、[Edit] (編集) を選択します。

  4. [IAM default] (IAM のデフォルト) を選択してカスタムパスワードポリシーを削除し、[Save changes] (変更を保存) を選択します。

  5. [Set default] (デフォルトを設定) を選択して、IAM デフォルトパスワードポリシーを設定することを確認します。

パスワードポリシーの設定 (AWS CLI)

AWS Command Line Interface を使用して、パスワードポリシーを設定できます。

AWS CLI からアカウントのカスタムパスワードポリシーを管理するには

以下のコマンドを実行します。

パスワードポリシーの設定 (AWS API)

AWS API オペレーションを使用して、パスワードポリシーを設定できます。

AWS API からアカウントのカスタムパスワードポリシーを管理するには

以下のオペレーションを呼び出します。