2.5. IAM 정책 및 AWS 인증


기본적으로 설치 프로그램은 클러스터가 작동하는 데 필요한 권한으로 부트스트랩, 컨트롤 플레인 및 컴퓨팅 인스턴스에 대한 인스턴스 프로필을 생성합니다.

참고

단일 노드 OpenShift 클러스터에서 설치 후 작업으로 Amazon Elastic Container Registry(ECR)에서 이미지를 가져오려면 클러스터의 컨트롤 플레인 역할과 연결된 IAM 역할에 AmazonEC2ContainerRegistryReadOnly 정책을 추가해야 합니다.

그러나 고유한 IAM 역할을 생성하고 설치 프로세스의 일부로 지정할 수 있습니다. 클러스터를 배포하거나 설치 후 클러스터를 관리하려면 자체 역할을 지정해야 할 수 있습니다. 예를 들면 다음과 같습니다.

  • 조직의 보안 정책을 사용하려면 더 제한적인 권한 세트를 사용하여 클러스터를 설치해야 합니다.
  • 설치 후 클러스터는 추가 서비스에 액세스해야 하는 Operator를 사용하여 구성됩니다.

고유한 IAM 역할을 지정하도록 선택하는 경우 다음 단계를 수행할 수 있습니다.

  • 기본 정책으로 시작하고 필요에 따라 조정합니다. 자세한 내용은 " IAM 인스턴스 프로필에 대한 기본 권한"을 참조하십시오.
  • 클러스터의 활동을 기반으로 하는 정책 템플릿을 생성하려면 "AWS IAM Analyzer를 사용하여 정책 템플릿 생성"을 참조하십시오.

2.5.1. IAM 인스턴스 프로필에 대한 기본 권한

기본적으로 설치 프로그램은 클러스터가 작동하는 데 필요한 권한이 있는 부트스트랩, 컨트롤 플레인 및 작업자 인스턴스에 대한 IAM 인스턴스 프로필을 생성합니다.

다음 목록은 컨트롤 플레인 및 컴퓨팅 시스템에 대한 기본 권한을 지정합니다.

예 2.16. 컨트롤 플레인 인스턴스 프로필에 대한 기본 IAM 역할 권한

  • ec2:AttachVolume
  • ec2:AuthorizeSecurityGroupIngress
  • ec2:CreateSecurityGroup
  • ec2:CreateTags
  • ec2:CreateVolume
  • ec2:DeleteSecurityGroup
  • ec2:DeleteVolume
  • ec2:Describe*
  • ec2:DetachVolume
  • ec2:ModifyInstanceAttribute
  • ec2:ModifyVolume
  • ec2:RevokeSecurityGroupIngress
  • elasticloadbalancing:AddTags
  • elasticloadbalancing:AttachLoadBalancerToSubnets
  • elasticloadbalancing:ApplySecurityGroupsToLoadBalancer
  • elasticloadbalancing:CreateListener
  • elasticloadbalancing:CreateLoadBalancer
  • elasticloadbalancing:CreateLoadBalancerPolicy
  • elasticloadbalancing:CreateLoadBalancerListeners
  • elasticloadbalancing:CreateTargetGroup
  • elasticloadbalancing:ConfigureHealthCheck
  • elasticloadbalancing:DeleteListener
  • elasticloadbalancing:DeleteLoadBalancer
  • elasticloadbalancing:DeleteLoadBalancerListeners
  • elasticloadbalancing:DeleteTargetGroup
  • elasticloadbalancing:DeregisterInstancesFromLoadBalancer
  • elasticloadbalancing:DeregisterTargets
  • elasticloadbalancing:Describe*
  • elasticloadbalancing:DetachLoadBalancerFromSubnets
  • elasticloadbalancing:ModifyListener
  • elasticloadbalancing:ModifyLoadBalancerAttributes
  • elasticloadbalancing:ModifyTargetGroup
  • elasticloadbalancing:ModifyTargetGroupAttributes
  • elasticloadbalancing:RegisterInstancesWithLoadBalancer
  • elasticloadbalancing:RegisterTargets
  • elasticloadbalancing:SetLoadBalancerPoliciesForBackendServer
  • elasticloadbalancing:SetLoadBalancerPoliciesOfListener
  • kms:DescribeKey

예 2.17. 컴퓨팅 인스턴스 프로파일의 기본 IAM 역할 권한

  • ec2:DescribeInstances
  • ec2:DescribeRegions

2.5.2. 기존 IAM 역할 지정

설치 프로그램에서 기본 권한으로 IAM 인스턴스 프로필을 생성하는 대신 install-config.yaml 파일을 사용하여 컨트롤 플레인 및 컴퓨팅 인스턴스에 대한 기존 IAM 역할을 지정할 수 있습니다.

사전 요구 사항

  • 기존 install-config.yaml 파일이 있습니다.

프로세스

  1. 컴퓨팅 시스템의 기존 역할로 compute.platform.aws.iamRole 을 업데이트합니다.

    컴퓨팅 인스턴스의 IAM 역할이 있는 샘플 install-config.yaml 파일

    compute:
    - hyperthreading: Enabled
      name: worker
      platform:
        aws:
          iamRole: ExampleRole

  2. 컨트롤 플레인 시스템에 대한 기존 역할로 controlPlane.platform.aws.iamRole 을 업데이트합니다.

    컨트롤 플레인 인스턴스에 대한 IAM 역할이 있는 샘플 install-config.yaml 파일

    controlPlane:
      hyperthreading: Enabled
      name: master
      platform:
        aws:
          iamRole: ExampleRole

  3. 파일을 저장하고 OpenShift Container Platform 클러스터를 설치할 때 참조합니다.
참고

클러스터를 설치한 후 IAM 계정을 변경하거나 업데이트하려면 Cryostat 4 AWS cloud-credentials 액세스 키가 만료된 (Red Hat 지식베이스)를 참조하십시오.

추가 리소스

2.5.3. AWS IAM Analyzer를 사용하여 정책 템플릿 생성

컨트롤 플레인 및 컴퓨팅 인스턴스 프로파일에 필요한 최소한의 권한 세트는 일상적인 작업을 위해 클러스터를 구성하는 방법에 따라 다릅니다.

클러스터 인스턴스에 필요한 권한을 결정하는 한 가지 방법은 AWS Identity and Access Management Access Analyzer(IAM Access Analyzer)를 사용하여 정책 템플릿을 생성하는 것입니다.

  • 정책 템플릿에는 지정된 기간 동안 클러스터가 사용한 권한이 포함되어 있습니다.
  • 그런 다음 템플릿을 사용하여 세분화된 권한으로 정책을 생성할 수 있습니다.

프로세스

전체 프로세스는 다음과 같습니다.

  1. CloudTrail이 활성화되어 있는지 확인합니다. CloudTrail은 정책 템플릿을 생성하는 데 필요한 API 호출을 포함하여 AWS 계정의 모든 작업 및 이벤트를 기록합니다. 자세한 내용은 CloudTrail 사용에 대한 AWS 설명서를 참조하십시오.
  2. 컨트롤 플레인 인스턴스의 인스턴스 프로필과 컴퓨팅 인스턴스의 인스턴스 프로필을 생성합니다. 각 역할에 PowerUserAccess와 같은 허용 정책을 할당해야 합니다. 자세한 내용은 인스턴스 프로필 역할을 생성하기 위한 AWS 설명서를 참조하십시오.
  3. 개발 환경에 클러스터를 설치하고 필요에 따라 구성합니다. 클러스터가 프로덕션 환경에서 호스팅할 모든 애플리케이션을 배포해야 합니다.
  4. 클러스터를 철저하게 테스트합니다. 클러스터를 테스트하면 필요한 모든 API 호출이 기록됩니다.
  5. IAM 액세스 분석기를 사용하여 각 인스턴스 프로필에 대한 정책 템플릿을 생성합니다. 자세한 내용은 CloudTrail 로그를 기반으로 정책을 생성하는 AWS 설명서를 참조하십시오.
  6. 각 인스턴스 프로필에 세분화된 정책을 생성하고 추가합니다.
  7. 각 인스턴스 프로필에서 허용 정책을 제거합니다.
  8. 새 정책과 함께 기존 인스턴스 프로필을 사용하여 프로덕션 클러스터를 배포합니다.
참고

IAM 조건 을 정책에 추가하여 조직 보안 요구 사항을 보다 제한적으로 준수할 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.