IAM 역할을 사용하여 AWS 계정 간에 OpenSearch Service 액세스를 위임하려면 어떻게 해야 하나요?

3분 분량
0

AWS 계정의 Amazon OpenSearch Service 리소스를 다른 계정의 사용자와 공유하고 싶습니다.

간략한 설명

사용자가 AWS Identity and Access Management(AWS IAM) 역할을 사용하여 도메인 리소스에 액세스할 수 있도록 허용하려면 다음 단계를 따릅니다.

  1. 계정 A에서 대상 도메인에 액세스할 수 있는 역할을 생성합니다.
  2. 계정 B에 계정 A에서 역할을 맡을 수 있는 사용자를 생성합니다.
  3. 계정 B의 사용자에게 액세스 권한을 부여하여 권한을 바꿔 대상 도메인에 액세스할 수 있도록 합니다.

**참고:**계정 A는 대상 도메인이 있는 계정입니다. 계정 B는 사용자가 중앙 로깅 스테이션에 액세스하는 계정입니다.

해결 방법

참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하는 경우, 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.

역할을 생성하고 도메인을 관리할 권한을 부여합니다.

IAM 역할을 생성하고 사용자가 도메인을 관리할 수 있는 권한을 부여합니다.

이 예에서는 CrossAccount-Test라는 역할이 생성되고 도메인 테스트를 관리할 수 있는 전체 권한을 부여합니다.

{
     "Version": "2012-10-17",
     "Statement": [{
          "Effect": "Allow",
          "Action": [
               "es:*"
          ],
          "Resource": "arn:aws:es:<Region>:<Account A-ID>:domain/test/*"
     }]
}

역할 신뢰 관계 편집

역할 신뢰 관계를 편집합니다. CrossAccount-test를 예로 들어보겠습니다.

**참고:**계정 B-ID사용자 이름을 계정 B의 ID와 사용자 이름으로 바꿉니다.

{
     "Version": "2012-10-17",
     "Statement": [{
          "Effect": "Allow",
          "Principal": {
               "Service": "es.amazonaws.com",
               "AWS": ["arn:aws:iam::<Account B-ID>:root", "arn:aws:iam::<Account B-ID>:user/<User Name>"]
          },
          "Action": "sts:AssumeRole"
     }]
}

계정 B의 사용자에게 액세스 권한 부여

계정 B에서 다음 권한을 가진 사용자 또는 그룹을 생성합니다.

참고:****계정 A-ID를 계정 A의 ID로 바꿉니다.

{
     "Version": "2012-10-17",
     "Statement": {
          "Effect": "Allow",
          "Action": "sts:AssumeRole",
          "Resource": "arn:aws:iam::<Account A-ID>:role/<CrossAccount-test>"
     }
}

이 정책 문을 추가하면 계정 A의 CrossAccount-test 역할에서 AssumeRole API 작업을 수행할 수 있습니다.

역할이 도메인에 액세스할 수 있도록 OpenSearch Service 액세스 정책을 편집합니다.

이 역할이 도메인에 액세스할 수 있도록 허용합니다.

OpenSearch Service 액세스 정책을 편집하고 다음 정보를 입력합니다.

{
     "Version": "2012-10-17",
     "Statement": [{
          "Effect": "Allow",
          "Principal": {
               "AWS": [
                    "arn:aws:iam::<Account A-ID>:role/<CrossAccount-test>"
               ]
          },
          "Action": "es:*",
          "Resource": "arn:aws:es:<region>:<Account A-ID>:domain/<Domain Name>/*"
     }]
}

역할을 액세스 테스트로 전환

역할을 전환하여 액세스 권한을 테스트하세요.

  1. CrossAccount-test ARN을 클립보드에 복사합니다.
  2. AWS Management Console을 사용하여 계정 B에 로그인합니다.
  3. 사용자 탭의 드롭다운 목록에서 역할 전환을 선택합니다.
  4. 역할 전환 페이지에서 계정 A의 계정 ID와 역할 이름을 입력합니다. 이 예에서 역할 이름은 CrossAccount-test입니다.
  5. 역할 전환을 선택합니다.

**참고:**계정 B가 계정 A 환경의 명령줄에서 작동하는 경우 AWS CLI를 사용하여 역할을 전환할 수 있습니다. 자세한 내용을 보려면 역할 전환(AWS CLI)을 참고하세요.

관련 정보

크로스 계정 정책 평가 로직

Amazon OpenSearch Service의 자격 증명 및 액세스 관리

AWS 공식
AWS 공식업데이트됨 일 년 전