예시: Okta에 대한 사용자 정의 매핑 설정

다음은 레거시 사용자 정의 매핑을 사용하여 Okta 역할의 사용자 정의 매핑을 수행하는 두 가지 옵션을 보여줍니다.

circle-info

이 두 옵션이 모두 작동하려면 Snyk SSO 애플리케이션이 사용자 레벨이 아닌 그룹 레벨에서 할당되어야 합니다.

옵션 1: 그룹을 사용한 사용자 정의 매핑 할당

이 구성에서:

  • Okta 그룹이 Snyk 조직에 매핑됩니다.

  • Okta 그룹이 Snyk 조직 멤버십 역할에 매핑됩니다.

  • 각 Okta 그룹의 모든 멤버에 대해 Snyk 사용자 역할이 미리 설정됩니다.

단계는 다음과 같습니다.

circle-info

참고: Snyk SSO 애플리케이션은 사용자 레벨이 아닌 그룹 레벨에서 할당되어야 합니다.

사용자의 애플리케이션 할당을 볼 때, 아래 이미지와 같이 Add Another 뒤에 Snyk-Roles group에 의해 설정되어 회색으로 표시되어야 합니다.

그룹 레벨에 설정된 역할
그룹 레벨에 설정된 역할

Snyk 조직 이름과 역할을 모두 포함하는 단일 앱 속성 생성

  1. Okta 메인 페이지에서 Directory > Profile Editor > 귀하의 Snyk SSO 앱을 선택합니다.

  2. +Add Attribute를 선택합니다.

  3. 해당 필드에 이 속성에 대한 다음 세부 정보를 추가합니다.\ Data type: string array\ Display name: Snyk Orgs\ Variable name: snyk_orgs\ Group Priority: Combine values across groups

  4. Save를 선택합니다.

관련 Okta 그룹에 속성 할당

  1. Okta 메인 페이지에서 Directory > Groups를 선택합니다.

  2. **그룹(Group)**을 선택하고 Applications 탭으로 이동하여, 아직 할당되지 않은 경우 Assign application을 클릭하고 Snyk SSO 앱을 선택합니다. 그런 다음 표시된 Snyk SSO 앱 옆의 연필 아이콘을 클릭합니다.

  3. Edit App Assignment 대화 상자에서, 사용자 정의 매핑 (또는 레거시 매핑을 사용하는 경우 레거시 사용자 정의 매핑)에 설명된 구문에 따라 Okta 그룹과 연결된 Snyk 조직 슬러그와 조직 역할 이름을 추가합니다 (공백이나 대문자 없이).

  4. 모든 해당 Okta 그룹에 대해 위 단계를 반복하여 각 구성된 그룹 내의 각 사용자에게 조직 이름과 역할 조합을 할당합니다.

Snyk으로 전송될 roles 배열을 생성하는 값 표현식 구성

  1. Applications > Applications로 이동하여 구성한 Snyk 앱을 클릭합니다.

  2. General Tab > Edit SAML Settings를 선택하고 Next를 클릭하여 Configure SAML 단계로 이동합니다.

  3. 지정되지 않은 유형(unspecified type)의 "roles"라는 이름의 Attribute Statement를 추가합니다.

  4. Attribute Statements를 선택하고 Name 필드를 roles로, Name formatUnspecified로 설정하고, Value에 다음 표현식을 입력합니다.

    Arrays.flatten(appuser.snyk_orgs)

  5. 구성을 완료하기 위해 Snyk 담당자에게 문의하십시오.

circle-info

Snyk 담당자가 실제 역할 값 대신 Arrays.flatten(appuser.snyk_orgs) 문자열이 Snyk으로 전송된다고 알려주는 경우, 앱이 사용자 레벨이 아닌 그룹 레벨에서 할당되었는지 확인해야 합니다. 사용자 및 그룹 모두 할당된 경우 개인 할당이 우선하며 역할 할당이 작동하지 않습니다. 이 경우 개인 할당을 제거하십시오.

옵션 2: 사용자 역할을 사용한 사용자 정의 매핑 할당

다음은 사용자 역할을 사용한 사용자 정의 매핑을 설명합니다.

circle-exclamation
  • Okta 그룹이 Snyk 조직에 매핑됩니다.

  • 사용자 프로필은 Okta 그룹이 아닌 각 사용자와 연결됩니다.

circle-info

참고: Snyk SSO 애플리케이션은 사용자 레벨이 아닌 그룹 레벨에서 할당되어야 합니다.

사용자의 애플리케이션 할당을 볼 때, 아래 이미지와 같이 Add Another 뒤에 Snyk-Roles group에 의해 설정되어 회색으로 표시되어야 합니다.

관련 Snyk 조직의 이름을 포함하는 앱 속성 생성

Snyk 그룹과 사용자가 설정되면 다음 단계를 따르십시오.

  1. Okta 메인 페이지에서 Directory > Profile Editor > 귀하의 Snyk SSO 앱을 선택합니다.

  2. +Add Attribute를 선택합니다.

  3. 해당 필드에 첫 번째 속성에 대한 다음 세부 정보를 추가합니다.\ Data type: string array\ Display name: Snyk Orgs\ Variable name: snyk_orgs\ Group Priority: Combine values across groups

  4. Save and Add Another를 선택합니다.

역할을 포함하는 두 번째 앱 속성 생성

  1. 해당 필드에 두 번째 속성에 대한 다음 세부 정보를 추가합니다.\ Data type: String\ Display name: Snyk User Role\ Variable name: user_role\ Enum: Define enumerated list of values 체크\ Attribute members Collaborator: collaborator 또는 collab\ Attribute members Admin: administrator 또는 admin\ Attribute members GroupAdmin: groupadmin\ Attribute required: Yes\ Scope: User personal

  2. Save를 선택합니다.

Okta 그룹에 첫 번째 속성 할당

  1. Okta 메인 페이지에서 Directory > Groups를 선택합니다.

  2. **그룹(Group)**을 선택하고 Applications 탭으로 이동하여, 아직 할당되지 않은 경우 Assign application을 클릭하고 Snyk SSO 앱을 선택합니다. 그런 다음 표시된 Snyk 앱 옆의 연필 아이콘을 클릭합니다.

  3. Edit App Assignment 대화 상자에서, Okta 그룹과 연결할 Snyk 조직 이름을 추가합니다 (공백이나 대문자 없이).

  4. 모든 해당 Okta 그룹에 Snyk 앱을 할당하기 위해 위 단계를 반복하며, 필요에 따라 Snyk 조직 이름을 수정합니다.

사용자에게 두 번째 속성 할당

  1. Okta 메인 페이지에서 Directory > People을 선택합니다.

  2. **사용자(User)**를 선택하고 Applications 탭으로 이동하여 애플리케이션 옆의 연필 아이콘을 클릭합니다.

  3. 그룹에서의 올바른 사용자 유형(사용자 역할)을 선택합니다: Collaborator, Admin, 또는 Group Admin.

이 두 속성을 연결하여 Snyk으로 전송될 roles 배열의 문자열 값으로 만드는 값 표현식 구성

  1. Applications > Applications로 이동하여 구성한 Snyk 앱을 클릭합니다.

  2. General Tab > SAML Settings > Edit을 선택하고 Next를 클릭하여 Configure SAML 단계로 이동합니다.

  3. Attribute Statements를 선택하고, Nameroles이고 Name formatUnspecified인 속성을 추가하고, Value에 다음 표현식을 입력합니다.\ appuser.user_role == "groupadmin" ? "snyk-groupadmin" : Arrays.flatten(String.replace(String.replace(String.append("snyk-",String.append(Arrays.toCsvString(appuser.snyk_orgs),"-"+appuser.user_role)),",",",snyk-"),",","-"+appuser.user_role+","))

  4. Next > Finish를 클릭합니다.

  5. 구성을 완료하기 위해 Snyk 담당자에게 문의하십시오. 이 프로세스는 4~5일 정도 소요될 수 있습니다.

roles 표현식에 대한 설명은 다음과 같습니다.

  • 역할이 groupadmin인 경우, 표현식은 다른 모든 것을 무시하고 snyk-groupadmin을 전달합니다.

  • 역할이 groupadmin이 아닌 경우, 모든 그룹에 나열된 각 Snyk 조직 이름에 대해 표현식은 자동으로 접두사 "snyk-"를 연결하고 각 조직 이름 끝에 user_role을 덧붙입니다. 결과 예시는 다음과 같습니다.

예시 역할: [ "snyk-groupadmin", "snyk-org1-admin", "snyk-org2-admin" ]

Last updated