Single Sign-On이 활성화된 경우 API를 사용하세요(Entra ID)
만약 당신이 가지고 있다면"SSO(Single Sign-On) 구성 및 활성화" SSO 공급자로 Entra ID를 사용하는 경우 두 개의 예제 스크립트를 사용하여 Grid Management API 또는 Tenant Management API에 유효한 인증 토큰을 얻을 수 있습니다.
Entra ID 단일 로그인이 활성화된 경우 API에 Sign in.
이 지침은 SSO ID 공급자로 Entra ID를 사용하는 경우에 적용됩니다.
-
StorageGRID 사용자 그룹에 속한 페더레이션 사용자의 SSO 전자 메일 주소와 암호를 알고 있습니다.
-
테넌트 관리 API에 액세스하려면 테넌트 계정 ID를 알고 있어야 합니다.
인증 토큰을 얻으려면 다음 예제 스크립트를 사용할 수 있습니다.
-
`storagegrid-ssoauth-azure.py`Python 스크립트
-
`storagegrid-ssoauth-azure.js`Node.js 스크립트
두 스크립트 모두 StorageGRID 설치 파일 디렉토리에 있습니다.(./rpms RHEL의 경우, ./debs Ubuntu 또는 Debian의 경우 ./vsphere VMware의 경우).
Entra ID를 사용하여 자체 API 통합을 작성하려면 다음을 참조하세요. storagegrid-ssoauth-azure.py 스크립트. Python 스크립트는 StorageGRID 에 직접 두 가지 요청을 합니다(먼저 SAMLRequest를 가져오고, 나중에는 인증 토큰을 가져오는 것). 또한 Node.js 스크립트를 호출하여 Entra ID와 상호 작용하여 SSO 작업을 수행합니다.
SSO 작업은 일련의 API 요청을 사용하여 실행할 수 있지만, 그렇게 하는 것은 간단하지 않습니다. Puppeteer Node.js 모듈은 Entra ID SSO 인터페이스를 스크래핑하는 데 사용됩니다.
URL 인코딩 문제가 있는 경우 다음 오류가 표시될 수 있습니다 Unsupported SAML version.
-
다음과 같이 필요한 종속성을 설치합니다.
-
Node.js를 설치합니다(참조 "https://nodejs.org/en/download/").
-
필요한 Node.js 모듈(puppeteer 및 jsdom)을 설치합니다.
npm install -g <module>
-
-
Python 스크립트를 Python 인터프리터로 전달하여 스크립트를 실행합니다.
그러면 Python 스크립트가 해당 Node.js 스크립트를 호출하여 Entra ID SSO 상호 작용을 수행합니다.
-
프롬프트가 표시되면 다음 인수에 대한 값을 입력하거나 매개 변수를 사용하여 전달합니다.
-
Entra ID에 로그인하는 데 사용되는 SSO 이메일 주소
-
StorageGRID의 주소입니다
-
테넌트 관리 API에 액세스하려는 경우 테넌트 계정 ID입니다
-
-
메시지가 표시되면 비밀번호를 입력하고, 요청 시 Entra ID에 대한 MFA 승인을 제공할 준비를 하세요.
이 스크립트는 MFA가 Microsoft Authenticator를 사용하여 수행된 것으로 가정합니다. 다른 형태의 MFA를 지원하도록 스크립트를 수정해야 할 수도 있습니다(예: 텍스트 메시지에 수신된 코드 입력). StorageGRID 인증 토큰은 출력에 제공됩니다. 이제 SSO가 사용되지 않는 경우 API를 사용하는 방법과 유사하게 다른 요청에 토큰을 사용할 수 있습니다.