SPN(서비스 사용자 이름) 접근 방식을 사용하여 MICROSOFT Entra를 AWS S3와 통합할 수 있습니다. 이 통합을 통해 Microsoft Entra 자격 증명을 사용하여 S3 버킷에 원활하고 안전하게 액세스할 수 있으므로 ID 관리를 간소화하고 보안을 강화할 수 있습니다.
주요 이점
통합 ID 관리: Microsoft Entra 자격 증명을 사용하여 Amazon S3에 액세스합니다. AWS IAM 사용자를 관리할 필요가 없습니다.
OIDC 기반 인증: AWS IAM 역할로 보안 인증에 OpenID Connect를 사용합니다.
감사 지원: AWS CloudTrail을 통한 전체 추적 기능을 통해 역할 가정을 모니터링합니다.
원활한 통합: 최소한의 구성 변경으로 기존 AWS 배포와 통합하도록 설계되었습니다.
건축학
Entra-AWS 통합은 OIDC(OpenID Connect)를 사용하여 AWS 리소스에 대한 안전하고 임시적인 액세스를 가능하게 하는 페더레이션 ID 모델을 기반으로 합니다. 아키텍처는 신뢰를 설정하고, 사용자를 인증하고, Microsoft Fabric에서 Amazon S3에 대한 액세스 권한을 부여하기 위해 함께 작동하는 다음 세 가지 주요 구성 요소로 구성됩니다.
- Microsoft Entra에 등록된 SPN(서비스 주체) 입니다.
- AWS와 Microsoft Entra 간의 OIDC 트러스트 관계 입니다.
- AWS STS(보안 토큰 서비스)의 임시 자격 증명을 사용하는 패브릭 연결 입니다.
다음 섹션에서는 서비스 주체 기반 통합을 사용하여 Amazon S3에 안전하게 액세스할 수 있도록 Microsoft Entra ID, AWS IAM 및 Microsoft Fabric을 구성합니다. 이 설정은 통합이 작동하는 데 필요한 신뢰 관계 및 연결 세부 정보를 설정합니다.
비고
S3 호환 원본에는 키 또는 비밀 인증만 지원됩니다. Entra 기반 OAuth, 서비스 주체 및 RoleArn은 지원되지 않습니다.
Microsoft Entra ID 구성
1단계: Microsoft Entra 애플리케이션 등록
Azure Portal에 로그인하고 Microsoft Entra ID로 이동합니다.
왼쪽 메뉴에서 앱 등록 관리 > 새 등록을 확장합니다 > . 다음 세부 정보를 입력합니다.
이름: S3AccessServicePrincipal과 같은 애플리케이션의 이름을 입력합니다.
리디렉션 URL: 비워 두거나 필요한 경우로
https://localhost
설정합니다.등록을 선택하여 애플리케이션을 등록합니다.
비고
보안 강화를 위해 AWS별 고유한 서비스 주체 역할을 사용하는 것이 좋습니다.
2단계: 클라이언트 암호 만들기
위에서 만든 Microsoft Entra 애플리케이션을 엽니다.
왼쪽 메뉴에서 인증서 및 비밀 새 클라이언트 암호 > 관리를 > 확장하여 새 비밀을 추가합니다.
생성된 비밀 및 만료 날짜를 적어둡니다.
3단계: 애플리케이션 세부 정보 가져오기
클라이언트 암호: 이전 단계에서 이 값 가져오기
* 테넌트 ID: Azure Portal에서 Microsoft Entra ID 로 이동하고 개요 탭을 열고 테넌트 ID 값을 가져옵니다.
Azure Portal에서 Microsoft Entra ID 로 이동합니다. 왼쪽 탐색 창에서 관리 탭을 확장하고 엔터프라이즈 애플리케이션을 엽니다. 이전 단계에서 만든 애플리케이션을 검색합니다. 다음 값 복사
애플리케이션 ID( 클라이언트 ID라고도 함)
오브젝트 ID
비고
이러한 값은 Microsoft Entra ID > Enterprise 애플리케이션 탭에 있으며 Microsoft Entra ID > 애플리케이션 등록 탭의 값이 아닙니다.
다음 스크린샷은 애플리케이션/클라이언트 ID 및 개체 ID를 가져오는 방법을 보여줍니다.
AWS IAM 구성
1단계: OIDC ID 공급자 만들기
AWS IAM 포털에 로그인합니다.
AWS IAM → ID 공급자 → 공급자 추가로 이동합니다.
공급자 유형을Open ID Connect로 선택
공급자 URL:
https://sts.windows.net/<your-tenant-id>/
관객:
https://analysis.windows.net/powerbi/connector/AmazonS3
2단계: IAM 역할 만들기
AWS IAM → 역할 → 역할 만들기로 이동합니다.
신뢰할 수 있는 엔터티 형식: 웹 ID
ID 공급자: 1단계에서 만든 Open ID Connect 공급자 선택
관객:
https://analysis.windows.net/powerbi/connector/AmazonS3
역할에 적절한 S3 액세스 정책 할당
트러스트 정책에 서비스 주체가 조건 중 하나로 있는지 확인합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::<aws-account>:oidc-provider/sts.windows.net/<tenant-id>/" // (1) }, "Action": "sts:AssumeRoleWithWebIdentity",// (2) "Condition": { "StringEquals": { "sts.windows.net/<tenant-id>/:sub": "<Object ID of the SPN that will assume this role>", // (3) "sts.windows.net/<tenant-id>/:aud": "https://analysis.windows.net/powerbi/connector/AmazonS3" // (4) } } } ] }
키 필드에 대한 설명:
Principal.Federated – 외부 ID 공급자(Microsoft Entra ID의 OIDC)를 지정합니다.
작업 – 웹 신원 토큰을 사용하여 역할을 수행할 권한을 부여합니다.
조건 > :sub – Microsoft Entra ID 서비스가 역할을 맡을 수 있는 제한입니다. 3단계: 애플리케이션 세부 정보 가져오기에서 적어 두는 개체 ID입니다.
조건 > :aud – 요청이 Power BI의 S3 커넥터에서 전송되었는지 확인합니다.
Fabric에서 S3 연결 만들기
Microsoft Fabric OneLake의 바로 가기 만들기 인터페이스를 사용하여 S3 바로 가기 만들기 문서에 설명된 대로 바로 가기를 만듭니 다. 동일한 단계를 수행하지만 RoleARN 을 IAM 역할의 ARN(Amazon Resource Name)으로 설정하고 인증 종류를서비스 주체 로 설정하고 다음 세부 정보를 입력합니다.
테넌트 ID: Microsoft Entra 애플리케이션의 테넌트 ID
서비스 주체 클라이언트 ID: 이전 단계에서 가져온 애플리케이션 ID입니다.
서비스 주체 키: Microsoft Entra 애플리케이션의 클라이언트 암호
보안 권장 사항
격리 및 감사 가능성을 높이기 위해 AWS 역할당 별도의 서비스 주체 사용
비밀을 주기적으로 회전하고 안전하게 저장
STS 관련 작업에 대한 AWS CloudTrail 모니터링
현재 제한 사항
이 기능은 현재 서비스 주체 기반 접근 방식만 지원합니다. OAuth 및 작업 영역 ID는 아직 지원되지 않습니다.
온-프레미스 데이터 게이트웨이를 통해 방화벽 뒤의 S3 버킷에 대한 액세스는 현재 서비스 주체 또는 OAuth에서 지원되지 않습니다.