InfoGrab Docs

Shibboleth을 인증 공급자로 사용

GitLab에서 Shibboleth 인증을 구성하는 방법입니다.

Note 특정 Shibboleth ID 공급자(IdP)를 통합하려면 GitLab SAML 통합 을 사용하세요. Shibboleth 페더레이션 지원(Discovery Service)은 이 문서를 사용하세요. GitLab에서 Shibboleth 지원을 활성화하려면 NGINX 대신 Apache를 사용하세요. Apache는 Shibboleth 인증을 위해 mod_shib2 모듈을 사용하고 속성을 헤더로 OmniAuth Shibboleth 공급자에게 전달할 수 있습니다. Linux 패키지에서 제공하는 번들 NGINX를 사용하여 역방향 프록시 설정을 사용하는 다른 인스턴스에서 Shibboleth 서비스 공급자를 실행할 수 있습니다. 그러나 이 작업을 수행하지 않는 경우 번들 NGINX는 구성하기 어렵습니다. Shibboleth OmniAuth 공급자를 활성화하려면 다음을 수행해야 합니다: Apache 모듈 설치 . Apache 모듈 구성 . Shibboleth를 활성화하려면: OmniAuth Shibboleth 콜백 URL을 보호합니다: AuthType shibboleth ShibRequestSetting requireSession 1 ShibUseHeaders On require valid-user </Location> Alias /shibboleth-sp /usr/share/shibboleth Satisfy any </Location> SetHandler shib </Location> Shibboleth URL을 재작성에서 제외합니다. RewriteCond %{REQUEST_URI} !/Shibboleth.sso 와 RewriteCond %{REQUEST_URI} !/shibboleth-sp 를 추가합니다. 예시 구성: # Apache equivalent of Nginx try files RewriteEngine on RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !/Shibboleth.sso RewriteCond %{REQUEST_URI} !/shibboleth-sp RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} [P,QSA] RequestHeader set X_FORWARDED_PROTO 'https' /etc/gitlab/gitlab.rb 에 Shibboleth를 OmniAuth 공급자로 추가합니다. 사용자 속성은 Shibboleth 속성 매핑의 이름으로 헤더로 Apache 역방향 프록시에서 GitLab으로 전송됩니다. 따라서 args 해시의 값은 "HTTP_ATTRIBUTE" 형식이어야 합니다. 해시의 키는 OmniAuth::Strategies::Shibboleth 클래스 에 대한 인수이며 omniauth-shibboleth-redux gem에 의해 문서화되어 있습니다(GitLab에 패키징된 gem 버전에 주의하세요). 파일은 다음과 같아야 합니다: external_url