클라우드 샌드박스용 Docker 자격 증명 추가하기
클라우드 샌드박스용 Docker 자격 증명 추가하기
Docker 접근이 필요한 워크로드를 위해 Docker 자격 증명을 저장해 봐요. 이것은 애플리케이션 로그인과는 별개예요. 애플리케이션의 액세스 토큰이 SDK 호출을 인증하고, 이 교환은 샌드박스를 위한 자격 증명을 저장해요.
출처: 문서
본문
인증된 클라이언트와 같은 정체성에 대한 신선한 Docker OpenID Connect ID 토큰이 필요해요. 예시는 그 ID 토큰을 받아요. 그것을 발급하는 로그인 자체는 수행하지 않아요.
토큰 교환
ID 토큰을 정체성 컬렉션(identity collection)에 전달하세요. 서비스는 결과 자격 증명을 secrets/docker로 저장해 이전 값을 교체해요. 자격 증명 자료는 반환하지 않아요.
ID 토큰을 일회용으로 취급하세요. 응답을 잃으면 다시 시도하기 전에 새 ID 토큰을 얻으세요. 어느 토큰도 로그에 남기지 마세요.
다른 워크로드 자격 증명에는 저장된 시크릿을 사용하세요. SDK를 호출해야 하는 자동화 클라이언트에는 이 교환 대신 PAT 인증을 사용하세요.
핵심 코드:
return client.identity.exchangeDockerCredential({ idToken });
완전한 TypeScript 예시: credentials/exchange.ts
import type { Sandboxes } from '@docker/sandboxes';
export async function exchangeDockerCredential(
client: Sandboxes,
idToken: string,
) {
return client.identity.exchangeDockerCredential({ idToken });
}