임시 보안 자격 증명에 대한 권한 비활성화 - AWS Identity and Access Management

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

임시 보안 자격 증명에 대한 권한 비활성화

임시 보안 자격 증명은 만료될 때까지 유효하며 취소될 수 없습니다. 그러나 권한은 자격 증명을 사용해 AWS 요청이 이루어질 때마다 평가되기 때문에 자격 증명이 발급된 이후에라도 자격 증명에 대한 권한을 변경함으로써 자격 증명 취소 효과를 얻을 수 있습니다. 임시 보안 자격 증명에서 모든 권한을 제거하는 경우 그 자격 증명을 사용하는 후속 AWS 요청은 실패하게 됩니다. 임시 보안 자격 증명에 할당된 권한을 변경 또는 제거하는 메커니즘은 다음 섹션에 설명되어 있습니다.

참고

기존 정책 권한을 업데이트할 때 또는 사용자나 리소스에 새 정책을 적용할 때 정책 업데이트가 효력이 생기는 데 몇 분이 걸릴 수 있습니다.

임시 보안 자격 증명 작성자에 대한 액세스 거부

임시 보안 자격 증명에 할당된 권한을 비활성화 또는 제거하려면 자격 증명 생성자와 연결된 권한을 변경 또는 제거하면 됩니다. 자격 증명 생성자는 자격 증명 획득에 사용된 AWS STS API에 의해 결정됩니다. 이 생성자에 연결된 권한을 변경 또는 제거하는 메커니즘은 다음 섹션에 설명되어 있습니다.

PerseRole, ConsentRoleWithSAML 또는 ConsuseRoleWithWebID에서 생성된 자격 증명에 대한 액세스 거부

AssumeRole, AssumeRoleWithSAML, 또는 AssumeRoleWithWebIdentity API 작업을 호출함으로써 획득한 임시 보안 자격 증명에 할당된 권한을 변경하거나 제거하려면 위임받은 역할에 대한 권한을 정의하는 역할 권한 정책을 편집 또는 삭제하면 됩니다. 역할을 수임함으로써 획득한 임시 보안 자격 증명은 수임된 역할에 대한 권한 정책에 정의된 것보다 더 많은 권한을 가질 수 없으며, 임시 보안 자격 증명에 할당된 권한은 AWS 호출에 사용될 때마다 평가됩니다. 역할의 권한 정책을 편집하거나 삭제하면 이러한 변경은 역할의 권한 정책을 변경하기 전에 발급된 자격 증명을 비롯해 해당 역할에 연결된 모든 임시 보안 자격 증명의 권한에 영향을 미칩니다. 철회 IAM 역할 임시 보안 자격 증명의 단계를 따라 특정 세션에 대한 모든 권한을 즉시 취소할 수 있습니다.

역할 권한 정책 편집에 대한 자세한 정보는 역할 변경 단원을 참조하십시오.

GetFederationToken 또는 GetSessionToken이 생성한 자격 증명에 대한 액세스 거부

에 전화하여 획득한 임시 보안 자격 증명에 할당된 권한을 변경하거나 제거하려면 GetFederationToken 또는 GetSessionToken API 작업, 에 연결된 정책을 편집 또는 삭제합니다. IAM 자격 증명이 통화에 사용된 사용자 GetFederationToken 또는 GetSessionToken. 전화를 걸어 얻은 임시 보안 자격 증명 GetFederationToken 또는 GetSessionToken 이(가) 다음보다 더 많은 권한을 가질 수 없습니다. IAM 자격 증명을 사용하여 자격 증명을 가져오는 사용자입니다. 뿐만 아니라 임시 보안 자격 증명에 할당된 권한은 AWS 요청을 위해 사용될 때마다 평가됩니다. IAM 사용자의 권한을 편집 또는 삭제하면 그 변경 사항이 사용자가 생성한 모든 임시 보안 자격 증명뿐만 아니라 IAM 사용자에게도 영향을 미친다는 것에 유의하십시오.

중요

AWS 계정 루트 사용자에 대한 권한은 변경할 수 없습니다. 따라서 루트 사용자로 로그인할 때 GetFederationToken 또는 GetSessionToken을 호출하여 생성된 임시 보안 자격 증명에 대한 권한도 변경할 수 없습니다. 이런 이유 때문에 루트 사용자로 GetFederationToken 또는 GetSessionToken을 호출하지 않는 것이 좋습니다.

GetFederationToken 또는 GetSessionToken을 호출하는 데 자격 증명이 사용된 IAM 사용자와 연결된 정책을 변경 또는 제거하는 방법에 대한 정보는 IAM 정책 관리 단원을 참조하십시오.

이름별 임시 보안 자격 증명 액세스 거부

자격 증명을 생성한 IAM 사용자 또는 역할의 권한에 영향을 미치지 않고 임시 보안 자격 증명에 대한 액세스를 거부할 수 있습니다. 액세스를 거부하려면 리소스 기반 정책의 Principal 요소에서 임시 보안 자격 증명의 Amazon 리소스 이름(ARN)을 지정하면 됩니다. 일부 AWS 서비스만이 리소스 기반 정책을 지원합니다.

통합 사용자에 대한 액세스 거부

예를 들어, IAM 사용자 이름 token-app 자격 증명이 통화에 사용되는 사용자 GetFederationToken. 더 GetFederationToken API 호출로 인해 Bob이라는 통합 사용자와 연결된 임시 보안 자격 증명이 발생했습니다(통합 사용자의 이름은 Name API 호출의 매개 변수). 연동 사용자 Bob이 EXAMPLE-BUCKET이라는 S3 버킷에 액세스하는 것을 거부하려면 아래 예시된 버킷 정책을 EXAMPLE-BUCKET에 연결하면 됩니다. 이렇게 하면 연동 사용자의 Amazon S3 권한에만 영향을 미칠 뿐 연동 사용자에게 부여된 다른 권한들은 영향을 받지 않는 것에 유의하십시오.

{ "Version": "2012-10-17", "Statement": { "Principal": {"AWS": "arn:aws:sts::ACCOUNT-ID-WITHOUT-HYPHENS:federated-user/Bob"}, "Effect": "Deny", "Action": "s3:*", "Resource": "arn:aws:s3:::EXAMPLE-BUCKET" } }

연동 사용자를 지정하는 대신에 버킷 정책의 Principal 요소에 있는 GetFederationToken을 호출하는 데 자격 증명이 사용된 IAM 사용자의 ARN을 지정할 수 있습니다. 이 경우 이전 정책의 Principal 요소는 다음과 같을 것입니다.

"Principal": {"AWS": "arn:aws:iam::ACCOUNT-ID-WITHOUT-HYPHENS:user/token-app"}

정책에서 IAM 사용자 token-app의 ARN을 지정하면 그 결과 Bob이라는 연동 사용자뿐만 아니라 token-app에 의해 생성된 모든 연동 사용자에 대한 액세스가 거부된다는 점에 유의하십시오.

추정된 역할 사용자에 대한 액세스 거부

역할 수임에 의해 생성된 임시 보안 자격 증명의 ARN을 지정할 수도 있습니다. 차이는 리소스 기반 정책의 Principal 요소에서 사용되는 구문에 있습니다. 예를 들어 사용자가 Accounting-Role이라는 역할을 수임하고 RoleSessionNameMary을 지정한다고 가정합시다(RoleSessionNameAssumeRole API 호출의 파라미터입니다). 이 API 호출로 인해 얻은 임시 보안 자격 증명에 대한 액세스를 거부하려면 리소스 기반 정책의 Principal 요소는 다음과 같아야 합니다.

"Principal": {"AWS": "arn:aws:sts::ACCOUNT-ID-WITHOUT-HYPHENS:assumed-role/Accounting-Role/Mary"}

리소스 기반 정책의 Principal 요소에 있는 IAM의 ARN을 다음 예시와 같이 지정할 수도 있습니다. 이 경우 그 정책으로 인해 Accounting-Role이라는 역할과 연결된 모든 임시 보안 자격 증명에 대한 액세스는 거부될 것입니다.

"Principal": {"AWS": "arn:aws:iam::ACCOUNT-ID-WITHOUT-HYPHENS:role/Accounting-Role"}

특정 시간 전에 발급된 임시 보안 자격 증명에 대한 액세스 거부

특정 시각 또는 날짜 이전에 생성된 임시 보안 자격 증명에 대한 액세스만 거부할 수도 있습니다. 이렇게 하려면 정책의 aws:TokenIssueTime 요소에 있는 Condition의 값을 지정해야 합니다. 다음 정책은 한 가지 예를 보여줍니다. 임시 보안 자격 증명을 생성한 IAM 사용자에게 다음 예시와 유사한 정책을 연결합니다. 그 정책은 aws:TokenIssueTime의 값이 지정된 날짜와 시각보다 이른 경우에만 모든 권한을 거부합니다. aws:TokenIssueTime의 값은 임시 보안 자격 증명이 생성된 정확한 시간과 일치합니다. aws:TokenIssueTime 값은 임시 보안 자격 증명으로 로그인된 AWS 요청의 콘텍스트에서만 존재하므로 정책의 Deny 문은 IAM 사용자의 장기 자격 증명으로 로그인한 요청에는 영향을 미치지 않습니다.

다음 정책도 역할에 연결할 수 있습니다. 이 경우 정책은 지정된 시각 및 날짜 이전에 그 역할에 의해 생성된 임시 보안 자격 증명에만 영향을 미칩니다. 자격 증명이 지정된 시각 및 날짜 이후에 그 역할에 의해 생성된 경우 정책의 Condition 요소가 거짓으로 평가되어 Deny 문은 영향을 미치지 않습니다.

예 발급 시간별로 임시 자격 증명에 대한 모든 권한을 거부하는 예제 정책

{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": {"DateLessThan": {"aws:TokenIssueTime": "2014-05-07T23:47:00Z"}} } }

이러한 식으로 세션이 취소된 유효한 사용자는 작업을 계속하려면 새 세션을 위한 임시 자격 증명을 가져와야 합니다. AWS CLI는 자격 증명이 만료될 때까지 이를 캐시합니다. CLI가 더 이상 유효하지 않은 캐시된 자격 증명을 강제로 삭제하고 새로 고치게 하려면 다음 명령 중 하나를 실행합니다.

Linux, MacOS 또는 Unix

$ rm -r ~/.aws/cli/cache

Windows

C:\> del /s /q %UserProfile%\.aws\cli\cache