IAM: 프로그래밍 방식에서, 그리고 콘솔에서 여러 서비스에 대한 액세스를 허용 및 거부 - AWS Identity and Access Management

IAM: 프로그래밍 방식에서, 그리고 콘솔에서 여러 서비스에 대한 액세스를 허용 및 거부

이 예제에서는 IAM에서 여러 서비스에 대한 전체 액세스 및 제한적 자체 관리 액세스를 허용하는 IAM 정책을 생성하는 방법을 보여줍니다. Amazon S3 logs 버킷 또는 Amazon EC2 i-1234567890abcdef0 인스턴스로의 액세스도 거부합니다. 이 정책은 프로그래밍 방식 및 콘솔 액세스에 대한 권한을 정의합니다. 이 정책을 사용하려면 정책 예제의 기울임꼴 자리 표시자 텍스트를 본인의 정보로 대체하십시오. 그런 다음 정책 생성 또는 정책 편집의 지침을 따릅니다.

주의

이 정책은 여러 서비스의 모든 작업 및 리소스에 대한 전체 액세스를 허용합니다. 이 정책은 신뢰할 수 있는 관리자에게만 적용되어야 합니다.

이 정책을 권한 경계로 사용하여 자격 증명 기반 정책이 IAM 사용자에게 부여할 수 있는 최대 권한을 정의할 수 있습니다. 자세한 내용은 섹션을 참조하세요권한 경계를 사용하여 다른 사용자에게 책임 위임 정책이 사용자에 대한 권한 경계로 사용되는 경우 문에서 다음 경계를 정의합니다.

  • AllowServices 문은 지정된 AWS 서비스에 대한 완전한 액세스를 허용합니다. 이런 서비스의 사용자 작업이 사용자에 연결된 권한 정책에 따라서만 제한된다는 의미입니다.

  • AllowIAMConsoleForCredentials 문에서 모든 IAM 사용자를 나열할 수 있는 액세스를 허용합니다. 이 액세스는 AWS Management Console의 사용자 페이지를 탐색하는 데 필요합니다. 또한 계정의 암호 요구 사항을 확인하도록 허용합니다. 이 액세스는 사용자가 자신의 고유 암호를 변경할 때 필요합니다.

  • AllowManageOwnPasswordAndAccessKeys 문은 사용자가 자신의 고유 콘솔 암호와 프로그래밍 방식의 액세스 키만 관리하도록 허용합니다. 이런 점은 중요합니다. 또 다른 정책에서 사용자에게 전체 IAM 액세스가 되는 권한 정책을 부여한다면 사용자 자신 또는 다른 사용자 권한을 변경할 수 있기 때문입니다. 이 설명문은 이런 상황을 방지할 수 있습니다.

  • DenyS3Logs 설명문은 logs 버킷 액세스를 명시적으로 거부합니다. 이 정책은 사용자의 회사 제한을 적용합니다.

  • DenyEC2Production 설명문은 i-1234567890abcdef0 인스턴스 액세스를 명시적으로 거부합니다.

이 정책은 다른 서비스 또는 작업에 대한 액세스를 허용하지 않습니다. 정책이 사용자에 대한 권한 경계로 사용되는 경우 사용자와 연결된 다른 정책에서 이러한 작업을 허용하더라도 AWS에서는 요청을 거부합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowServices", "Effect": "Allow", "Action": [ "s3:*", "cloudwatch:*", "ec2:*" ], "Resource": "*" }, { "Sid": "AllowIAMConsoleForCredentials", "Effect": "Allow", "Action": [ "iam:ListUsers", "iam:GetAccountPasswordPolicy" ], "Resource": "*" }, { "Sid": "AllowManageOwnPasswordAndAccessKeys", "Effect": "Allow", "Action": [ "iam:*AccessKey*", "iam:ChangePassword", "iam:GetUser", "iam:*LoginProfile*" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "DenyS3Logs", "Effect": "Deny", "Action": "s3:*", "Resource": [ "arn:aws:s3:::logs", "arn:aws:s3:::logs/*" ] }, { "Sid": "DenyEC2Production", "Effect": "Deny", "Action": "ec2:*", "Resource": "arn:aws:ec2:*:*:instance/i-1234567890abcdef0" } ] }