AWS Glue ETL에서 신뢰할 수 있는 ID 전파 시작하기 - AWS Glue

AWS Glue ETL에서 신뢰할 수 있는 ID 전파 시작하기

이 섹션에서는 IAM Identity Center와 통합하고 신뢰할 수 있는 ID 전파를 활성화하도록 대화형 세션으로 AWS Glue 애플리케이션을 구성하는 데 도움이 됩니다.

사전 조건

  • 신뢰할 수 있는 ID 전파가 활성화된 AWS Glue 대화형 세션을 생성하려는 AWS 리전의 Identity Center 인스턴스. Identity Center 인스턴스는 AWS 계정의 단일 리전에만 존재할 수 있습니다. 자세한 내용은 Enable IAM Identity CenterProvision the users and groups from your source of identities into IAM Identity Center 섹션을 참조하세요.

  • 대화형 워크로드가 상호 작용하여 데이터에 액세스하는 Lake Formation, Amazon S3 Access Grants 또는 Amazon Redshift 클러스터 등의 다운스트림 서비스에 대해 신뢰할 수 있는 ID 전파를 활성화합니다.

AWS Glue ETL을 IAM Identity Center에 연결하는 데 필요한 권한

IAM 역할 생성

IAM Identity Center 연결을 생성하는 역할에는 다음 인라인 정책에서와 같이 AWS Glue 및 IAM Identity Center에서 애플리케이션 구성을 생성하고 수정할 수 있는 권한이 필요합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:CreateGlueIdentityCenterConfiguration", "sso:CreateApplication", "sso:PutApplicationAssignmentConfiguration", "sso:PutApplicationAuthenticationMethod", "sso:PutApplicationGrant", "sso:PutApplicationAccessScope", "sso:ListInstances" ], "Resource": [ "*" ] } ] }

다음 인라인 정책에는 AWS Glue 및 IAM Identity Center의 통합 속성을 확인, 업데이트 및 삭제하는 데 필요한 특정 권한이 포함되어 있습니다.

다음 인라인 정책을 사용하여 IAM 역할에서 IAM Identity Center와의 AWS Glue 통합을 볼 수 있도록 허용합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetGlueIdentityCenterConfiguration" ], "Resource": [ "*" ] } ] }

다음 인라인 정책을 사용하여 IAM 역할에서 IAM Identity Center와의 AWS Glue 통합을 업데이트할 수 있도록 허용합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:UpdateGlueIdentityCenterConfiguration", "sso:PutApplicationAccessScope", "sso:DeleteApplicationAccessScope" ], "Resource": [ "*" ] } ] }

다음 인라인 정책을 사용하여 IAM 역할이 IAM Identity Center와의 AWS Glue 통합을 삭제할 수 있도록 허용합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:DeleteGlueIdentityCenterConfiguration", "sso:DeleteApplication" ], "Resource": [ "*" ] } ] }

권한 설명

  • glue:CreateGlueIdentityCenterConfiguration - AWS Glue IdC 구성을 생성할 수 있는 권한을 부여합니다.

  • glue:GetGlueIdentityCenterConfiguration - 기존 IdC 구성을 가져올 수 있는 권한을 부여합니다.

  • glue:DeleteGlueIdentityCenterConfiguration - 기존 AWS Glue IdC 구성을 삭제할 수 있는 권한을 부여합니다.

  • glue:UpdateGlueIdentityCenterConfiguration - 기존 AWS Glue IdC 구성을 업데이트할 수 있는 권한을 부여합니다.

  • sso:CreateApplication - AWS Glue 관리형 IAM Identity Center 애플리케이션을 생성할 수 있는 권한을 부여합니다.

  • sso:DescribeApplication - AWS Glue 관리형 IAM Identity Center 애플리케이션을 설명할 수 있는 권한을 부여합니다.

  • sso:DeleteApplication - AWS Glue 관리형 IAM Identity Center 애플리케이션을 삭제할 수 있는 권한을 부여합니다.

  • sso:UpdateApplication - AWS Glue 관리형 IAM Identity Center 애플리케이션을 업데이트할 수 있는 권한을 부여합니다.

  • sso:PutApplicationGrant - IdC 애플리케이션에 token-exchange,, introspectToken, refreshToken 및 RevokeToken 권한을 적용할 수 있는 권한을 부여합니다.

  • sso:PutApplicationAuthenticationMethod - AWS Glue 관리형 IdC 애플리케이션에 AWS Glue 서비스 보안 주체가 IdC 애플리케이션과 상호 작용할 수 있도록 허용하는 authenticationMethod를 배치할 수 있는 권한을 부여합니다.

  • sso:PutApplicationAccessScope - AWS Glue 관리형 IdC 애플리케이션에서 승인된 다운스트림 서비스 범위 목록을 추가 또는 업데이트할 수 있는 권한을 부여합니다.

  • sso:DeleteApplicationAccessScope - AWS Glue 관리형 IdC 애플리케이션에 대해 범위가 제거된 경우 다운스트림 범위를 삭제할 수 있는 권한을 부여합니다.

  • sso:PutApplicationAssignmentConfiguration - IdC 애플리케이션에서 “User-assignment-not-required”를 설정할 수 있는 권한을 부여합니다.

  • sso:ListInstances - 인스턴스를 나열하고 identity-center-configuration 파라미터에서 지정한 IdC InstanceArn을 검증할 수 있는 권한을 부여합니다.

AWS Glue와 IAM Identity Center 연결

AWS Glue가 IAM Identity Center에 연결되면 계정별로 싱글톤 관리형 IdC 애플리케이션이 생성됩니다. 다음 예제에서는 IAM Identity Center에 AWS Glue를 연결하는 방법을 보여줍니다.

aws glue create-glue-identity-center-configuration \ --instance-arn arn:aws:sso:::instance/ssoins-123456789 \ --scopes '["s3:access_grants:read_write", "redshift:connect","lakeformation:query"]'

(대체로 더 많은 다운스트림 서비스로 전파하기 위해) 관리형 애플리케이션의 범위를 업데이트하려면 다음을 사용할 수 있습니다.

aws glue update-glue-identity-center-configuration \ --scopes '["s3:access_grants:read_write", "redshift:connect","lakeformation:query"]'

범위 파라미터는 선택 사항이며 제공되지 않으면 모든 범위가 추가됩니다. 지원되는 값은 s3:access_grants:read_write, redshift:connect, lakeformation:query입니다.

구성의 세부 정보를 가져오려면 다음을 사용할 수 있습니다.

aws glue get-glue-identity-center-configuration

다음 명령을 사용하여 AWS Glue와 IAM Identity Center 간의 연결을 삭제할 수 있습니다.

aws glue delete-glue-identity-center-configuration
참고

AWS Glue는 계정에 서비스가 ID 검증 및 다운스트림 서비스로의 ID 전파에 활용하는 서비스 관리형 Identity Center 애플리케이션을 생성합니다. AWS Glue에서 생성된 관리형 Identity Center 애플리케이션은 계정의 모든 trusted-identity-propagation 세션에서 공유됩니다.

경고: 관리형 Identity Center 애플리케이션의 설정을 수동으로 수정하지 마세요. 모든 변경 사항은 계정에 있는 모든 trusted-identity-propagation 활성화 AWS Glue 대화형 세션에 영향을 미칠 수 있습니다.

신뢰할 수 있는 ID 전파가 활성화된 AWS Glue 대화형 세션 생성

IAM Identity Center에 AWS Glue를 연결한 후 ID 강화 역할 자격 증명을 사용하여 AWS Glue 대화형 세션을 생성할 수 있습니다. 5.0 AWS Glue 세션을 생성할 때 추가 파라미터를 전달할 필요는 없습니다. AWS Glue는 IAM Identity Center와 연결되어 있으므로 AWS Glue에서 ID 강화 역할 자격 증명을 감지하면 명령문의 일부로 호출되는 다운스트림 서비스에 ID 정보를 자동으로 전파합니다. 하지만 세션의 런타임 역할에 아래와 같은 sts:SetContext 권한이 있어야 합니다.

ID 전파를 위한 런타임 역할 권한

AWS Glue 세션은 ID 강화 자격 증명을 활용하여 ID를 다운스트림 AWS 서비스에 전파하므로 런타임 역할의 신뢰 정책에 sts:SetContext가 있어야 다운스트림 서비스(Amazon S3 Access Grants, Lake Formation, Amazon Redshift)로의 ID 전파가 허용됩니다. 런타임 역할을 생성하는 방법에 대한 자세한 내용은 런타임 역할 설정을 참조하세요.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetContext" ] } ] }

추가로 런타임 역할에는 사용자 ID를 사용하여 데이터를 가져오기 위해 작업 실행에서 호출하는 다운스트림 AWS 서비스에 대한 권한이 필요합니다. Amazon S3 Access Grants 및 Lake Formation을 구성하려면 다음 링크를 참조하세요.