AWS IAM Identity Center

AWS IAM Identity Center (AWS SSO) 연동

이 문서는 Identity Center(AWS SSO)를 사용한 working Single Sign-On 구성을 안내합니다. SAML(Dex) 방식으로 연동하며, argocd-cm과 argocd-rbac-cm 구성을 다룹니다.

출처: 문서

본문

Identity Center (AWS SSO)

참고: 이 방법을 사용하고 있나요? 기여해 주세요! 이 IdP를 사용하고 있다면 이 문서에 기여하는 것을 고려해 주세요.

Identity Center(AWS SSO)를 사용한 working Single Sign-On 구성은 다음 방법으로 달성되었습니다:

  • SAML (with Dex)

SAML (with Dex)

  • Identity Center에서 새 SAML 애플리케이션을 만들고 인증서를 다운로드하세요.
  • Identity Center에서 애플리케이션을 만든 후 Assign Users를 클릭하고, 이 애플리케이션에 접근 권한을 부여할 사용자 또는 사용자 그룹을 선택하세요.
  • argocd-cm ConfigMap의 data.url 필드에 Argo CD URL을 복사하세요.
data:
  url: https://argocd.example.com
  • 속성 매핑(Attribute mappings)을 구성하세요.

그룹 속성 매핑은 공식적으로 지원되지 않습니다!: 그룹 속성 매핑은 AWS 문서에서 공식적으로 지원되지 않지만, 현재 이 우회 방법은 작동합니다.

  • argocd-cm 구성에 사용할 CA 인증서를 다운로드하세요.
  • caData 필드를 사용한다면 -----BEGIN CERTIFICATE----------END CERTIFICATE----- 스탠자를 포함한 전체 인증서를 base64로 인코딩해야 합니다(예: base64 my_cert.pem).
  • ca 필드를 사용하고 CA 인증서를 별도의 시크릿으로 저장한다면, argocd-dex-server 디플로이먼트의 dex 컨테이너에 시크릿을 마운트해야 합니다.
  • argocd-cm을 편집하고 data.dex.config 섹션을 구성하세요:
dex.config: |
  logger:
    level: debug
    format: json
  connectors:
  - type: saml
    id: aws
    name: "AWS IAM Identity Center"
    config:
      # You need value of Identity Center APP SAML (IAM Identity Center sign-in URL)
      ssoURL: https://portal.sso.yourregion.amazonaws.com/saml/assertion/id
      # You need `caData` _OR_ `ca`, but not both.
      caData: <CA cert (IAM Identity Center Certificate of Identity Center APP SAML) passed through base64 encoding>
      # Path to mount the secret to the dex container
      entityIssuer: https://external.path.to.argocd.io/api/dex/callback
      redirectURI: https://external.path.to.argocd.io/api/dex/callback
      usernameAttr: email
      emailAttr: email
      groupsAttr: groups

Identity Center 그룹을 Argo CD 역할에 연결

Argo CD는 Group Attribute Statements 정규식과 일치하는 Identity Center 그룹의 사용자 멤버십을 인식합니다.

위 예시에서 argocd-* 정규식을 사용하여 Argo CD가 argocd-admins라는 그룹을 인식하게 합니다.

argocd-rbac-cm ConfigMap을 수정해 ArgoCD-administrators Identity Center 그룹을 내장 Argo CD admin 역할에 연결하세요:

apiVersion: v1
kind: ConfigMap
metadata:
  name: argocd-rbac-cm
data:
  policy.csv: |
    g, <Identity Center Group ID>, role:admin
  scopes: '[groups, email]'

더 알아보기 (Learn more)