

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

# Git 기반 리포지토리에 대한 액세스 및 권한 설정
<a name="emr-studio-enable-git"></a>

EMR Studio는 다음 Git 기반 서비스를 지원합니다.
+ [AWS CodeCommit](https://aws.amazon.com/codecommit)
+ [GitHub](https://github.com)
+ [Bitbucket](https://bitbucket.org/)
+ [GitLab](https://about.gitlab.com/)

EMR Studio 사용자가 Git 리포지토리를 Workspace와 연결할 수 있게 하려면 다음과 같은 액세스 및 권한 요구 사항을 설정합니다. [EMR Studio용으로 비공개로 호스팅된 Git 리포지토리 구성](#emr-studio-private-git-repo)의 지침에 따라 프라이빗 네트워크에서 호스팅하는 Git 기반 리포지토리를 구성할 수도 있습니다.

**클러스터 인터넷 액세스**  
Studio Workspace에 연결된 Amazon EMR on EKS 클러스터 및 Amazon EC2에서 실행되는 Amazon EMR 클러스터 모두 Network Address Translation(NAT) 게이트웨이를 사용하는 프라이빗 서브넷에 있거나 가상 프라이빗 게이트웨이를 통해 인터넷에 액세스할 수 있어야 합니다. 자세한 내용은 [클러스터를 시작하는 경우 Amazon VPC 옵션](emr-clusters-in-a-vpc.md) 단원을 참조하십시오.  
EMR Studio와 함께 사용하는 보안 그룹에는 Workspace가 연결된 EMR 클러스터에서 인터넷으로 트래픽을 라우팅하도록 허용하는 아웃바운드 규칙도 포함되어야 합니다. 자세한 내용은 [EMR Studio 네트워크 트래픽을 제어할 보안 그룹을 정의합니다.](emr-studio-security-groups.md) 단원을 참조하십시오.  
네트워크 인터페이스가 퍼블릭 서브넷에 있는 경우 인터넷 게이트웨이(IGW)를 통해 인터넷과 통신할 수 없습니다.

**에 대한 권한 AWS Secrets Manager**  
EMR Studio 사용자가 AWS Secrets Manager에 보안 암호를 저장하는 Git 리포지토리에 액세스할 수 있으려면 `secretsmanager:GetSecretValue` 작업을 허용하는 권한 정책을 [EMR Studio의 서비스 역할](emr-studio-service-role.md)에 추가합니다.

Git 기반 리포지토리를 Workspaces에 연결하는 방법에 대한 자세한 내용은 [Git 기반 리포지토리를 EMR Studio Workspace에 연결](emr-studio-git-repo.md) 섹션을 참조하세요.

## EMR Studio용으로 비공개로 호스팅된 Git 리포지토리 구성
<a name="emr-studio-private-git-repo"></a>

다음 지침을 사용하여 Amazon EMR Studio에 대해 비공개로 호스팅되는 리포지토리를 구성합니다. DNS 및 Git 서버에 대한 정보가 포함된 구성 파일을 제공합니다. EMR Studio는 이 정보를 사용하여 자체 관리형 리포지토리로 트래픽을 라우팅할 수 있는 Workspace를 구성합니다.

**참고**  
`DnsServerIpV4`를 구성하면 EMR Studio는 DNS 서버를 사용하여 `GitServerDnsName` 및 AWS 엔드포인트를 모두 해결하지만 필수 서비스 기능을 방해할 수 `DnsServerIpV4` 있으므로를 사용하여 AWS 엔드포인트를 해결하지 않는 것이 좋습니다.

**사전 조건**

비공개로 호스팅되는 EMR Studio용 Git 리포지토리를 구성하려면 먼저 EMR Studio가 Studio의 Workspace과 노트북 파일을 백업할 수 있는 Amazon S3 스토리지 위치가 필요합니다. Studio를 생성할 때 지정한 것과 동일한 S3 버킷을 사용합니다.

**EMR Studio에 대해 비공개로 호스팅되는 Git 리포지토리를 하나 이상 구성하는 방법**

1. 다음 템플릿을 사용하여 구성 파일을 생성합니다. 구성에서 지정하려는 각 Git 서버에 대해 다음 값을 포함합니다.
   + **`DnsServerIpV4`** - DNS 서버의 IPv4 주소. `DnsServerIpV4` 및 `GitServerIpV4List`에 대한 값을 모두 제공하는 경우 `DnsServerIpV4`의 값이 우선하며 EMR Studio에서는 `DnsServerIpV4`를 사용하여 `GitServerDnsName`을 해석합니다.
**참고**  
비공개로 호스팅되는 Git 리포지토리를 사용하려면 DNS 서버에서 EMR Studio의 인바운드 액세스를 허용해야 합니다. DNS 서버를 다른 무단 액세스로부터 보호해야 합니다.
   + **`GitServerDnsName`** - Git 서버의 DNS 이름입니다. 예: `"git.example.com"`.
   + **`GitServerIpV4List`** - Git 서버에 속하는 IPv4 주소 목록.

   ```
   [
       {
           "Type": "PrivatelyHostedGitConfig",
           "Value": [
               {
                   "DnsServerIpV4": "<10.24.34.xxx>",
                   "GitServerDnsName": "<enterprise.git.com>",
                   "GitServerIpV4List": [
                       "<xxx.xxx.xxx.xxx>",
                       "<xxx.xxx.xxx.xxx>"
                   ]
               },
               {
                   "DnsServerIpV4": "<10.24.34.xxx>",
                   "GitServerDnsName": "<git.example.com>",
                   "GitServerIpV4List": [
                       "<xxx.xxx.xxx.xxx>",
                       "<xxx.xxx.xxx.xxx>"
                   ]
               }
           ]
       }
   ]
   ```

1. 구성 파일을 `configuration.json`으로 저장합니다.

1. 구성 파일을 Amazon S3 스토리지 위치, `life-cycle-configuration` 폴더에 업로드합니다. 예를 들어, 기본 S3 위치가 `s3://amzn-s3-demo-bucket/workspace`인 경우 구성 파일은 `s3://amzn-s3-demo-bucket/workspace/life-cycle-configuration/configuration.json`에 있습니다.
**중요**  
`life-cycle-configuration` 폴더에 대한 액세스를 Studio 관리자 및 EMR Studio 서비스 역할로 제한하고 무단 액세스로부터 `configuration.json`을 보호해야 합니다. 관련 지침은 [사용자 정책을 사용하여 버킷에 대한 액세스 제어](https://docs.aws.amazon.com/AmazonS3/latest/userguide/walkthrough1.html) 또는 [Amazon S3의 보안 모범 사례](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-best-practices.html)를 참조하세요.

   업로드 지침은 *Amazon Simple Storage Service 사용 설명서*에서 [폴더 생성](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-folders.html#create-folder) 및 [객체 업로드](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html)를 참조하세요. 구성을 기존 Workspace에 적용하려면 구성 파일을 Amazon S3에 업로드한 후 Workspace를 닫고 다시 시작합니다.