AWS 웹 콘솔 액세스를 위해 MFA를 강제 적용합니다. 그러나 나는 또한 일부 aws 액션에 MFA 코드를 요구하기를 원한다.특정 AWS Cli 작업에서 MFA 코드 확인
aws iam delete-users --user-name theusername
Enter MFA: *********
이게 가능합니까?
AWS 웹 콘솔 액세스를 위해 MFA를 강제 적용합니다. 그러나 나는 또한 일부 aws 액션에 MFA 코드를 요구하기를 원한다.특정 AWS Cli 작업에서 MFA 코드 확인
aws iam delete-users --user-name theusername
Enter MFA: *********
이게 가능합니까?
관련 API 작업에 MFA 조건을 추가 할 수 있어야합니다. 예를 들어 베어러가 EC2 작업을 자유롭게 호출 할 수 있도록하는 IAM 정책은 있지만 StopInstances 또는 TerminateInstances를 호출 할 때는 MFA가 필요합니다.
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": ["ec2:*"],
"Resource": ["*"]
},{
"Effect": "Deny",
"Action": ["ec2:StopInstances", "ec2:TerminateInstances"],
"Resource": ["*"],
"Condition": {"BoolIfExists": {"aws:MultiFactorAuthPresent": false}}
}]
}
더 자세한 예는 here을 참조하십시오.
정확한 사용 사례는 불가능합니다. 그러나 필요한 권한을 부여 할 수 있습니다. IAM 역할에 대한 인스턴스 중지 및 IAM 사용자에게 역할이 부여되는 경우에만 if and only if the user uses MFA 권한을 부여합니다. 역할의 신뢰 정책은 다음과 같은 것입니다 :
는{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Principal": { "AWS": "arn:aws:iam::123456789012:root" },
"Action": "sts:AssumeRole",
"Condition": { "Bool": { "aws:MultiFactorAuthPresent": "true" } }
}
}
그래서 콘솔을 사용하는 동안, IAM 사용자는 자격 증명 및 MFA 토큰에 로그인하고 인스턴스를 중지 할 수있는 역할을 할 수있을 것입니다.
CLI를 사용하는 동안 named profiles with "mfa_serial" 변수를 사용할 수 있으며 사용자가 명명 된 프로필 매개 변수로 인스턴스를 중지하려고하면 CLI에서 MFA 코드를 요청합니다 (반환 된 자격 증명은 CLI에 캐시됩니다).
또는 GetSessionToken을 호출하고 MFA 토큰을 전달해야하므로 jarmod가 제공 한 제안을 사용하고 사용자 정의 스크립트를 사용할 수 있습니다. 샘플 Python과 C# 스크립트 here이 있습니다.