AWS re:Post을(를) 사용하면 다음에 동의하게 됩니다. AWS re:Post 이용 약관

IAM 역할 기반 권한을 사용하여 Amazon MWAA에서 DAG 액세스 권한을 얻으려면 어떻게 해야 합니까?

2분 분량
0

AWS Identity and Access Management(IAM) 역할 기반 권한을 사용하여 Amazon Managed Workflows for Apache Airflow(Amazon MWAA)에서 Directed Acyclic Graph(DAG)에 액세스하려고 합니다.

해결 방법

참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI 오류 문제 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.

웹 서버 액세스 권한을 부여하는 사용자 지정 IAM 정책 생성

웹 서버에 IAM 사용자 또는 역할에 대한 액세스 권한을 부여하는 사용자 지정 IAM 정책을 생성하려면 기본 Apache Airflow Public 역할을 사용합니다.

다음 JSON 정책 문서를 사용하여 IAM 정책을 생성합니다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
        "Effect": "Allow",
        "Action": "airflow:CreateWebLoginToken",
        "Resource": [
            "arn:aws:airflow:example-region:example-account-id:role/example-environment/Public"
            ]
        }
    ]
 }

참고: example-region을 AWS 리전으로, example-account-id를 계정 ID로, example-environment를 환경 이름으로 바꾸십시오.

그런 다음 IAM 사용자 또는 역할에 정책을 추가합니다. IAM 역할 또는 사용자가 Apache Airflow에 한 번 이상 로그인해야 합니다.

사용자 지정 Airflow RBAC 역할 생성

다음 단계를 완료하십시오.

  1. 관리자 역할을 사용하여 Apache Airflow UI에 액세스합니다.
  2. 보안 에서 역할 나열을 선택하여 기본 Apache Airflow 역할을 확인합니다.
  3. 역할을 선택한 다음 역할 복사를 선택합니다.
  4. 사용자 테이블에서 역할을 찾은 다음 레코드 편집을 선택합니다.
  5. 편집 페이지에서 다음과 같이 변경합니다.
    역할 이름을 유효한 값으로 업데이트합니다.
    권한에서 DAG에서 읽을 수 있음DAG에서 편집할 수 있음을 제거합니다.
    액세스 권한을 부여하려는 DAG의 읽기 및 쓰기 권한을 추가합니다.
    저장을 선택합니다.

참고: API를 사용하여 새로운 역할 기반 액세스 제어(RBAC) Airflow 역할을 만들 수도 있습니다. 자세한 내용은 GitHub 웹사이트의 amazon-mwaa-examples를 참조하십시오.

Airflow 역할 할당

다음 단계를 완료하십시오.

  1. Amazon MWAA 콘솔을 엽니다.
  2. IAM 역할을 사용하여 get-environment 명령을 실행합니다.
    aws mwaa get-environment --name example-environment | jq '.Environment.WebserverUrl'
    참고: example-environment를 환경 이름으로 바꾸십시오. 명령 출력에 있는 웹 서버 URL을 기록해 둡니다.
  3. 새 브라우저 창을 연 다음 웹 서버 URL을 입력합니다.
    https://example-webserver-url/home
    참고: example-webserver-URL을 웹 서버 URL로 바꾸십시오.
  4. 금지됨 오류가 나타나는지 확인하십시오.
    참고: 필요한 권한이 없는 Airflow Public RBAC 역할로 새 역할을 할당했기 때문에 이 오류가 발생하게 됩니다.
  5. 관리자 역할을 사용하여 사용자 환경의 Apache Airflow UI에 액세스하십시오.
  6. 보안에서 사용자 나열을 선택합니다.
  7. 사용자 테이블에서 Apache Airflow 사용자 또는 역할을 찾은 다음 레코드 편집을 선택합니다. 사용자의 이름은 user/customUser 형식의 IAM 사용자 이름과 일치해야 합니다.
  8. 사용자 편집 페이지의 역할 섹션에서 역할을 추가합니다.
  9. 저장을 선택합니다.

IAM Public 역할은 customUser에게 Apache Airflow UI에 액세스하고 DAG를 볼 수 있는 권한을 부여합니다.

AWS 공식
AWS 공식업데이트됨 2달 전