권한 경계로 인한 액세스 거부 문제를 해결하려면 어떻게 해야 하나요?

4분 분량
0

AWS 서비스에 액세스하려고 할 때 액세스 거부 또는 무단 오류가 발생했습니다. 내 AWS 계정에서 액세스 거부 오류를 해결하려면 어떻게 해야 하나요?

간략한 설명

AWS IAM(신원 및 액세스 관리) 정책이 특정 조건 요구 사항을 충족하지 않아 액세스 거부 또는 무단 오류를 받을 수 있습니다. 먼저 계정의 SCP(서비스 제어 정책)를 검토한 다음 리소스 기반 정책에 거부가 없는지 확인하세요. 이렇게 해도 오류가 해결되지 않으면 권한 경계가 있기 때문에 문제가 발생한 것일 수 있습니다.

권한 경계는 관리되는 정책을 사용하여 ID 기반 정책이 IAM 엔터티(사용자 또는 역할)에 부여할 수 있는 최대 권한을 설정할 수 있는 기능입니다. 엔터티에 대한 권한 경계를 설정하면 해당 엔터티는 ID 기반 정책과 권한 경계 모두에서 허용하는 작업만 수행할 수 있습니다.

참고: 권한 경계는 엔터티에 대한 최대 권한을 설정하지만 해당 권한을 부여하지는 않습니다.

권한 부여 오류 문제를 해결하려면 다음 단계를 따르세요.

  • IAM 정책에서는 허용되지만 권한 경계에서는 허용되지 않는 작업이 있는지 확인합니다.
  • IAM 콘솔을 사용하여 필요한 모든 작업을 권한 경계에 포함시킵니다.
  • IAM 정책에서 "iam:PermissionsBoundary" 조건 키 사용

해결 방법

IAM 정책에서는 허용되지만 권한 경계에서는 허용되지 않는 작업이 있는지 확인합니다.

다음 예에서는 IAM 정책에서는 허용되지만 권한 경계에서는 허용되지 않는 작업을 보여 줍니다. 이 예에서 IAM 사용자에게는 USER_IAM_POLICY 정책이 연결되어 있습니다.

IAM policy:(USER_IAM_POLICY)
 “Effect”: “Allow”,
            “Action”: [
                “ec2:*”,
                “s3:*”
            ],

이 정책은 사용자에게 Amazon Elastic Compute Cloud(Amazon EC2) 및 Amazon Simple Storage Service(S3) 서비스에 대한 전체 액세스 권한을 부여합니다. 사용자에게 USER_PB_POLICY라는 이름의 권한 경계도 설정되어 있습니다.

Permissions Boundary:(USER_PB_POLICY)
 “Effect”: “Allow”,
            “Action”: [
                “cloudwatch:*”,
                “s3:*”
            ],

권한 경계는 사용자가 수행할 수 있는 최대 권한을 설정합니다. 이 예에서 이 권한 경계는 Amazon CloudWatch 및 Amazon S3 서비스에 대한 전체 액세스를 허용합니다. 하지만 Amazon S3는 IAM 정책과 권한 경계 모두에서 허용되는 유일한 서비스이므로 사용자는 S3에 대해서만 액세스할 수 있습니다. 사용자가 Amazon EC2에 액세스하려고 하면 액세스 거부 오류가 발생합니다.

이 오류를 해결하려면 권한 경계를 편집하고 Amazon EC2에 대한 액세스를 허용하세요.

“Effect”: “Allow”,
            “Action”: [
                “cloudwatch:*”,
                “s3:*”,
                “ec2:*”
            ],

IAM 콘솔을 사용하여 필요한 모든 작업을 권한 경계에 포함시킵니다.

사용자에게 필요한 모든 작업을 포함하도록 권한 경계를 편집하려면 다음 단계를 따르세요.

  1. IAM 콘솔을 엽니다.
  2. 탐색 창에서 역할/사용자를 선택합니다.
  3. 편집하려는 IAM 엔터티를 선택합니다.
  4. 권한 경계 섹션에서 설정을 확인합니다. 권한 경계가 set이면 권한 경계가 설정되어 있음을 의미합니다. IAM 엔티티에서 권한 경계로 사용되는 관리되는 정책의 이름이 이 섹션에 나열됩니다.
  5. JSON 정책을 확장하고 필요한 작업이 권한 경계에서 허용 목록에 있는지 확인합니다. 작업이 허용 목록에 없는 경우 IAM 엔터티에 필요한 모든 작업을 허용하도록 JSON 정책을 편집하세요.

정책 편집에 대한 자세한 내용은 IAM 정책 편집을 참조하세요.

IAM 정책에서 iam:PermissionsBoundary 조건 키 사용

IAM 정책에 iam:PermissionsBoundary 조건 키를 추가합니다. 이 조건 키는 특정 정책이 IAM 엔터티의 사용 권한 경계로 연결되어 있는지 확인합니다.

다음 예에서는 RestrictedRegionpermissionsBoundary라는 이름의 IAM 정책을 보여 줍니다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "EC2RestrictRegion",
            "Effect": “Allow”,
            "Action": "ec2:*”
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestedRegion": [
                        "us-east-1"
                   ]
                }
            }
        }

정책을 만들어 사용자 만들기 권한이 있는 위임된 관리자에게 첨부합니다. 다음 예제 정책을 관리자에게 연결하면 관리자는 해당 사용자에게 RestrictedRegionPermissionsBoundary 정책을 연결한 경우에만 IAM 사용자를 만들 수 있습니다. 관리자가 정책을 첨부하지 않고 IAM 사용자를 만들려고 하면 액세스 거부 오류가 발생합니다.

{
            "Sid": "CreateUser",
            "Effect": "Allow",
            "Action": [
                "iam:CreateUser"
            ],
            "Resource": "arn:aws:iam::111222333444:user/test1*",
            "Condition": {
                "StringEquals": {
                    "iam:PermissionsBoundary": "arn:aws:iam::111222333444:policy/RestrictedRegionPermissionsBoundary"
                }
            }

새 사용자를 만들 때 IAM 정책 RestrictedRegionPermissionsBoundary를 권한 경계로 설정하려면 다음 단계를 따르세요.

  1. IAM 콘솔을 엽니다.
  2. 탐색 창에서 사용자를 선택한 다음 사용자 추가를 선택합니다.
  3. 편집할 사용자 이름을 입력하고 AWS 액세스 유형을 선택한 다음 다음을 선택합니다.
  4. 권한 경계 설정 섹션을 확장하고 권한 경계를 사용하여 최대 역할 권한 제어를 선택합니다.
  5. 검색 필드에 RestrictedRegionPermissionsBoundary를 입력한 다음 정책에 대한 라디오 버튼을 선택합니다.
  6. Next:Tags를 선택합니다.
  7. 설정을 검토하고 사용자를 만듭니다.

관련 정보

IAM 엔티티에 대한 권한 경계

경계를 사용하여 유효 권한 평가

AWS 공식
AWS 공식업데이트됨 2년 전
댓글 없음

관련 콘텐츠