연결된 레지스트리에 대한 액세스 이해
연결된 레지스트리를 액세스하고 관리하기 위해 현재 ACR 토큰 기반 인증만 지원됩니다. 다음 이미지에 표시된 것처럼 각 연결된 레지스트리에서 두 가지 유형의 토큰을 사용합니다.
- 클라이언트 토큰 - 온-프레미스 클라이언트에서 연결된 레지스트리를 인증하고 이미지 및 아티팩트를 보내거나 받는 데 사용하는 하나 이상의 토큰입니다.
- 동기화 토큰 - 각 연결된 레지스트리가 부모에 액세스하고 콘텐츠를 동기화하는 데 사용하는 토큰입니다.
Important
각 연결된 레지스트리에 대한 토큰 암호를 안전한 위치에 저장합니다. 토큰 암호를 만든 후에는 토큰 암호를 검색할 수 없습니다. 언제든지 토큰 암호를 다시 생성할 수 있습니다.
클라이언트 토큰
연결된 레지스트리에 대한 클라이언트 액세스를 관리하려면 하나 이상의 리포지토리에서 작업 범위가 지정된 토큰을 만듭니다. 토큰을 만든 후에는 az acr connected-registry update 명령을 사용하여 토큰을 수락하도록 연결된 레지스트리를 구성합니다. 그러면 클라이언트가 토큰 자격 증명을 사용하여 연결된 레지스트리 엔드포인트에 액세스할 수 있습니다. 예를 들어 Docker CLI 명령을 사용하여 연결된 레지스트리에서 이미지를 풀 또는 푸시할 수 있습니다.
클라이언트 토큰 작업을 구성하는 옵션은 연결된 레지스트리가 푸시 작업과 풀 작업을 모두 허용하는지 또는 풀 전용 미러로 작동하는지 여부에 따라 달라집니다.
- 기본 ReadWrite 모드의 연결된 레지스트리를 사용하면 풀 및 푸시 작업을 모두 수행할 수 있으므로 해당 레지스트리의 리포지토리 콘텐츠에 대한 읽기 및 쓰기 동작을 모두 허용하는 토큰을 만들 수 있습니다.
- ReadOnly 모드의 연결된 레지스트리의 경우 클라이언트 토큰은 리포지토리 콘텐츠에 대한 읽기 동작만 허용할 수 있습니다.
클라이언트 토큰 관리
az acr token 및 az acr scope-map 명령을 사용하여 필요에 따라 클라이언트 토큰, 암호 또는 범위 맵을 업데이트합니다. 클라이언트 토큰 업데이트는 토큰을 수락하는 연결된 레지스트리에 자동으로 전파됩니다.
동기화 토큰
각 연결된 레지스트리는 동기화 토큰을 사용하여 직계 부모로 인증합니다. 부모는 다른 연결된 레지스트리 또는 클라우드 레지스트리일 수 있습니다. 연결된 레지스트리는 콘텐츠를 부모와 동기화하거나 다른 업데이트를 수행할 때 자동으로 이 토큰을 사용합니다.
- 동기화 토큰 및 암호는 연결된 레지스트리 리소스를 만들 때 자동으로 생성됩니다. [az acr connected-registry get-settings][/cli/azure/acr/connected-registry#az-acr-connected-registry-get-settings] 명령을 실행하여 암호를 다시 생성합니다.
- 연결된 레지스트리를 온-프레미스에 배포하는 데 사용되는 구성에 동기화 토큰 자격 증명을 포함합니다.
- 기본적으로 동기화 토큰에는 선택한 리포지토리를 해당 부모와 동기화할 수 있는 권한이 부여됩니다. 연결된 레지스트리 리소스를 만들 때 동기화할 기존 동기화 토큰 또는 하나 이상의 리포지토리를 제공해야 합니다.
- 연결된 레지스트리의 부모와 통신하는 데 사용되는 게이트웨이에서 동기화 메시지를 읽고 쓸 수 있는 권한도 갖습니다. 이러한 메시지는 동기화 일정을 제어하고 연결된 레지스트리와 해당 부모 간의 기타 업데이트를 관리합니다.
동기화 토큰 관리
az acr token 및 az acr scope-map 명령을 사용하여 필요에 따라 동기화 토큰, 암호 또는 범위 맵을 업데이트합니다. 동기화 토큰 업데이트는 연결된 레지스트리에 자동으로 전파됩니다. 동기화 토큰을 업데이트할 때 암호를 회전하는 표준 방법을 따릅니다.
참고 항목
동기화 토큰은 토큰과 연결되어 있는 연결된 레지스트리를 삭제할 때까지 삭제할 수 없습니다. 동기화 토큰의 상태를 disabled
로 설정하여 연결된 레지스트리를 비활성화할 수 있습니다.
레지스트리 엔드포인트
연결된 레지스트리에 대한 토큰 자격 증명은 특정 레지스트리 엔드포인트에 액세스하도록 범위가 지정됩니다.
클라이언트 토큰은 연결된 레지스트리의 엔드포인트에 액세스합니다. 연결된 레지스트리 엔드포인트는 로그인 서버 URI로, 일반적으로 이를 호스트하는 서버 또는 디바이스의 IP 주소입니다.
동기화 토큰은 부모 레지스트리의 엔드포인트에 액세스합니다. 이 엔드포인트는 다른 연결된 레지스트리 엔드포인트이거나 클라우드 레지스트리 자체입니다. 클라우드 레지스트리에 액세스하도록 범위가 지정된 경우 동기화 토큰은 다음과 같은 두 개의 레지스트리 엔드포인트에 연결되어야 합니다.
- 정규화된 로그인 서버 이름, 예:
contoso.azurecr.io
. 이 엔드포인트는 인증에 사용됩니다. - 클라우드 레지스트리의 정규화된 지역 데이터 엔드포인트, 예:
contoso.westus2.data.azurecr.io
. 이 엔드포인트는 동기화를 위해 연결된 레지스트리와 메시지를 교환하는 데 사용됩니다.
- 정규화된 로그인 서버 이름, 예:
다음 단계
다음 문서를 계속 진행하여 연결된 레지스트리를 활용할 수 있는 특정 시나리오에 대해 알아봅니다.