AWS 계정의 Amazon OpenSearch Service 리소스를 다른 계정의 사용자와 공유하고 싶습니다.
간략한 설명
사용자가 AWS Identity and Access Management(AWS IAM) 역할을 사용하여 도메인 리소스에 액세스할 수 있도록 허용하려면 다음 단계를 따릅니다.
- 계정 A에서 대상 도메인에 액세스할 수 있는 역할을 생성합니다.
- 계정 B에 계정 A에서 역할을 맡을 수 있는 사용자를 생성합니다.
- 계정 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>/*"
}]
}
역할을 액세스 테스트로 전환
역할을 전환하여 액세스 권한을 테스트하세요.
- CrossAccount-test ARN을 클립보드에 복사합니다.
- AWS Management Console을 사용하여 계정 B에 로그인합니다.
- 사용자 탭의 드롭다운 목록에서 역할 전환을 선택합니다.
- 역할 전환 페이지에서 계정 A의 계정 ID와 역할 이름을 입력합니다. 이 예에서 역할 이름은 CrossAccount-test입니다.
- 역할 전환을 선택합니다.
**참고:**계정 B가 계정 A 환경의 명령줄에서 작동하는 경우 AWS CLI를 사용하여 역할을 전환할 수 있습니다. 자세한 내용을 보려면 역할 전환(AWS CLI)을 참고하세요.
관련 정보
크로스 계정 정책 평가 로직
Amazon OpenSearch Service의 자격 증명 및 액세스 관리