GetAccountPasswordPolicy 사용하기
GetAccountPasswordPolicy 사용하기 (SDK/CLI)
GetAccountPasswordPolicy(계정 비밀번호 정책 조회) API를 활용하는 방법을 코드 예시로 정리했어요. 각 예시는 어떤 동작을 하는지, 어떤 파라미터를 쓰는지 순서대로 살펴볼 수 있어요.
출처: 문서
본문
다음 코드 예시들은 GetAccountPasswordPolicy 를 어떻게 사용하는지 보여줘요.
.NET
/// <summary>
/// Gets the IAM password policy for an AWS account.
/// </summary>
/// <returns>The PasswordPolicy for the AWS account.</returns>
public async Task<PasswordPolicy> GetAccountPasswordPolicyAsync()
{
var response = await _IAMService.GetAccountPasswordPolicyAsync(new GetAccountPasswordPolicyRequest());
return response.PasswordPolicy;
}
GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행 방법을 배울 수 있어요.
AWS CLI
현재 계정의 비밀번호 정책 확인하기
aws iam get-account-password-policy
다음 get-account-password-policy 명령은 현재 계정의 비밀번호 정책 세부 정보를 표시해요.
{
"PasswordPolicy": {
"AllowUsersToChangePassword": false,
"RequireLowercaseCharacters": false,
"RequireUppercaseCharacters": false,
"MinimumPasswordLength": 8,
"RequireNumbers": true,
"RequireSymbols": true
}
}
출력:
Go(SDK for Go V2)
import (
"context"
"log"
"github.com/aws/aws-sdk-go-v2/service/iam"
"github.com/aws/aws-sdk-go-v2/service/iam/types"
)
// AccountWrapper encapsulates AWS Identity and Access Management (IAM) account actions
// used in the examples.
// It contains an IAM service client that is used to perform account actions.
type AccountWrapper struct {
IamClient *iam.Client
}
// GetAccountPasswordPolicy gets the account password policy for the current account.
// If no policy has been set, a NoSuchEntityException is error is returned.
func (wrapper AccountWrapper) GetAccountPasswordPolicy(ctx context.Context) (*types.PasswordPolicy, error) {
var pwPolicy *types.PasswordPolicy
result, err := wrapper.IamClient.GetAccountPasswordPolicy(ctx,
&iam.GetAccountPasswordPolicyInput{})
if err != nil {
log.Printf("Couldn't get account password policy. Here's why: %v\n", err)
} else {
pwPolicy = result.PasswordPolicy
}
return pwPolicy, err
}
GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행 방법을 배울 수 있어요.
JavaScript(SDK v3)
import {
GetAccountPasswordPolicyCommand,
IAMClient,
} from "@aws-sdk/client-iam";
const client = new IAMClient({});
export const getAccountPasswordPolicy = async () => {
const command = new GetAccountPasswordPolicyCommand({});
const response = await client.send(command);
console.log(response.PasswordPolicy);
return response;
};
GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행 방법을 배울 수 있어요.
계정 비밀번호 정책을 가져와요.
PHP
$uuid = uniqid();
$service = new IAMService();
public function getAccountPasswordPolicy()
{
return $this->iamClient->getAccountPasswordPolicy();
}
GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행 방법을 배울 수 있어요.
PowerShell Tools (V4)
예시 1: 현재 계정의 비밀번호 정책에 대한 세부 정보를 반환해요. 계정에 비밀번호 정책이 정의되어 있지 않으면 NoSuchEntity 오류가 반환돼요.
Get-IAMAccountPasswordPolicy
출력:
AllowUsersToChangePassword : True
ExpirePasswords : True
HardExpiry : False
MaxPasswordAge : 90
MinimumPasswordLength : 8
PasswordReusePrevention : 20
RequireLowercaseCharacters : True
RequireNumbers : True
RequireSymbols : False
RequireUppercaseCharacters : True
PowerShell Tools (V5)
예시 1: 현재 계정의 비밀번호 정책에 대한 세부 정보를 반환해요. 계정에 비밀번호 정책이 정의되어 있지 않으면 NoSuchEntity 오류가 반환돼요.
Get-IAMAccountPasswordPolicy
출력:
AllowUsersToChangePassword : True
ExpirePasswords : True
HardExpiry : False
MaxPasswordAge : 90
MinimumPasswordLength : 8
PasswordReusePrevention : 20
RequireLowercaseCharacters : True
RequireNumbers : True
RequireSymbols : False
RequireUppercaseCharacters : True
Python(Boto3)
def print_password_policy():
"""
Prints the password policy for the account.
"""
try:
pw_policy = iam.AccountPasswordPolicy()
print("Current account password policy:")
print(
f"\tallow_users_to_change_password: {pw_policy.allow_users_to_change_password}"
)
print(f"\texpire_passwords: {pw_policy.expire_passwords}")
print(f"\thard_expiry: {pw_policy.hard_expiry}")
print(f"\tmax_password_age: {pw_policy.max_password_age}")
print(f"\tminimum_password_length: {pw_policy.minimum_password_length}")
print(f"\tpassword_reuse_prevention: {pw_policy.password_reuse_prevention}")
print(
f"\trequire_lowercase_characters: {pw_policy.require_lowercase_characters}"
)
print(f"\trequire_numbers: {pw_policy.require_numbers}")
print(f"\trequire_symbols: {pw_policy.require_symbols}")
print(
f"\trequire_uppercase_characters: {pw_policy.require_uppercase_characters}"
)
printed = True
except ClientError as error:
if error.response["Error"]["Code"] == "NoSuchEntity":
print("The account does not have a password policy set.")
else:
logger.exception("Couldn't get account password policy.")
raise
else:
return printed
GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행 방법을 배울 수 있어요.
Ruby
# Class to manage IAM account password policies
class PasswordPolicyManager
attr_accessor :iam_client, :logger
def initialize(iam_client, logger: Logger.new($stdout))
@iam_client = iam_client
@logger = logger
@logger.progname = 'IAMPolicyManager'
end
# Retrieves and logs the account password policy
def print_account_password_policy
response = @iam_client.get_account_password_policy
@logger.info("The account password policy is: #{response.password_policy.to_h}")
rescue Aws::IAM::Errors::NoSuchEntity
@logger.info('The account does not have a password policy.')
rescue Aws::Errors::ServiceError => e
@logger.error("Couldn't print the account password policy. Error: #{e.code} - #{e.message}")
raise
end
end
GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행 방법을 배울 수 있어요.
Rust
pub async fn get_account_password_policy(
client: &iamClient,
) -> Result<GetAccountPasswordPolicyOutput, SdkError<GetAccountPasswordPolicyError>> {
let response = client.get_account_password_policy().send().await?;
Ok(response)
}
GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행 방법을 배울 수 있어요.
SAP ABAP
TRY.
oo_result = lo_iam->getaccountpasswordpolicy( ).
MESSAGE 'Retrieved account password policy.' TYPE 'I'.
CATCH /aws1/cx_iamnosuchentityex.
MESSAGE 'No password policy exists.' TYPE 'I'.
CATCH /aws1/cx_iamservicefailureex.
MESSAGE 'Service failure when getting password policy.' TYPE 'E'.
ENDTRY.
GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행 방법을 배울 수 있어요.