Amazon Web Service (AWS)/EKS

[EKS] EKS 클러스터 구축 용 IAM 그룹 생성

Ssemi-Column 2022. 8. 1. 14:58
728x90

IAM에 대해선 여기 를 눌러 확인


📑IAM 계정 생성하기

  • root 계정으로 IAM 화면 접속

사용자 탭에서 사용자 추가 선택
사용자 이름 작성, 액세스 키 - 프로래밍 방식 액세스 체크, 암호 체크 시 aws 사이트에 로그인 할 수 있습니다.
EKS 관리를 나중에 다른 사람도 할 수 있어 개인 자격이 아닌 자격을 가진 그룹을 만들어 줍니다.
Worker Node로 EC2를 사용하기 위해 AmazonEC2FullAcess 권한 설정
VPC, Subnet 등의 설정을 간편하게 하기 위해 AWSCloudeFormationFullAccess 권한 설정
정책 생성 버튼을 눌러 정책을 만든다.
만들고 정책 이름을 ‘POLICY-EKS-IAM-ACCESS’ 입력

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:AWSServiceName": [
                        "eks.amazonaws.com",
                        "eks-nodegroup.amazonaws.com",
                        "eks-fargate.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "iam:CreateInstanceProfile",
                "iam:DeleteInstanceProfile",
                "iam:GetRole",
                "iam:GetInstanceProfile",
                "iam:TagRole",
                "iam:RemoveRoleFromInstanceProfile",
                "iam:CreateRole",
                "iam:DeleteRole",
                "iam:AttachRolePolicy",
                "iam:PutRolePolicy",
                "iam:ListInstanceProfiles",
                "iam:AddRoleToInstanceProfile",
                "iam:CreateOpenIDConnectProvider",
                "iam:ListInstanceProfilesForRole",
                "iam:PassRole",
                "iam:DetachRolePolicy",
                "iam:ListAttachedRolePolicies",
                "iam:DeleteRolePolicy",
                "iam:GetOpenIDConnectProvider",
                "iam:DeleteOpenIDConnectProvider",
                "iam:GetRolePolicy",
                "iam:ListOpenIDConnectProviderTags",
                "iam:TagOpenIDConnectProvider",
                "iam:UntagOpenIDConnectProvider"
            ],
            "Resource": [
                "arn:aws:iam::038490142770:oidc-provider/*",
                "arn:aws:iam::038490142770:role/eksctl-*",
                "arn:aws:iam::038490142770:role/aws-service-role/eks-nodegroup.amazonaws.com/AWSServiceRoleForAmazonEKSNodegroup",
                "arn:aws:iam::038490142770:role/eksctl-managed-*",
                "arn:aws:iam::038490142770:role/EKS-*",
                "arn:aws:iam::038490142770:instance-profile/eksctl-*"
            ]
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": "iam:GetRole",
            "Resource": "arn:aws:iam::038490142770:role/*"
        }
    ]
}

정책 생성 버튼을 눌러 코드 입력 후 이름을 ‘POLICY-EKS-FULL-ACCESS’ 입력

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "eks:*",
            "Resource": "*"
        },
        {
            "Action": [
                "ssm:GetParameter",
                "ssm:GetParameters"
            ],
            "Resource": [
                "arn:aws:ssm:*:038490142770:parameter/aws/*",
                "arn:aws:ssm:*::parameter/aws/*"
            ],
            "Effect": "Allow"
        },
        {
            "Action": [
                "kms:CreateGrant",
                "kms:DescribeKey"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

정책 필터에서 고객 관리형 체크 후 2가지 모두 추가, 그룹 생성

❗코드 안의 038490142770 은 아이디 생성 후 값을 변경 해야 합니다. (root계정의 고유 번호 같습니다)

체크 후 다음으로
https:// 를 보시면 입력 해야 할 숫자 코드가 있습니다 csv 파일을 다운로드 후 나중에 aws configuration 에서 입력합니다.


💪로그인 방법
(AWS 액세스 유형 선택에서 암호 - AWS 콘솔 액세스도 체크 해야 합니다.)

  1. .csv 파일을 열어보면 Console login link 값을 복사하여 접속
  2. 사용자 이름 (저는 eks-manager) 과 암호를 입력하여 접속
  3.  

📃그 외

  • IAM 권한에는 User에 바로 권한을 줄 수도 있고, 그룹을 만들어 그룹에 권한을 준 뒤 그 그룹에 사용자를 추가 할 수 있다.
  • AWS에서 서비스를 진행 할 때 권한 검증 순서.
    ex) EC2 Service를 사용 할 때
    1. 사용자에게 EC2를 사용 할 수 있는 정책이 있는가 ?
    2. 내가 속한 그룹에 EC2를 사용 할 수 있는 정책이 있는가?
    3. 내가 위임 된 역할에 EC2를 사용할 수 있는 정책이 있는가? (위임은 아직 잘 모르겠습니다)
    순으로 검증을 한다.
728x90
반응형
LIST