AWS 서비스 계정에 대한 액세스 설정

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 소요 시간: 5분
  • 클라우드 검색클라우드 프로비저닝 및 거버넌스에는 Amazon Web Services(AWS) 서비스 계정의 자원에 대한 액세스가 필요합니다. 이러한 액세스를 구성하는 여러 가지 방법에 대해 알아보겠습니다.

    클라우드 검색클라우드 프로비저닝 및 거버넌스MID 서버를 통해 AWS 서비스 계정의 자원에 액세스합니다. 초기 통신을 설정하려면 MID 서버에서 Amazon EC2 인스턴스로 인바운드 트래픽을 승인해야 합니다. 자세한 내용은 AWS 관리 콘솔을 사용하여 보안 그룹 인바운드 규칙 구성을 참조하십시오.

    AWS 자격 증명 유형

    AWS 서비스 계정에 대한 액세스를 구성하는 데 사용할 수 있는 영구 및 임시 AWS 자격 증명이 있습니다.
    영구
    영구 자격 증명은 Now Platform연결 및 자격 증명 모듈에 추가하는 서비스 계정에 대한 실제 AWS 자격 증명입니다. Now Platform에서 자격 증명을 관리하는 데에는 시간이 걸릴 수 있지만 이렇게 하면 임시 자격 증명 사용과 관련된 복잡한 구성을 피할 수 있습니다.
    임시

    임시 자격 증명은 IAM 역할에 대한 AWS STS(AWS 보안 토큰 서비스)에서 생성됩니다. AWS 계정에 대한 IAM 역할을 구성한 후 MID 서버가 해당 임시 자격 증명을 사용하여 AWS 자원에 액세스합니다. 기본 IAM 역할(OrganizationAccountAccessRole)을 사용하거나 사용자 지정 IAM 역할을 만들 수 있습니다.

    대규모 AWS 조직에서 IAM 역할을 맡을 경우 모든 AWS 계정에 대해 여러 영구 자격 증명을 사용하는 경우에 비해 우수한 편리성과 보안을 제공합니다. 임시 자격 증명은 해당 서비스 계정에 대해 지정된 영구 자격 증명이 서비스 계정 [cmdb_ci_cloud_service_account] 테이블에 없는 경우에만 서비스 계정을 대신하여 획득됩니다.

    MID 서버AWS 보안 토큰 서비스 API에서 AssumeRole 작업을 사용하여 구성원 계정 역할을 가정합니다. 이 API에 전달된 매개변수에 따라 해당 역할이 AWS 자원에 액세스할 때 적용되는 추가적인 보안 제한이 결정됩니다.

    기본적으로 MID 서버는 기본 계정의 모든 구성원에게 임시 자격 증명을 부여하는 OrganizationAccountAccessRole을 맡도록 구성되어 있습니다. 구성원 계정에 대한 영구 자격 증명이 없는 경우 이 작업은 자동으로 발생합니다. 이 구성은 구성원 계정의 어떤 자원에도 추가 보안을 적용하거나 이에 대한 액세스를 제한하지 않습니다.

    기본적으로 ServiceNow 인스턴스는 구성원 계정에 대한 임시 자격 증명을 60분 동안 캐시합니다. 이 간격을 통하여 각 검색 중에 새 자격 증명을 생성할 필요 없이 가로 검색 프로세스를 여러 번 실행할 수 있습니다. MID 서버 속성을 사용하면 자격 증명 캐싱을 방지하거나 캐싱 기간을 수정할 수 있습니다.

    IAM 역할 및 권한

    기본 AWS OrganizationAccountAccessRole 역할이 제공하는 보안을 향상하려면 MID Server가 맡을 수 있는 AWS 역할을 사용자 지정하여 구성원 계정의 임시 자격 증명을 받을 수 있습니다. 추가 권한을 구성하여 보안을 향상하고 클라우드 자원을 검색할 때 구성원 계정의 역할이 가정되는 방식을 사용자 지정할 수 있습니다.

    액세스 권한을 부여하는 방법

    AWS 계정에 대한 액세스를 구성하기 위해 다음 용어가 사용됩니다.
    신뢰 계정
    신뢰 계정에는 AWS 영구 자격 증명이 없습니다. 이러한 계정의 IAM 역할에 대한 신뢰 관계를 구성하여 액세스 시에 다른 계정을 사용하도록 합니다.
    신뢰할 수 있는 계정
    신뢰할 수 있는 계정은 신뢰 계정에서 액세스를 위해 사용됩니다. ServiceNow UI는 신뢰할 수 있는 계정을 접근자 계정으로 참조합니다.
    일반적으로 다음과 같은 방법을 사용하여 조직의 AWS 계정에 대한 액세스를 설정합니다.
    • 영구 AWS 자격 증명을 사용하여 AWS 계정에 대한 액세스 구성

      Now Platform에서 실제 AWS 자격 증명을 구성하여 IAM 역할을 생성하고 설정하는 과정의 복잡성을 방지합니다.

    • AWS 자격 증명을 보유한 신뢰할 수 있는 AWS 계정을 기반으로 임시 자격 증명을 사용하여 액세스 구성

      액세스 시에 신뢰할 수 있는 계정을 사용하도록 AWS 계정을 구성합니다. 이 설정은 개별(독립), 관리 또는 구성원 등 모든 유형의 계정에 대해 작동합니다. Now Platform에서 AWS 자격 증명을 사용하여 신뢰할 수 있는 계정을 구성하는 경우 신뢰 계정에 속한 IAM 역할을 구성하여 신뢰할 수 있는 계정의 사용자를 신뢰할 수 있습니다. 이렇게 하면 하나의 AWS 자격 증명 집합만 사용하여 여러 AWS 계정에 대한 액세스를 제공할 수 있습니다.

      그림 1. AWS 자격 증명을 보유한 신뢰할 수 있는 계정을 사용하도록 모든 AWS 계정 설정

      액세스를 위해 신뢰할 수 있는 AWS 계정의 사용자를 신뢰하도록 AWS 신뢰 계정의 IAM 역할 설정
    • AWS 자격 증명이 없는 신뢰할 수 있는 AWS 계정을 기반으로 임시 자격 증명을 사용하여 액세스 구성

      AWS 자격 증명이 없는 계정을 사용하려면(자격 증명 없는 계정), 먼저 해당 계정에 IAM 역할과 권한을 구성하여 신뢰 서비스 계정에 액세스해야 합니다. 그런 다음 신뢰 계정의 IAM 역할을 설정하여 신뢰할 수 있는 계정의 IAM 역할에 대한 액세스 권한을 부여합니다.

      그림 2. AWS 자격 증명이 없는 신뢰할 수 있는 계정을 사용하도록 모든 AWS 계정 설정

      액세스를 위해 신뢰할 수 있는 AWS 계정의 IAM 역할을 신뢰하도록 AWS 신뢰 계정의 IAM 역할 설정
    • AWS 신뢰 구성원 계정을 위한 임시 자격 증명을 사용하여 액세스 구성

      AWS 조직이 있는 경우 해당 조직의 관리 계정을 사용하여 액세스할 수 있도록 AWS 구성원 계정을 구성할 수 있습니다. 이 경우 신뢰 대상인 구성원 계정의 IAM 역할을 구성하여 조직의 관리 계정의 IAM 역할을 신뢰할 수 있습니다. 관리 계정이 AWS 자격 증명이 있는 계정을 사용하는지 또는 자격 증명이 없는 계정을 사용하는지는 중요하지 않습니다.

      그림 3. 조직의 관리 계정을 사용하여 액세스하도록 구성원 계정 구성

      해당 관리 계정을 신뢰하도록 신뢰 구성원 계정의 IAM 역할 설정

    클라우드 검색에서 사용할 자격 증명을 결정하는 방법

    클라우드 검색는 다음 논리를 사용하여 구성원 계정에서 AWS 클라우드 자원을 검색하는 데 사용할 자격 증명을 결정합니다.
    1. 클라우드 서비스 계정 [cmdb_ci_cloud_service_account] 테이블의 구성원 계정에 영구 자격 증명이 정의되어 있는 경우 검색에서 해당 자격 증명을 사용합니다. 클라우드 서비스 계정 [cmdb_ci_cloud_service_account] 테이블에는 관리 또는 구성원과 같은 서비스 계정 유형 및 자격 증명에 대한 정보가 포함되어 있습니다.
    2. 구성원 계정에 영구 자격 증명이 정의되지 않은 경우 검색는 클라우드 서비스 계정 AWS 조직 가정 역할 매개변수 [cloud_service_account_aws_org_assume_role_params] 테이블에서 구성원 계정과 연결된 특수 매개변수를 확인합니다. 매개변수가 해당 테이블에 있는 경우 검색는 AWS 보안 토큰 서비스 API AssumeRole 작업에서 역할과 해당 매개변수를 지정하여 취득한 임시 자격 증명을 사용합니다.
    3. 특수 매개변수가 [cloud_service_account_aws_org_assume_role_params] 테이블의 구성원 계정과 연결되어 있지 않은 경우 검색에서는 해당 테이블에서 관리 계정과 연결된 매개변수를 확인합니다. 관리 계정의 역할을 정의하는 매개변수가 존재하는 경우 검색는 해당 역할에서 제공하는 임시 자격 증명을 사용합니다.
    4. 특수 매개변수가 관리 또는 구성원 계정에 대한 [cloud_service_account_aws_org_assume_role_params] 테이블에 없는 경우에는 검색에서 OrganizationAccountAccessRole 역할에 정의된 기본값을 사용합니다.