Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use identical key for the credentials of all CSPs #1183

Open
seokho-son opened this issue May 2, 2024 · 5 comments
Open

Use identical key for the credentials of all CSPs #1183

seokho-son opened this issue May 2, 2024 · 5 comments
Assignees
Labels
enhancement New feature or request

Comments

@seokho-son
Copy link
Member

seokho-son commented May 2, 2024

What would you like to be enhanced

현재 CSP credential 등록을 위해서, Key 명칭을 별도로 지정하여 validation 하고 있음.

각 키를 CSP 콘솔/UI/API 상에서 사용하는 key와 가급적 동일한 스트링으로 처리하도록 개선 제안.

  • CSP가 대소문자를 구분하지 않는 경우에는, SP에서도 대소문자 구분 없이 validation
  • 대소문자 구분도 가급적 CSP 방식 준수 (관련 없는 경우 모두 소문자)

예를 들면,
[AWS] ClientId / ClientSecret -->
(CSP 키) aws_access_key_id / aws_secret_access_key

[GCP] PrivateKey / ProjectID / ClientEmail -->
(CSP 키)
project_id=""
client_id=""
client_email=""
private_key_id=""
private_key=""

[Azure] (CSP 키)
clientId=""
clientSecret=""
tenantId=""
subscriptionId=""

Why is this needed

현재 각 CSP별로 조금씩 다른 credential key 명칭을 사용 중.

현재는 CSP가 직접 사용하는 Key 명칭과 차이가 있어서, 사용자 경험을 저하시키는 경향이 있음. (credential 생성 및 등록시, CSP 콘솔/UI 상의 명칭과 다르므로 사용자는 이를 파악하기가 어려움)

CB-TB에서는 credentials를 역으로 기존 명칭으로 변경하여 TF와 같은 외부 솔루션에서도 활용할 수 있는 크레덴셜 생성 도구를 일부 지원하고 있으나, 다소 소모적인 작업. (exportCredentials.sh)

@seokho-son seokho-son added the enhancement New feature or request label May 2, 2024
@seokho-son
Copy link
Member Author

CB-SP에 반영되는 경우, CB-TB에도 이어서 반영 예정. (cc @yunkon-kim)

@powerkimhub powerkimhub self-assigned this May 3, 2024
@powerkimhub
Copy link
Member

@seokho-son

  • 좋은 제안입니다.

[Plan]

  • (1) cloudos_meta.yaml: credential_csp_format Key 추가
  • (2) Server:
    • (a) input 값 validation을 credential | credential_csp_format 로 체크
    • (b) input 값 format이 credential_csp_format 형식일 경우, credential 형식으로 Key 값 변경
  • (3) 이후 기존 Key로 동일하게 처리

@powerkimhub
Copy link
Member

@MZC-CSC @dev4unet @dogfootman @raccoon-mh @mzc-ljhoon @dev-hippo-an @SungWoongz @CliffSynn @inno-cloudbarista @ish-hcc @ @innodreamer



[Driver 반영 현황]

  • AWS
  • Azure
  • GCP
  • Alibaba
  • Tencent
  • IBM VPC
  • OpenStack
  • NHN
  • NCP Classic
  • NCP VPC
  • KT Classic
  • KT VPC

@seokho-son
Copy link
Member Author

@powerkimhub 새로운 형태의 변수를 추가하시기 보다는, 이번 기회에 기존 키 명칭을 변경해버리면 어떨까요? 향후에도 다른 CSP 드라이버가 추가되거나 변경될 때도 CSP포멧만 준용하는 것이 (코드 유지보수 차원에서) 유리할 것 같습니다.

credential: aws_access_key_id / aws_secret_access_key

@powerkimhub
Copy link
Member

@seokho-son

  • 사용자는 적용 후엔 CSP 포맷만 입력하시면 됩니다.
  • 향후, 신규 CSP 추가 시는 credential에 CSP 포맷 한가지 형태만 유지할 예정입니다.
  • 기존 포맷은 deprecated 전에 기존 사용자들을 위한 하위 호환성 제공(backward compatibility) 측면입니다.
  • 또한, CSP포맷 전격 교체는 작업 범위가 전체 드라이버이어서 일단 후순위로 별도 스케줄링이 필요한 작업입니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants