사용자에게 필요한 최소한의 AWS 정책 찾기

사용자에게 필요한 최소한의 AWS 정책 찾기

AWS EC2를 사용하려고 합니다. 명령이 있습니다

$ aws ec2 describe-instances

그 대답은 다음과 같습니다.

설명 인스턴스 작업을 호출할 때 클라이언트 오류(UnauthorizedOperation)가 발생했습니다. 이 작업을 수행할 권한이 없습니다.

하지만 정확한 최소한의 정책은 무엇입니까?
https://console.aws.amazon.com/iam/home?#policies
이(또는 다른 특정) 명령에 대해 사용자에게 허용되어야 하는 것은 무엇입니까?

답변1

하지만 정확한 최소한의 정책은 무엇입니까? https://console.aws.amazon.com/iam/home?#policies 이(또는 다른 특정) 명령에 대해 사용자에게 허용되어야 하는 것은 무엇입니까?

모든 명령을 수행할 수 있는 기능을 제공하는 "AdministratorAccess" 정책을 제외하고는 요청하는 것과 같은 단일 "최소" 정책이 없습니다. 하지만 그 정도의 힘을 갖는 것은 위험하므로 이유 없이 사용해서는 안 됩니다.

각 정책은 실행하려는 특정 명령 조합을 위해 설계되었습니다. 일부는 읽기 전용 기능(예: explain* 기능)에 대한 전체 액세스 권한을 갖고 있으며 아무것도 "변경"할 수 있는 권한이 없습니다. 다른 서비스는 특정 AWS 서비스에 대한 모든 권한을 갖습니다(예: EC2는 허용하지만 RDS는 허용하지 않음).

정말로 "최소"를 원한다면 기본 제공 정책이 원하는 것이 아닙니다. 대신 IAM 정책 생성기를 사용하여 실행해야 하는 항목에 맞는 사용자 지정 정책을 생성하려고 합니다.

귀하의 경우 실행하려면 다음과 같은 정책이 aws ec2 describe-instances필요합니다 .ec2:DescribeInstances

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1432001253000",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}

일반적으로 명령과 이를 실행하는 데 필요한 정책 사이에는 일대일 대응이 있습니다. 대부분의 AWS 서비스(예: EC2 및 RDS)의 경우 필요한 정책은 CLI/API 명령의 이름을 모방합니다.

예를 ec2:DescribeInstances들어 aws ec2 describe-instances.

안타깝게도 Amazon S3의 경우 명령이 약간 다르며 정확히 일대일이 아닙니다.

aws ec2 describe-snapshots허용된 명령에 추가하려면 ec2:DescribeSnapshots위 정책의 "작업" 목록에 추가하기만 하면 됩니다.

관련 정보