Single Sign-On이 활성화된 경우 API를 사용하세요(Azure)
만약 당신이 가지고 있다면"구성 및 활성화된 Single Sign-On(SSO)" Azure를 SSO 공급자로 사용하는 경우 두 개의 예제 스크립트를 사용하여 Grid Management API 또는 Tenant Management API에 유효한 인증 토큰을 얻을 수 있습니다.
Azure Single Sign-On이 활성화된 경우 API에 Sign in.
이 지침은 SSO ID 공급자로 Azure를 사용하는 경우에 적용됩니다.
-
StorageGRID 사용자 그룹에 속한 페더레이션 사용자의 SSO 이메일 주소와 비밀번호를 알고 있습니다.
-
테넌트 관리 API에 액세스하려면 테넌트 계정 ID를 알고 있어야 합니다.
인증 토큰을 얻으려면 다음 예제 스크립트를 사용할 수 있습니다.
-
그만큼
storagegrid-ssoauth-azure.py파이썬 스크립트 -
그만큼
storagegrid-ssoauth-azure.jsNode.js 스크립트
두 스크립트 모두 StorageGRID 설치 파일 디렉토리에 있습니다.(./rpms Red Hat Enterprise Linux의 경우 ./debs Ubuntu 또는 Debian의 경우 ./vsphere VMware의 경우).
Azure와 자체 API 통합을 작성하려면 다음을 참조하세요. storagegrid-ssoauth-azure.py 스크립트. Python 스크립트는 StorageGRID 에 직접 두 가지 요청을 합니다(먼저 SAMLRequest를 가져오고, 나중에는 인증 토큰을 가져오는 것). 또한 Azure와 상호 작용하여 SSO 작업을 수행하기 위해 Node.js 스크립트를 호출합니다.
SSO 작업은 일련의 API 요청을 사용하여 실행할 수 있지만, 그렇게 하는 것은 간단하지 않습니다. Puppeteer Node.js 모듈은 Azure 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 스크립트를 호출하여 Azure SSO 상호 작용을 수행합니다.
-
메시지가 표시되면 다음 인수에 대한 값을 입력하세요(또는 매개변수를 사용하여 전달하세요).
-
Azure에 로그인하는 데 사용되는 SSO 이메일 주소
-
StorageGRID 의 주소
-
테넌트 관리 API에 액세스하려면 테넌트 계정 ID를 입력하세요.
-
-
메시지가 표시되면 비밀번호를 입력하고, 요청 시 Azure에 MFA 인증을 제공할 준비를 하세요.
스크립트에서는 MFA가 Microsoft Authenticator를 사용하여 수행된다고 가정합니다. 다른 형태의 MFA(예: 문자 메시지로 받은 코드 입력)를 지원하려면 스크립트를 수정해야 할 수도 있습니다. StorageGRID 인증 토큰은 출력에 제공됩니다. 이제 SSO를 사용하지 않을 경우 API를 사용하는 것과 유사하게 다른 요청에도 토큰을 사용할 수 있습니다.