Cloud Provider 관리

클라우드와 관련한 다양한 작업을 위해, 클라우드 계정을 등록하고 관리하는 설정 화면 입니다.

  1. 상단 메뉴에서 시스템 > Cloud Provider로 이동합니다.

  2. 작업 선택을 클릭한 다음 생성을 클릭합니다.

  3. 설정명 입력(예: 'AWS Cloud')

  4. Cloud에 대해 "AWS", "AZURE", "NHN", "NAVER", "LINODE", "OCI", "K8S" 중 하나를 선택하십시오.

  5. 아래 'Cloud 종류별 입력방법'을 참고하여 정보를 넣어주십시오.

  6. 생성 클릭

Cloud 종류별 입력방법

AWS의 크리덴셜 정보

  1. Access Key : AWS Console > 오른쪽 상단의 사용자 이메일 선택 > Security credentials(보안 자격 증명) 선택 > 'Access key' 확인 후 입력합니다.

  2. Secret Key : Access key 생성할 때 show(표시) 선택 > 'Secret key' 확인 후 입력합니다.

  • AWS 계정의 IAM관련 활성화 되어야하는 정책

  • 설정 경로 : AWS Console > IAM > Users > 사용자 아이디 > Permissions > Policy name

  • AdministratorAccess : AWS 서비스 및 리소스에 대한 전체 액세스를 제공합니다.

  • AmazonEC2FullAccess : AWS Management Console을 통해 Amazon EC2에 대한 전체 액세스를 제공합니다.

  • AmazonRoute53FullAccess : AWS Management Console을 통해 모든 Amazon Route 53에 대한 전체 액세스를 제공합니다.

  • AmazonS3FullAccess : AWS Management Console을 통해 모든 버킷에 대한 전체 액세스를 제공합니다.

  • AWSMarketplaceFullAccess : AWS Marketplace 소프트웨어를 구독 및 구독 취소할 수 있는 기능을 제공하고, 사용자가 Marketplace '귀하의 소프트웨어' 페이지에서 Marketplace 소프트웨어 인스턴스를 관리할 수 있도록 하며, EC2에 대한 관리 액세스를 제공합니다

  • AWSSupportAccess : 사용자가 AWS 지원 센터에 액세스할 수 있도록 허용합니다.

  • CloudFrontFullAccess : CloudFront 콘솔에 대한 전체 액세스 권한과 AWS Management Console을 통해 Amazon S3 버킷을 나열하는 기능을 제공합니다.

  • CloudWatchEventsFullAccess : Amazon CloudWatch Events에 대한 전체 액세스를 제공합니다.

  • CloudWatchFullAccess : CloudWatch에 대한 전체 액세스를 제공합니다.

  • SecurityAudit : 보안 감사 템플릿은 보안 구성 메타데이터를 읽을 수 있는 액세스 권한을 부여합니다. AWS 계정의 구성을 감사하는 소프트웨어에 유용합니다.

AZURE의 크리덴셜 정보

  1. Client ID : Azure Portal > Azure Active Directory > App registrations(앱 등록) > 'Application ID' 확인 후 입력합니다.

  2. Client Secret : Home > Azure Active Directory > App registrations(앱 등록) > Certificates & secrets(인증서 및 암호) > 'Value' 확인 후 입력합니다.

  3. Subscription ID : Home > Subscriptions > 'Subscription ID' 확인 후 입력합니다.

  4. Tenant ID : Home > Azure Active Directory > App registrations(앱 등록) > 'Directory ID' 확인 후 입력합니다.

  5. Resource Group Name : Home > Subscriptions > Subscription Name > Resource groups > 'Name' 확인 후 입력합니다.

  • Azure 계정의 IAM관련 활성화 되어야하는 정책

  • 설정 경로 : Access control(IAM) > View my access > Current role assignments > Role 항목

  • Contributor : 모든 리소스를 관리할 수 있는 전체 액세스 권한을 부여하지만 Azure RBAC에서 역할을 할당하거나, Azure Blueprints에서 할당을 관리하거나, 이미지 갤러리를 공유할 수는 없습니다.

  • User Access Administrator : Azure 리소스에 대한 사용자 액세스를 관리할 수 있습니다.

  • Managed Application Operator Role: 관리형 애플리케이션 리소스에 대한 작업을 읽고 수행할 수 있습니다.

NHN의 크리덴셜 정보

  1. User Name : NHN Console 로그인 'ID'를 입력한다.

  2. Tenant ID : Compute > Instance > 관리 페이지 > API 엔드포인트 설정 버튼 클릭 > 'Tenant ID' 확인 후 입력한다.

  3. Password : Compute > Instance > 관리 페이지의 API 엔드포인트 설정 버튼 클릭 > 원하는 API 'Password' 지정 후 입력한다.

  • NHN 계정의 IAM관련 설정해야 할 프로젝트의 역할

  • 경로 : 헤당 콘솔 로그인 > 맴버 관리 > IAM 맴버

  • 프로젝트의 역할 설정은 ADMIN으로 한다.

  • 프로젝트 기본 정보, 멤버, 역할, 서비스 등 프로젝트 전체에 대한 Create(생성)/Read(읽기)/Update(갱신)/Delete(삭제)가 가능하다.

LINODE의 크리덴셜 정보

  1. Token : Linode Console > My Profile > API Tokens > Add a Personal Access Token > 'Key' 확인 후 입력한다.

  • Linode 계정 관련 활성화 되어야하는 정책

  • API Token 생성시 생성/삭제 등 모든 권한을 가지도록 설정한다.

  • 좌측 Account > User & Grants > 해당 유저의 User Permissions > Full Account Access로 설정한다.

OCI의 크리덴셜 정보

  1. Tenancy OCID : OCI Console > 오른쪽 상단 MY Profile > Tenancy > OCID를 입력한다.

  2. User OCID : OCI Console > 오른쪽 상단 MY Profile > User Information의 OCID를 입력한다.

  3. Fingerprint : OCI Console > 오른쪽 상단 MY Profile > API Keys의 FingerPrint를 입력한다.

  4. Private Key : OCI Console > 오른쪽 상단 MY Profile > API Keys 생성시 다운로드한 private key를 선택한다.

  5. Region : OCI Console 오른쪽 상단에 있는 리전 정보를 선택한다.

  • OCI 계정의 IAM관련 활성화 되어야하는 정책

  • 경로 : Identity & Security > Policies

  • 테넌시 관리 정책

  • Allow group Administrators to manage all-resources in tenancy

  • Administrators 그룹에게 테넌시 내의 모든 리소스에 대한 관리 권한을 부여하는 정책

  • 사용자 및 그룹 관리 정책

  • Allow group Administrators to manage users in tenancy

  • Administrators 그룹에게 테넌시 내의 사용자 및 그룹을 관리할 권한을 부여하는 정책

  • 정책 관리 정책

  • Allow group Administrators to manage policies in tenancy

  • Administrators 그룹에게 테넌시 내의 정책을 관리할 권한을 부여하는 정책

  • API를 사용하기 위해 API Key를 추가 해줘야한다.

  • 경로 : My Profile > API Keys > Add API key > Generate API Key Pair

  • Download Private Key 클릭하여 oci_api_key.pem 파일을 다운로드한다.

  • 다운로드 파일 경로 : /home/{username}/.oci/oci_api_key.pem

  • 아래 Add 클릭

  • API Key가 정상적으로 추가되면, Fingerprint 값이 표시된다.

K8S(Kubernetes)의 크리덴셜 정보

  1. Server URL : Kubernetes API 서버의 URL을 입력합니다. (예: https://123.1.2.3:6443)

  2. Certificate Data : kubeconfig 파일의 client-certificate-data 값을 복사하여 입력합니다.

  3. Key Data : kubeconfig 파일의 client-key-data 값을 복사하여 입력합니다.

  • Kubernetes 아키텍처 개념

    • Cloud Provider (K8S) = Kubernetes의 Cluster 개념과 동일합니다.

    • Site = Kubernetes의 Namespace 개념과 동일합니다.

    • Namespace는 K8S 내부에서 논리적으로 분리된 네트워크 공간을 의미하며, 각 Namespace에 따라 Site를 관리합니다.

  • Kubernetes 클러스터 접속을 위한 kubeconfig 설정

    • kubeconfig 파일은 일반적으로 ~/.kube/config 경로에 위치합니다.

    • kubectl 명령어를 통해 클러스터에 접속 가능한 경우, 해당 kubeconfig 파일을 사용할 수 있습니다.

  • kubeconfig 파일에서 필요한 정보 추출 방법

    1. Server URL 확인:

      • kubeconfig 파일에서 clusters 섹션의 server 값을 확인합니다.

      • 예시:

        clusters:
        - cluster:
            server: https://123.1.2.3:6443
        
    2. Certificate Data 확인:

      • kubeconfig 파일에서 users 섹션의 client-certificate-data 값을 확인합니다.

      • 이 값은 Base64로 인코딩된 인증서 데이터입니다.

      • 예시:

        users:
        - name: kubernetes-admin
          user:
            client-certificate-data: LS0tLS1CRUdJTi...
        
    3. Key Data 확인:

      • kubeconfig 파일에서 users 섹션의 client-key-data 값을 확인합니다.

      • 이 값은 Base64로 인코딩된 키 데이터입니다.

      • 예시:

        users:
        - name: kubernetes-admin
          user:
            client-key-data: LS0tLS1CRUdJTi...
        
  • 참고사항

    • Server URL은 반드시 https:// 프로토콜을 사용해야 합니다.

    • Certificate Data와 Key Data는 kubeconfig 파일에서 그대로 복사하여 붙여넣기 하면 됩니다.

    • 인증서와 키 데이터는 Base64 인코딩 상태 그대로 입력해야 합니다.

    • K8S 연동 후에는 Namespace 별로 작업을 수행할 수 있습니다.

    • 시스템이 Kubernetes API 서버 (/api/v1/ 엔드포인트)에 접근 가능한지 확인합니다.

  • 수집되는 Kubernetes 리소스 정보

    • 장치 정보 (DEVINFO): Pod, Node (노드 IP 및 인터페이스 정보)

    • 사이트 정보 (SITEINFO):

      • Workloads: Deployment, DaemonSet, ReplicaSet, Job, CronJob

      • Config: ConfigMap, Secret

      • Network: Service, Endpoints, Ingress, NetworkPolicy

      • Security: Role, RoleBinding, ServiceAccount

  • Site 생성 시 참고사항

    • Cloud Provider로 K8S를 선택한 경우:

      • Region과 VPC ID 입력란은 표시되지 않습니다.

      • Namespace 목록에서 선택할 수 있습니다.

      • Network Address는 자동으로 0.0.0.0/0으로 설정됩니다.

      • Site 생성 후 Collector 기능만 활성화됩니다.