튜토리얼: DAG의 하위 집합에 대한 Amazon MWAA 사용자 액세스 제한 - Amazon Managed Workflows for Apache Airflow

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

튜토리얼: DAG의 하위 집합에 대한 Amazon MWAA 사용자 액세스 제한

Amazon MWAA는 IAM 보안 주체를 하나 이상의 Apache Airflow 기본 역할에 매핑하여 환경에 대한 액세스를 관리합니다. 다음 튜토리얼에서는 개별 Amazon MWAA 사용자가 특정 DAG 또는 DAG 세트만 보고 상호 작용하도록 제한하는 방법을 보여줍니다.

참고

IAM 역할을 가정할 수 있는 한, 이 튜토리얼의 단계는 페더레이션 액세스를 사용하여 완료할 수 있습니다.

사전 조건

이 자습서를 완료하려면 다음이 필요합니다.

  • 여러 DAG가 있는 Amazon MWAA 환경

  • AdministratorAccess 권한이 있는 IAM 보안 주체 Admin와(과) DAG 액세스를 제한할 수 있는 보안 주체인 IAM 사용자 MWAAUser. 관리자 역할에 대한 자세한 내용은 IAM 사용 설명서관리자 직무 기능을 참조하십시오.

    참고

    권한 정책을 IAM 사용자에게 직접 연결하지 마십시오. 사용자가 Amazon MWAA 리소스에 임시로 액세스할 수 있도록 위임할 수 있는 IAM 역할을 설정하시기 바랍니다.

  • AWS Command Line Interface버전 2가 설치되었습니다.

1단계: 기본 Public Apache Airflow 역할을 사용하여 Amazon MWAA 웹 서버에 IAM 보안 주체에 대한 액세스 권한을 제공합니다.

AWS Management Console을(를) 사용하여 권한을 부여하려면
  1. AWS 계정에 Admin 역할로 로그인하여 IAM 콘솔을 엽니다.

  2. 왼쪽의 탐색 창에서 사용자를 선택한 후 사용자 테이블에서 Amazon MWAA IAM 사용자를 선택합니다.

  3. 사용자 세부 정보 페이지의 요약에서 권한 탭을 선택한 다음 권한 정책을 선택하여 카드를 확장하고 권한 추가를 선택합니다.

  4. 권한 설정 섹션에서 기존 정책 직접 연결을 선택한 후 정책 생성을 선택하여 사용자 지정 권한 정책을 생성하고 연결합니다.

  5. 정책 생성 페이지에서 JSON을 선택한 후, 정책 편집기에 다음 JSON 권한 정책을 복사하여 붙여넣습니다. 이 정책은 기본 Public Apache Airflow 역할을 가진 사용자에게 웹 서버 액세스 권한을 부여합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "airflow:CreateWebLoginToken", "Resource": [ "arn:aws:airflow:YOUR_REGION:YOUR_ACCOUNT_ID:role/YOUR_ENVIRONMENT_NAME/Public" ] } ] }

2단계: 새 Apache Airflow 사용자 지정 역할 생성

Apache Airflow UI를 사용하여 새 역할을 만들려면
  1. 관리자 IAM 역할을 사용하여 Amazon MWAA 콘솔을 열고 사용자 환경의 Apache Airflow UI를 시작합니다.

  2. 상단의 탐색 창에서 보안에 마우스오버하여 드롭다운 목록을 연 다음 역할 목록을 선택하여 기본 Apache Airflow 역할을 확인합니다.

  3. 역할 목록에서 사용자를 선택한 다음 페이지 상단에서 작업을 선택하여 드롭다운을 엽니다. 역할 복사를 선택하고 확인을 클릭합니다

    참고

    Ops 또는 Viewer 역할을 복사하여 각각 액세스 권한을 늘리거나 줄일 수 있습니다.

  4. 테이블에서 생성한 새 역할을 찾아 레코드 편집을 선택합니다.

  5. 역할 전환 페이지에서 다음을 수행합니다.

    • 이름의 텍스트 필드에 역할의 새 이름을 입력합니다. 예: Restricted.

    • 권한 목록에서 can read on DAGscan edit on DAGs를 제거한 다음, 액세스를 제공하려는 DAG 세트에 대한 읽기 및 쓰기 권한을 추가합니다. 예를 들어 DAG example_dag.py의 경우 can read on DAG:example_dagcan edit on DAG:example_dag을(를) 추가합니다.

    저장을 선택합니다. 이제 Amazon MWAA 환경에서 사용할 수 있는 DAG의 하위 집합에 대한 액세스를 제한하는 새 역할이 생겼을 것입니다. 이제 모든 기존 Apache Airflow 사용자에게 이 역할을 할당할 수 있습니다.

3단계: 생성한 역할을 Amazon MWAA 사용자에게 할당합니다

새 역할을 할당하려면
  1. MWAAUser에 대한 액세스 보안 인증을 사용하여 다음 CLI 명령을 실행하고 환경의 웹 서버 URL을 검색합니다.

    $ aws mwaa get-environment --name YOUR_ENVIRONMENT_NAME | jq '.Environment.WebserverUrl'

    성공하면 다음과 같은 결과가 출력됩니다.

    "ab1b2345-678a-90a1-a2aa-34a567a8a901.c13.us-west-2.airflow.amazonaws.com"
  2. MWAAUser이(가) AWS Management Console에 로그인한 상태에서 새 브라우저 창을 열고 다음 URL에 액세스합니다. Webserver-URL를 자신의 정보로 대체합니다.

    https://<Webserver-URL>/home

    성공하면 MWAAUser에게 아직 Apache Airflow UI에 대한 액세스 권한이 부여되지 않았으므로 Forbidden 오류 페이지가 표시됩니다.

  3. Admin이(가) AWS Management Console에 로그인한 상태에서 Amazon MWAA 콘솔을 다시 열고 사용자 환경의 Apache Airflow UI를 시작합니다.

  4. UI 대시보드에서 보안 드롭다운을 확장하고 이번에는 사용자 목록을 선택합니다.

  5. 사용자 테이블에서 새 Apache Airflow 사용자를 찾아 레코드 편집을 선택합니다. 사용자의 이름은 user/mwaa-user의 패턴으로 IAM 사용자 이름과 일치합니다.

  6. 사용자 편집 페이지의 역할 섹션에서 생성한 새 사용자 지정 역할을 추가한 다음 저장을 선택합니다.

    참고

    필드는 필수이지만 스페이스를 입력해도 충분합니다.

    IAM Public 보안 주체는 MWAAUser이(가) Apache Airflow UI에 액세스할 수 있는 권한을 부여하는 반면, 새 역할은 DAG를 보는 데 필요한 추가 권한을 제공합니다.

중요

Apache Airflow UI를 사용하여 추가한 IAM에서 승인하지 않은 5가지 기본 역할(예:Admin)은 다음 사용자 로그인 시 제거됩니다.

다음 단계

  • Amazon MWAA 환경 액세스 관리에 대해 자세히 알아보고 환경 사용자를 위해 사용할 수 있는 샘플 JSON IAM 정책을 보려면 Amazon MWAA 환경에 액세스 단원을 참조하십시오.

  • 액세스 제어 (Apache Airflow 설명서) — Apache Airflow 설명서 웹사이트에서 기본 Apache Airflow 역할에 대해 자세히 알아봅니다.