

# IAM 사용자의 계정 암호 정책 설정
<a name="id_credentials_passwords_account-policy"></a>

AWS 계정에서 사용자 지정 암호 정책을 설정하여 IAM 사용자 암호의 복잡성 요건과 의무적인 교체 주기를 지정할 수 있습니다. 사용자 지정 암호 정책을 설정하지 않은 경우 IAM 사용자 암호는 기본 AWS 암호 정책을 충족해야 합니다. 자세한 내용은 [사용자 지정 암호 정책 옵션](#password-policy-details) 섹션을 참조하세요.

**Topics**
+ [암호 정책 설정에 대한 규칙](#password-policy-rules)
+ [암호 정책을 설정하는 데 필요한 권한](#default-policy-permissions-required)
+ [기본 암호 정책](#default-policy-details)
+ [사용자 지정 암호 정책 옵션](#password-policy-details)
+ [암호 정책 설정(콘솔)](#IAMPasswordPolicy)
+ [암호 정책 변경(콘솔)](#id_credentials_passwords_account-policy-section-1)
+ [사용자 지정 암호 정책을 삭제하려면 다음을 수행하세요(콘솔).](#id_credentials_passwords_account-policy-section-2)
+ [암호 정책 설정(AWS CLI)](#PasswordPolicy_CLI)
+ [암호 정책 설정(AWS API)](#PasswordPolicy_API)

## 암호 정책 설정에 대한 규칙
<a name="password-policy-rules"></a>

IAM 암호 정책은 AWS 계정 루트 사용자 암호 또는 IAM 사용자 액세스 키에 적용되지 않습니다. 암호가 만료되면 IAM 사용자는 AWS Management Console에 로그인할 수 없지만 액세스 키를 계속 사용할 수 있습니다.

암호 정책을 생성 또는 변경하더라도 대부분의 암호 정책 설정은 사용자가 다음에 자신의 암호를 변경할 때 적용됩니다. 하지만 일부 설정은 바로 적용됩니다. 예: 
+ 최소 길이 및 문자 유형 요건이 변경되는 경우 이러한 설정은 다음 번에 사용자가 자신의 암호를 변경할 때 적용됩니다. 기존 암호가 업데이트된 암호 정책을 따르지 않는 경우에도 사용자들은 기존 암호를 변경할 필요는 없습니다.
+ 암호 만료 기간을 설정하면 만료 기간이 바로 적용됩니다. 예를 들어 암호 만료 기간을 90일로 설정한 경우, 기존 암호가 90일 이상된 모든 IAM 사용자의 암호가 만료됩니다. 이러한 사용자는 다음에 로그인할 때 암호를 변경해야 합니다.

지정된 횟수의 로그인 시도가 실패한 후에는 계정에서 사용자를 잠그는 "잠금 정책'을 생성할 수 없습니다. 보안을 강화하려면 멀티 팩터 인증(MFA)과 함께 강력한 암호 정책을 사용하는 것이 좋습니다. MFA에 대한 자세한 내용은 [IAM의 AWS 다중 인증](id_credentials_mfa.md) 섹션을 참조하세요.

## 암호 정책을 설정하는 데 필요한 권한
<a name="default-policy-permissions-required"></a>

IAM 엔터티(사용자 또는 역할)가 계정 암호 정책을 보거나 편집하도록 허용하려면 권한을 구성해야 합니다. IAM 정책에 다음과 같은 암호 정책 작업을 포함할 수 있습니다.
+ `iam:GetAccountPasswordPolicy` - 엔터티가 계정의 암호 정책을 볼 수 있도록 허용합니다.
+ `iam:DeleteAccountPasswordPolicy` - 엔터티가 계정의 사용자 지정 암호 정책을 삭제하고 기본 암호 정책으로 되돌릴 수 있도록 허용합니다.
+ `iam:UpdateAccountPasswordPolicy` - 엔터티가 계정의 사용자 지정 암호 정책을 생성하거나 변경할 수 있도록 허용합니다.

다음 정책은 계정 암호 정책을 보고 편집할 수 있는 모든 액세스 권한을 허용합니다. 이 예제 JSON 정책 문서를 사용하여 IAM 정책을 생성하는 방법에 대해 자세히 알아보려면 [JSON 편집기를 사용하여 정책 생성](access_policies_create-console.md#access_policies_create-json-editor) 섹션을 참조하세요.

------
#### [ JSON ]

****  

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

------

IAM 사용자가 자신의 암호를 변경하는 데 필요한 권한에 대한 자세한 내용은 [IAM 사용자에게 자신의 암호 변경 허용](id_credentials_passwords_enable-user-change.md) 섹션을 참조하세요.

## 기본 암호 정책
<a name="default-policy-details"></a>

관리자가 사용자 지정 암호 정책을 설정하지 않은 경우 IAM 사용자 암호는 기본 AWS 암호 정책을 충족해야 합니다.

기본 암호 정책은 다음 조건을 적용합니다.
+ 최소 8자부터 최대 128자의 암호 길이
+ 대문자, 소문자, 숫자 및 영숫자가 아닌 문자(`! @ # $ % ^ & * ( ) _ + - = [ ] { } | '`) 중에서 세 가지 이상의 문자 유형 혼합
+ AWS 계정 이름 또는 이메일 주소와 동일하지 않아야 함
+ 암호 만료 안 함

## 사용자 지정 암호 정책 옵션
<a name="password-policy-details"></a>

계정에 대한 사용자 지정 암호 정책을 구성할 때 다음 조건을 지정할 수 있습니다.
+ **암호 최소 길이** - 최소 6자, 최대 128자를 지정할 수 있습니다.
+ **암호 강도**-다음 확인란을 선택하여 IAM 사용자 암호의 강도를 정의할 수 있습니다.
  + 라틴 문자에서 하나 이상의 대문자 필요(A\$1Z)
  + 라틴 문자에서 하나 이상의 소문자 필요(a\$1z)
  + 1개 이상의 숫자 필수
  + 영숫자가 아닌 하나 이상의 문자 필요(`! @ # $ % ^ & * ( ) _ + - = [ ] { } | '`) 
+ **Turn on password expiration**(암호 만료 활성화) - IAM 사용자 암호가 설정된 후 유효한 기간(최소 1일부터 최대 1,095일)을 선택하여 지정할 수 있습니다. 예를 들어 만료일을 90일로 지정하면 모든 사용자에게 즉시 영향을 미칩니다. 암호를 변경한 지 90일 이상인 사용자의 경우, 콘솔에 로그인할 때 새 암호를 설정해야 합니다. 75\$189일이 지난 암호를 사용 중인 사용자는 암호 만료에 대한 AWS Management Console 경고를 수신합니다. 권한이 있는 IAM 사용자는 언제든지 자신의 암호를 변경할 수 있습니다. 새 암호를 설정하면 암호 만료 기간이 다시 시작됩니다. IAM 사용자는 한 번에 유효 암호 하나만 사용할 수 있습니다.
+ **암호 만료 시 관리자 재설정 필요(Password expiration requires administrator reset)** - 암호가 만료된 후 IAM 사용자가 AWS Management Console을 사용하여 자신의 암호를 업데이트하지 못하도록 하려면 이 옵션을 선택합니다. 이 옵션을 선택하기 전에 AWS 계정에 IAM 사용자 암호 재설정을 위한 관리자 권한을 가진 사용자가 2명 이상인지 확인해야 합니다. `iam:UpdateLoginProfile` 권한이 있는 관리자는 IAM 사용자 암호를 재설정할 수 있습니다. `iam:ChangePassword` 권한과 활성 액세스 키가 있는 IAM 사용자는 프로그래밍 방식으로 자신의 IAM 사용자 콘솔 암호를 재설정할 수 있습니다. 이 확인란의 선택을 취소하면 암호가 만료된 IAM 사용자는 AWS Management Console에 액세스하기 전에 새 암호를 설정해야 합니다.
+ **사용자 자신의 암호 변경 허용(Allow users to change their own password)** - 계정의 모든 IAM 사용자가 자신의 암호를 변경하도록 허용할 수 있습니다. 이렇게 하면 사용자에게 해당 사용자의 `iam:ChangePassword` 작업과 `iam:GetAccountPasswordPolicy` 작업에 대한 액세스 권한만 부여됩니다. 이 옵션은 각 사용자에게 권한 정책을 연결하지 않습니다. 대신, IAM은 모든 사용자에 대해 계정 수준에서 권한을 적용합니다. 또는 일부 사용자만 자신의 암호를 관리하도록 허용할 수 있습니다. 이렇게 하려면 이 확인란을 선택 취소합니다. 암호 관리 제한 정책의 사용에 대한 자세한 내용은 [IAM 사용자에게 자신의 암호 변경 허용](id_credentials_passwords_enable-user-change.md) 섹션을 참조하세요.
+ **암호 재사용 제한** - IAM 사용자가 지정된 수의 이전 암호를 재사용하지 못하도록 제한할 수 있습니다. 최소 1부터 최대 24개의 반복할 수 없는 이전 암호를 지정할 수 있습니다.

## 암호 정책 설정(콘솔)
<a name="IAMPasswordPolicy"></a>

AWS Management Console에서 사용자 지정 암호 정책을 생성, 변경 또는 삭제할 수 있습니다. 암호 정책 변경 사항은 이 정책 변경 후 생성된 새 IAM 사용자와 암호를 변경할 때의 기존 IAM 사용자를 대상으로 적용됩니다.

------
#### [ Console ]

1. *AWS 로그인 사용 설명서*의 [AWS에 로그인하는 방법](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) 항목에 설명된 대로 사용자 유형에 맞는 로그인 절차를 따르세요.

1. **IAM 콘솔 홈** 페이지의 왼쪽 탐색 창에서 쿼리를 **IAM 검색** 텍스트 상자에 입력합니다.

1. 탐색 창에서 **계정 설정(Account settings)**를 선택합니다.

1. **Password policy**(암호 정책) 섹션에서 **Edit**(편집)를 선택합니다.

1. **Custom**(사용자 지정)을 선택하여 사용자 지정 암호 정책을 사용합니다.

1. 암호 정책에 적용할 옵션을 선택하고 [**변경 사항 저장(Save changes)**]을 선택합니다.

1. **Set custom**(사용자 지정 설정)을 선택하여 사용자 지정 암호 정책의 설정을 확인합니다.

콘솔에 IAM 사용자의 암호 요구 사항이 업데이트되었음을 알리는 상태 메시지가 표시됩니다.

------

## 암호 정책 변경(콘솔)
<a name="id_credentials_passwords_account-policy-section-1"></a>

AWS Management Console에서 사용자 지정 암호 정책을 생성, 변경 또는 삭제할 수 있습니다. 암호 정책 변경 사항은 이 정책 변경 후 생성된 새 IAM 사용자와 암호를 변경할 때의 기존 IAM 사용자를 대상으로 적용됩니다.

------
#### [ Console ]

1. *AWS 로그인 사용 설명서*의 [AWS에 로그인하는 방법](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) 항목에 설명된 대로 사용자 유형에 맞는 로그인 절차를 따르세요.

1. **IAM 콘솔 홈** 페이지의 왼쪽 탐색 창에서 쿼리를 **IAM 검색** 텍스트 상자에 입력합니다.

1. 탐색 창에서 **계정 설정(Account settings)**를 선택합니다.

1. **Password policy**(암호 정책) 섹션에서 **Edit**(편집)를 선택합니다.

1. 암호 정책에 적용할 옵션을 선택하고 [**변경 사항 저장(Save changes)**]을 선택합니다.

1. **Set custom**(사용자 지정 설정)을 선택하여 사용자 지정 암호 정책의 설정을 확인합니다.

콘솔에 IAM 사용자의 암호 요구 사항이 업데이트되었음을 알리는 상태 메시지가 표시됩니다.

------

## 사용자 지정 암호 정책을 삭제하려면 다음을 수행하세요(콘솔).
<a name="id_credentials_passwords_account-policy-section-2"></a>

AWS Management Console에서 사용자 지정 암호 정책을 생성, 변경 또는 삭제할 수 있습니다. 암호 정책 변경 사항은 이 정책 변경 후 생성된 새 IAM 사용자와 암호를 변경할 때의 기존 IAM 사용자를 대상으로 적용됩니다.

------
#### [ Console ]

1. *AWS 로그인 사용 설명서*의 [AWS에 로그인하는 방법](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) 항목에 설명된 대로 사용자 유형에 맞는 로그인 절차를 따르세요.

1. **IAM 콘솔 홈** 페이지의 왼쪽 탐색 창에서 쿼리를 **IAM 검색** 텍스트 상자에 입력합니다.

1. 탐색 창에서 **계정 설정(Account settings)**를 선택합니다.

1. **Password policy**(암호 정책) 섹션에서 **Edit**(편집)를 선택합니다.

1. **IAM default**(IAM 기본값)를 선택하여 사용자 지정 암호 정책을 삭제하고 **Save changes**(변경 사항 저장)를 선택합니다.

1. **Set default**(기본값 설정)를 선택하여 IAM 기본 암호 정책의 설정을 확인합니다.

콘솔에 암호 정책이 IAM 기본값으로 설정되었음을 알리는 상태 메시지가 표시됩니다.

------

## 암호 정책 설정(AWS CLI)
<a name="PasswordPolicy_CLI"></a>

AWS Command Line Interface를 사용하여 암호 정책을 설정할 수 있습니다.

**AWS CLI에서 사용자 지정 계정 암호 정책을 관리하려면**  
다음 명령을 실행합니다.
+ 사용자 지정 암호 정책을 생성하거나 변경하려면: [https://docs.aws.amazon.com/cli/latest/reference/iam/update-account-password-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/update-account-password-policy.html)
+ 암호 정책을 보려면: [https://docs.aws.amazon.com/cli/latest/reference/iam/get-account-password-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/get-account-password-policy.html) 
+ 사용자 지정 암호 정책을 삭제하려면: [https://docs.aws.amazon.com/cli/latest/reference/iam/delete-account-password-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-account-password-policy.html) 

## 암호 정책 설정(AWS API)
<a name="PasswordPolicy_API"></a>

AWS API 작업을 사용하여 암호 정책을 설정할 수 있습니다.

**AWS API에서 사용자 지정 계정 암호 정책을 관리하려면**  
다음 연산을 호출합니다.
+ 사용자 지정 암호 정책을 생성하거나 변경하려면: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAccountPasswordPolicy.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAccountPasswordPolicy.html)
+ 암호 정책을 보려면: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetAccountPasswordPolicy.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetAccountPasswordPolicy.html) 
+ 사용자 지정 암호 정책을 삭제하려면: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteAccountPasswordPolicy.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteAccountPasswordPolicy.html) 