STS 클라이언트 관리
보안 토큰 서비스(STS) 클라이언트를 사용하여 토큰을 교환합니다. IBM® Verify에서 STS 클라이언트를 생성하고 관리할 때는 OAuth 토큰 교환에 대한 사양을 따르십시오. OAuth 를 보호 대상 리소스로 지정하여 타사 앱을 인증할 수 있습니다.
시작하기 전에
- 관리자 계정으로 관리 콘솔에 IBM Verify 로그인하십시오.
- STS 클라이언트에서 사용할 사용자 정의 토큰 유형을 생성합니다. ‘사용자 정의 토큰 유형 관리’를 참조하십시오.
이 태스크에 대한 정보
토큰 교환을 위해 STS 클라이언트를 구성합니다. 클라이언트는 토큰 확장 그랜트 유형 메커니즘을 사용하여 인증 서버의 토큰 엔드포인트에 보안 토큰을 요청합니다. OAuth 를 ID 공급자로 사용하여 Verify 구축된 외부 애플리케이션은 2.0 액세스 토큰 및 다양한 인증 방법으로 인증된 REST API 요청을 수락할 수 있습니다. 자세한 내용은 https://www.rfc-editor.org/rfc/rfc8693.html 을 참조하십시오.
프로시저
- ‘응용 프로그램 ’ > ‘STS 클라이언트’를 선택합니다.
- ‘STS 클라이언트 추가’를 선택합니다.
- 일반적인 정보를 제공해 주십시오.
- 선택 사항: 클라이언트 ID를 입력하세요.클라이언트 ID를 입력하지 않으면, 설정을 완료할 때 ID가 생성됩니다.
- STS 클라이언트에 고유한 이름을 지정하십시오.
- ‘사용’ 확인란을 선택한 상태로 유지하십시오.이 STS 클라이언트를 활성화하거나 비활성화할 수 있습니다.
- 액세스 토큰을 SSO 세션으로 교환할 수 있도록 허용합니다. ‘기본값’을 선택한 경우, SSO 세션을 위해 액세스 토큰을 교환할 수 있는지 여부는 OIDC 애플리케이션의 일반 설정에 따라 결정됩니다.
- 선택 사항: 클라이언트 ID를 입력하세요.
- ‘다음’을 선택하세요.
- 클라이언트 인증 방식을 선택하십시오.이 설정은 클라이언트의 인증 방식을 결정합니다.
- '기본', '클라이언트 시크릿(기본)', '클라이언트 시크릿(POST)' 방식의 경우, 설정을 완료하면 클라이언트 시크릿이 자동으로 생성됩니다.
- ‘개인 키 JWT’ 방식을 사용하려면 클라이언트 어설션 서명 알고리즘과 허용된 서명 검증 키를 선택해야 합니다. 또한 ‘클라이언트 어설션 검증(Validate client assertion)’ JTI 를 선택하여 클라이언트 어설션을 검증할 수 있습니다.
- 상호 인증( TLS ) 방식을 사용하려면 ‘ TLS ’ 클라이언트 인증 속성과 ‘ TLS ’ 클라이언트 인증 속성 값을 지정해야 합니다.
- 기존 STS 클라이언트를 편집하는 경우 다음 클라이언트 시크릿 옵션을 사용할 수 있습니다:
- 클라이언트 시크릿을 보려면
을(를) 선택하십시오.
- 클라이언트 시크릿을 숨기려면
을(를) 선택하십시오.
- 를 선택하여
클라이언트 ID 또는 시크릿을 클립보드에 복사하세요.
- 회전된 클라이언트 시크릿을 보려면 을 선택하세요
.
- 목록에서 하나 이상의 회전된 클라이언트 시크릿을 선택한 다음, ‘삭제’를 클릭하여 삭제하십시오.
- 새 클라이언트 시크릿을 생성하려면
을(를) 선택하십시오. 클라이언트 시크릿이 손상되었다고 생각되면 이 옵션을 사용하십시오. 클라이언트 시크릿을
재생성하는 경우에는 애플리케이션의 모든 OAuth 클라이언트에서 클라이언트 시크릿을 업데이트해야 합니다.- '현재 시크릿 유지 ' 확인란을 선택하면 현재 클라이언트 시크릿이 순환되는 클라이언트 시크릿 목록에 추가됩니다.
- ‘현재 시크릿 유지’ 확인란이 선택되어 있다면, 클라이언트 시크릿 설명과 만료 시간(브라우저 현지 시간 기준)을 선택하십시오. 만료 시간을 선택하지 않으면, 애플리케이션 설정에서 지정한 테넌트의 ‘교체된 비밀 키 유효 기간’이 적용됩니다.
- 갱신된 클라이언트 시크릿은 해시 처리되어 더 이상 일반 텍스트로 복구할 수 없지만, 지정된 만료일까지는 계속 사용할 수 있습니다.
- 확인 후 클라이언트 시크릿은 즉시 갱신됩니다. 새로운 클라이언트 시크릿이 화면에 표시됩니다.
- 클라이언트 시크릿을 보려면
참고: 기본 클라이언트 인증 방식은default.기본값으로 두면 클라이언트 시크릿 기본 및 POST가 모두 허용됩니다. 이 클라이언트가 공용 클라이언트인 경우 클라이언트 시크릿 기본 및 POST는 허용되지 않습니다. 신뢰 당사자가 이를 지원하는 경우 개인용 키 JWT 또는 상호 TLS를 구성으로 사용하십시오. 상호 TLS 클라이언트 인증에 대한 자세한 정보는 OpenID Connect 상호 TLS 클라이언트 인증 및 인증서 바인드 액세스 토큰의 내용을 참조하십시오.
- ‘다음’을 선택하세요.
- 주체 토큰 및 요청 토큰에 허용될 토큰 유형을 선택하십시오.
- 선택 사항: 액터 토큰에 허용될 토큰 유형을 선택합니다.
클라이언트에서 사용할 사용자 지정 토큰 유형을 생성하려면 ‘사용자 지정 토큰 유형 관리’를 참조하십시오.표 1. 토큰 거래소 필드 설명 주제 토큰 토큰 요청의 대상이 되는 당사자의 신원을 나타내는 대상 토큰의 유형입니다. 액터 토큰 발행된 토큰의 접근 권한이 위임되는 당사자의 신원을 나타내는 액터 토큰의 토큰 유형입니다. 요청된 토큰 토큰 교환의 일환으로 생성을 요청할 수 있는 토큰의 종류.
트랜잭션 토큰 : 일회용 보안 토큰으로, 특정 트랜잭션, 작업, 리소스 또는 요청 세부 정보에 대한 컨텍스트 정보를 포함하며, 해당 특정 작업에 대해 세분화된 권한 부여를 제공합니다. 토큰을 선택하면 ‘트랜잭션 컨텍스트’ 타일이 표시되며, 여기서 CELx 표현식을 사용하여 컨텍스트를 설정할 수 있습니다. 자세한 내용은 ‘트랜잭션 토큰’을 참조하십시오.참고: 트랜잭션 토큰은 요청을 통해 사용할 수 있는 기능입니다. VDEV-186514: AI 에이전트 보안. 이 기능을 요청하려면 IBM 영업 담당자나 IBM 담당자에게 문의하여 해당 기능 활성화에 대한 의사를 밝혀 주시기 바랍니다. 권한이 있다면 기능 번호를 기재하여 지원 티켓을 생성할 수도 있습니다. IBM Verify 체험판 구독자는 지원 티켓을 생성할 수 없습니다.클라이언트 그룹 OpenID Connect 클라이언트 그룹 목록. 이 클라이언트에서 생성된 토큰은 동일한 그룹 내 토큰 교환 시 주체 토큰으로 사용할 수 있습니다. 이 목록이 비어 있는 경우, 모든 클라이언트는 토큰 교환 시 이 클라이언트에서 생성된 토큰을 주체 토큰으로 사용할 수 있습니다. 액터 토큰 필요 토큰 교환 요청 시 액터 토큰을 필수로 포함해야 합니다. 이 조치는 위임 시나리오를 적용하고 대리 시나리오를 허용하지 않습니다. 트랜잭션 컨텍스트 '트랜잭션 컨텍스트' 필드는 '요청된 토큰'이 '트랜잭션 토큰'으로 설정된 경우에만 표시됩니다. 이 필드는 다른 토큰 유형에는 적용되지 않습니다. 자세한 내용은 ‘트랜잭션 토큰’을 참조하십시오. - ‘다음’을 선택하세요.
- 요청된 토큰 설정을 선택하거나 지정하십시오.
표 2. 요청된 토큰 설정 필드 설명 액세스 토큰 형식 액세스 토큰의 형식을 지정합니다. 다음 옵션을 사용할 수 있습니다. 기본값
JWT
액세스 토큰 만료 시간(초) 액세스 토큰의 만료 기간(초)을 설정합니다.
액세스 토큰 만기를 설정하여 공격자가 클라이언트 애플리케이션이 손상되었을 때 도난된 토큰으로 자원에 액세스할 수 있는 시간을 제한하십시오.
양의 정수만 허용됩니다.
기본값은 3600초입니다. 허용되는 최소값은 1초이고 최대값은 2147483647초입니다.
서명 알고리즘 ID 토큰에 서명하는 데Verify 사용되는 알고리즘. 알고리즘은 신뢰 당사자가 등록한 것과 일치해야Verify 합니다. 다음 해시 알고리즘 중 하나를 선택하여 서명을 검증하십시오. - RS256
- RS384
- RS512
- PS256
- PS384
- PS512
- ES256
- ES384
- ES512
참고:- ES256 서명 알고리즘이 선택된 경우 인증서는 P-256을 사용하는 ECDSA여야 합니다.
- ES384 서명 알고리즘이 선택되면 인증서는 P-384를 사용하는 ECDSA여야 합니다.
- ES512 서명 알고리즘이 선택되면 인증서는 P-521을 사용하는 ECDSA여야 합니다.
서명 인증서 ID 토큰에 서명하는 데 사용되는 인증서를 선택하십시오. 기본 선택 항목은 [보안 > 인증서] 에서 설정한 기본값을 의미합니다.
.암호화 알고리즘 콘텐츠 암호화 키(CEK)를 암호화하거나 그 값을 산출하는 데 사용되는 암호화 알고리즘. 다음 알고리즘이 지원됩니다. - 없음
- RSA-OAEP
- RSA-OAEP-256
컨텐츠 알고리즘 평문을 인증 암호화를 통해 암호문과 인증 태그로 변환하는 데 사용되는 콘텐츠 암호화 알고리즘. 다음은 지원되는 알고리즘입니다. - 없음
- A128GCM
- A192GCM
- A256GCM
암호화 인증 값을 입력하거나 테넌트에 이미 업로드한 서명자 인증서 목록에서 선택하십시오. 참고: 서명자 인증서 업로드 방법에 대한 안내는 ‘인증서 관리’를 참조하십시오.JWKS URI 토큰 발급자 또는 신뢰 당사자가 JSON Web Keys Set(JWKS) 형식으로 공개 키를 게시하는 URI입니다. 이 URI는 JWT 서명 검증 또는 암호화에 사용됩니다. 시스템이 연결할 수 없거나 응답이 없는 JWKS URI를 거부할 수 있습니다. JWKS 크기가 너무 큰 경우 시스템이 JWKS URI를 거부할 수도 있습니다. 토큰 발급자가 JWKS URI를 공개하지 않는 경우, 공개 키를 ‘ X509 ’ 인증서 형식으로 시스템에 추가할 수 있습니다. “인증서 관리 ”를 참조하십시오. 공용 인증서와 연관된 '친숙한 이름' 은 JWT의 키 ID(키즈) 머리글 값입니다. 예를 들면 다음과 같습니다. https://{yourDomain}/.well-known/jwks.json - ‘다음’을 선택하세요.
- ‘소유권 증명’ 설정의 확인란을 선택하십시오.
표 3. 소유권 증명 설정 필드 설명 인증서 바인딩 액세스 토큰 생성된 토큰이 인증서에 바인딩되어 있는지 여부를 나타냅니다. 인증서 기반 액세스 토큰에 대한 자세한 내용은 OpenID Connect 상호 TLS 클라이언트 인증 및 인증서 기반 액세스 토큰을 참조하세요. DPoP-bound 액세스 토큰을 적용합니다. 토큰 요청 시 ` DPoP ` 헤더가 필수인지 여부를 나타냅니다. DPoP JWT의 JTI 유효성 검증 DPoP 의 JWT에 포함된 JTI가 일회용으로 유효한지 여부를 나타냅니다. DPoP JWT에 대한 서명 알고리즘 DPoP JWT에 대한 예상 서명 알고리즘.
다음 알고리즘 중에서 선택하십시오.
- RS256
- RS384
- RS512
- PS256
- PS384
- PS512
- ES256
- ES384
- ES512
- ‘다음’을 선택하세요.
- 각 엔드포인트에 대한 요청 및 응답 맵핑을 구성하십시오.
- 인트로스펙트 매핑을 구성하여 인트로스펙트 엔드포인트에서 반환되는 속성을 추가하거나 수정합니다.
- 엔드포인트에서
userinfo반환되고 ID 토큰에 포함되는 속성을 추가하거나 수정하려면 사용자 정보 및 ID 토큰 속성 매핑을 구성하십시오.
- ‘다음’을 선택하세요.
- 사용자 정의 범위 제한사용자 지정 범위는 지원되는 OIDC / OAuth 권한 부여 흐름에서 OIDC / OAuth 클라이언트가 요청할 수 있습니다. 기본 설정인 사용자 정의 범위 제한이 사용으로 설정되면, 플로우 끝에서 클라이언트에 부여되는 범위는 이 섹션에서 지정되는 범위로 제한됩니다. '사용자 지정 범위 제한'을 사용할 수 없는 경우, 요청된 모든 사용자 지정 범위는 흐름이 완료되면 허용됩니다.참고: 표준 범위 openid, profile, email, phone, 및 address 는 제한할 수 없습니다.
- ‘사용자 지정 범위 제한’ 확인란이 선택되어 있는지 확인하십시오.
- 권한 부여할 사용자 정의 범위 이름 및 설명을 입력하십시오.범위 이름은 신뢰 당사자/클라이언트가 요청한 OAuth2/OIDC 범위를 참조합니다. 설명은 해당 범위에 대한 자세한 설명입니다.다른 범위 필드의 세트가 표시됩니다.
- 권한 부여할 각 사용자 정의 범위에 대해 이전 단계를 반복하십시오.
- 권한 제한 세부 정보OIDC/ OAuth 클라이언트는 지원되는 OIDC/ OAuth 그랜트 흐름에서 인증 정보를 요청할 수 있습니다. ‘권한 세부 정보 제한’이 활성화된 경우, 워크플로 종료 시 부여되는 권한 세부 정보는 이 섹션에 지정된 권한 세부 정보로만 제한됩니다. ‘승인 세부 정보 제한’이 비활성화된 경우, 흐름이 완료되면 요청된 모든 승인 세부 정보가 승인됩니다.
- ‘권한 제한’ 세부 정보 확인란이 선택되어 있는지 확인하십시오.
- ‘알 수 없는 인증 정보 무시’가 활성화되어 있는지 확인하십시오.
- 권한 부여를 원하는 권한 세부 정보 유형의 이름을 입력하거나 선택하십시오. 권한 세부 정보 JSON의 특정 속성을 기준으로 요청을 필터링하기 위해 사용자 지정 규칙을 편집하고 정의할 수 있습니다. 예를 들어, 인증 세부 정보 유형이
resource_access이고 속성을location포함하는 경우, 위치가 일본일 때만 요청이 허용됩니다. 그렇다면 규칙은 다음과 같을 것입니다:requestContext.ad.location == 'Japan'. - ‘추가’를 클릭한 다음, 권한을 부여하려는 각 승인 세부 정보 유형에 대해 이전 단계를 반복합니다.
- 액세스 토큰에 부여할 사용자 및 비사용자 권한을 선택하십시오.API 액세스는 기본적으로 제한되어 있습니다. API 액세스 권한을 부여하려면 다음 단계를 따르십시오. API 액세스 제한 선택란을 선택 취소하면 토큰에 기본 인타이틀먼트 세트가 부여됩니다. '기본 로그인 토큰 API 권한'을 참조하십시오.
- ‘설정 완료’를 선택하세요.