<ph type="x-smartling-placeholder"></ph>
현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서. 정보
Apigee Edge는 다음을 위한 OAuth 2.0 프레임워크를 제공합니다. 보호 API를 제공합니다 OAuth2는 가장 널리 사용되는 개방형 표준 토큰 기반 인증 및 승인 체계 중 하나입니다. OAuth2를 사용하면 클라이언트 애플리케이션은 사용자가 사용자 이름 및 비밀번호를 증명하지 않아도 사용자를 대신하여 API에 액세스할 수 있습니다.
Apigee Edge를 사용하면 개발자가 네 가지 OAuth2 부여 유형인 클라이언트 사용자 인증 정보 password, 암시적 권한 승인 코드 - OAuthv2 정책 사용 클라이언트 애플리케이션은 액세스 토큰을 사용하여 보안 API를 소비합니다. 각 액세스 토큰에는 고유한 만료 시간이 있으며, 이는 OAuthv2 정책에서 설정할 수 있습니다.
갱신 토큰은 일부 부여 유형에서 액세스 토큰과 함께 선택적으로 발급됩니다. 갱신 토큰은 원본 액세스 토큰이 만료되거나 취소된 후 유효한 새 액세스 토큰을 얻는 데 사용됩니다. 갱신 토큰의 만료 시간은 OAuthv2 정책에서도 설정할 수 있습니다.
안티패턴
OAuthv2 정책에서 액세스 토큰이나 갱신 토큰의 만료 시간을 설정하면 Cassandra 노드에서 OAuth 토큰이 누적되고 디스크 공간 사용이 증가합니다.
다음 OAuthV2 정책 예시는 200일이라는 긴 만료 시간이 지정된 갱신 토큰을 보여줍니다.
<OAuthV2 name="GenerateAccessToken"> <Operation>GenerateAccessToken</Operation> <ExpiresIn>1800000</ExpiresIn> <!-- 30 minutes --> <RefreshTokenExpiresIn>17280000000</RefreshTokenExpiresIn> <!-- 200 days --> <SupportedGrantTypes> <GrantType>password</GrantType> </SupportedGrantTypes> <GenerateResponse enabled="true"/> </OAuthV2>
위의 예시에서,
- 액세스 토큰은 합리적으로 짧은 만료 시간인 30분으로 설정되어 있습니다.
- 갱신 토큰의 만료 시간은 매우 긴 200일로 설정되었습니다.
- 이 API에 대한 트래픽이 초당 10개 요청이면 하루에 최대 864,000개의 토큰을 생성할 수 있습니다.
- 갱신 토큰은 200일 후에 만료되므로 데이터 저장소(Cassandra)에 오랫동안 유지되며 이것은 연속적인 누적으로 이어집니다.
영향
- 데이터 저장소(Cassandra)에서 디스크 공간 사용량이 급격히 증가합니다.
- 프라이빗 클라우드 사용자의 경우 스토리지 비용이 증가할 수 있으며, 최악의 경우 디스크가 가득 차 런타임 오류나 서비스 중단이 발생할 수 있습니다.
권장사항
자신에게 맞는 특정한 보안 요구사항에 따라 OAuth 액세스 및 갱신 토큰에 적절하고 짧은 만료 시간을 사용하여 토큰이 신속하게 삭제되어 누적되지 않게 합니다.
갱신 토큰의 만료 시간을 액세스 토큰보다 조금 더 길게 설정합니다. 예를 들어 액세스 토큰의 만료 시간을 30분으로 설정했다면 갱신 토큰은 60분으로 설정하세요.
이렇게 하면 다음과 같은 이점이 있습니다.
- 액세스 토큰이 만료된 후 갱신 토큰을 사용하여 새 액세스 및 갱신 토큰을 생성할 수 있는 충분한 시간이 있습니다.
- 갱신 토큰은 잠시 후에 만료되므로 누적되지 않고 적절한 시간 안에 삭제될 수 있습니다.