AWS 리소스에 접근하는 방식

날아올라돼지야·2024년 10월 13일
0

클라우드 마스터

목록 보기
3/17

AWS 리소스에 접근하는 방식은 여러 가지가 있으며, 각 방식은 사용 목적편리성, 보안 수준에 따라 다릅니다. 여기서는 AWS 리소스에 접근하는 주요 방식을 우선순위별로 나열하고, 각 방식에 대한 설명을 덧붙이겠습니다. 우선순위는 보안성, 자동화 가능성, 사용 편리성 등을 기준으로 정했습니다.

1. AWS IAM 역할(Role)

  • 설명: IAM 역할(Role)은 자격 증명을 직접 관리할 필요 없이 AWS 서비스나 애플리케이션에 임시 권한을 부여하는 방식입니다. 역할은 AWS 서비스 간 안전한 통신을 위해 많이 사용됩니다. EC2, Lambda, ECS 같은 AWS 서비스에서 다른 서비스(S3, RDS 등)에 접근할 때 주로 사용됩니다.

  • 사용 사례: EC2 인스턴스가 S3에 접근하거나 Lambda 함수가 DynamoDB에 데이터를 기록할 때 IAM 역할을 부여해 작업을 수행합니다.

  • 보안성: 가장 안전한 방식 중 하나입니다. 자격 증명을 코드에 노출시키지 않고, 임시 권한을 사용하므로 자격 증명이 유출될 가능성이 낮습니다.

  • 자동화: AWS 서비스 간의 자동화에 매우 적합하며, 자격 증명을 관리할 필요가 없습니다.

    우선순위: 1위 - 보안성이 매우 높고, AWS 서비스 간 통신에 필수적입니다.


2. AWS IAM 사용자 + Access Key/Secret Access Key

  • 설명: AWS CLI, SDK, API에서 프로그래밍 방식으로 접근할 때 Access Key와 Secret Access Key를 사용하여 인증합니다. AWS 리소스에 접근하는 프로그래밍 방식의 표준 인증 방식입니다.

  • 사용 사례: 개발자가 AWS CLI나 SDK(Python, Java, JavaScript 등)를 사용해 AWS 리소스에 접근하거나 자동화 스크립트에서 AWS 리소스를 제어할 때 사용됩니다.

  • 보안성: 중간 정도의 보안성을 갖습니다. 자격 증명을 노출하지 않도록 신경 써야 하며, 특히 Secret Access Key는 절대로 노출되면 안 됩니다. 필요한 최소 권한만 부여하는 최소 권한 원칙을 따르는 것이 중요합니다.

  • 자동화: 스크립트나 애플리케이션에서 AWS 리소스에 접근하는 데 많이 사용되며, 자동화된 작업에서 자주 쓰입니다.

    우선순위: 2위 - 자동화에 매우 적합하지만, 자격 증명 관리가 필요하므로 IAM 역할보다 보안성은 낮습니다.


3. AWS SSO(Single Sign-On)

  • 설명: AWS SSO는 조직에서 사용자 계정을 중앙에서 관리하고, 각 사용자에게 AWS 리소스에 대한 접근 권한을 부여하는 방식입니다. 조직의 ID 관리 시스템(예: Active Directory)과 통합하여 AWS 계정에 쉽고 안전하게 접근할 수 있게 해줍니다.

  • 사용 사례: 여러 AWS 계정을 사용하는 큰 조직에서 사용자 권한을 중앙에서 통합 관리하는 데 사용됩니다. 사용자들은 한 번 로그인으로 여러 AWS 계정에 접근할 수 있습니다.

  • 보안성: 높은 보안성을 제공합니다. 자격 증명을 중앙에서 관리하며, 접근 권한을 세분화하고 MFA(다중 인증)를 강제할 수 있습니다.

  • 자동화: 사용자 관리는 효율적이지만, 자동화된 작업에서는 잘 사용되지 않습니다.

    우선순위: 3위 - 사용자 관리에 중앙 집중식 보안을 제공하지만, 자동화에는 덜 적합합니다.


4. AWS Management Console (웹 콘솔)

  • 설명: AWS 웹 콘솔그래픽 사용자 인터페이스(GUI)를 통해 AWS 리소스를 관리하는 방식입니다. 사용자 이름과 비밀번호로 로그인하고, 리소스를 생성하거나 설정을 변경할 수 있습니다.

  • 사용 사례: 관리자나 개발자가 수동으로 리소스를 설정하거나, 간단한 작업을 수행할 때 사용됩니다. AWS 리소스의 상태를 시각적으로 확인하고 설정을 변경하는 데 매우 유용합니다.

  • 보안성: 기본적으로 사용자 이름과 비밀번호로 로그인하지만, 보안을 강화하기 위해 MFA(다중 인증)를 추가할 수 있습니다.

  • 자동화: 자동화 작업에는 적합하지 않으며, 수동 작업이 필요합니다.

    우선순위: 4위 - 편리성은 좋지만, 자동화와 대규모 작업에는 적합하지 않으며, 보안 관리에서 IAM 역할이나 CLI보다는 낮은 우선순위입니다.


5. AWS Systems Manager (SSM) - Session Manager

  • 설명: Session Manager는 EC2 인스턴스에 SSH나 RDP 접속 없이 웹 기반 터미널을 통해 인스턴스에 접근할 수 있게 해줍니다. 이를 통해 자격 증명을 사용하지 않고도 인스턴스를 제어할 수 있습니다.

  • 사용 사례: SSH 키나 자격 증명을 사용하지 않고, EC2 인스턴스를 원격으로 제어할 때 사용됩니다.

  • 보안성: 매우 높은 보안성을 제공하며, SSH 키 관리가 필요 없고, AWS IAM 역할을 사용해 인스턴스 접근을 제어할 수 있습니다.

  • 자동화: 인스턴스에 대한 원격 명령 실행을 자동화할 수 있습니다.

    우선순위: 5위 - 특정 시나리오에서 매우 유용하며, 보안성이 우수하지만, 일반적인 AWS 리소스 관리와는 다소 다른 역할을 합니다.


6. SSH/RDP 직접 접속

  • 설명: SSH(Unix/Linux)RDP(Windows)EC2 인스턴스에 직접 접속하여, 서버 내부에서 작업을 수행하는 방식입니다. 일반적으로 SSH 키비밀번호를 사용해 접속합니다.

  • 사용 사례: EC2 인스턴스에 접근해 직접 파일을 관리하거나 애플리케이션을 배포할 때 사용됩니다.

  • 보안성: SSH 키나 비밀번호로 접근하므로, 보안성을 강화하기 위해 SSH 키 관리가 필요합니다. SSH 포트(22)를 열어두는 것은 보안 위협이 될 수 있습니다.

  • 자동화: 자동화에는 적합하지 않으며, 수동 작업이 대부분입니다.

    우선순위: 6위 - 인스턴스 내부 작업에 적합하지만, AWS 리소스 전체를 관리하는 데는 비효율적이고 보안성도 상대적으로 낮습니다.


우선순위 정리:

  1. IAM 역할(Role) - 보안성 최상, 자동화 가능.
  2. IAM 사용자 + Access Key/Secret Access Key - 자동화에 매우 유용하지만, 자격 증명 관리 필요.
  3. AWS SSO - 사용자 관리에 적합, 보안성 우수.
  4. AWS Management Console (웹 콘솔) - 편리한 GUI, 수동 작업에 적합.
  5. AWS Systems Manager (SSM) - Session Manager - SSH 없이 EC2 인스턴스 제어, 보안성 우수.
  6. SSH/RDP 직접 접속 - 인스턴스 내부 작업에 적합, 보안성 및 자동화에 한계.

요약:

AWS 리소스에 접근하는 방식은 보안성자동화 가능성에 따라 우선순위가 다릅니다. IAM 역할은 가장 안전하고 효율적인 방법이며, CLI나 SDK를 통한 Access Key/Secret Access Key 방식도 자동화된 작업에서 자주 사용됩니다. 웹 콘솔SSH 접속은 수동 작업에 적합하지만, 자동화와 보안성에서는 상대적으로 우선순위가 낮습니다.

profile
무슨 생각하며 사니

0개의 댓글