3.2.8. 보안 토큰 서비스
Amazon Web Services의 STS(Secure Token Service)는 사용자를 인증하기 위한 임시 보안 인증 정보 집합을 반환합니다.
Red Hat Ceph Storage Object Gateway는 IAM(Identity and Access Management)을 위한 Amazon STS API(애플리케이션 프로그래밍 인터페이스)의 하위 집합을 지원합니다.
사용자는 STS에 대해 먼저 인증하고 후속 요청에서 사용할 수 있는 수명이 짧은 S3 액세스 키 및 시크릿 키를 받습니다.
Red Hat Ceph Storage는 OIDC 공급자를 구성하여 Single Sign-On과 통합하여 S3 사용자를 인증할 수 있습니다. 이 기능을 사용하면 Object Storage 사용자가 로컬 Ceph Object Gateway 데이터베이스가 아닌 엔터프라이즈 ID 공급자에 대해 인증할 수 있습니다. 예를 들어 SSO가 백엔드의 엔터프라이즈 IDP에 연결된 경우 오브젝트 스토리지 사용자는 엔터프라이즈 자격 증명을 사용하여 Ceph Object Gateway S3 엔드포인트를 인증하고 액세스할 수 있습니다.
IAM 역할 정책 기능과 함께 STS를 사용하면 미세 조정된 권한 부여 정책을 생성하여 데이터에 대한 액세스를 제어할 수 있습니다. 이를 통해 개체 스토리지 데이터에 대한 RBAC(역할 기반 액세스 제어) 또는 ABAC( Attribute-Based Access Control) 권한 부여 모델을 구현할 수 있으므로 데이터에 액세스할 수 있는 사용자를 완전히 제어할 수 있습니다.
STS를 사용하여 워크플로우를 단순화하여 S3 리소스에 액세스 가능
- 사용자는 Red Hat Ceph Storage에서 S3 리소스에 액세스하려고 합니다.
- 사용자는 SSO 공급자에 대해 인증해야 합니다.
- SSO 공급자는 IDP와 결합되고 사용자 인증 정보가 유효한지 확인하고, 사용자가 인증되고 SSO가 사용자에게 토큰을 제공합니다.
- SSO에서 제공하는 토큰을 사용하여 사용자는 Ceph Object Gateway STS 엔드포인트에 액세스하여 사용자에게 S3 리소스에 대한 액세스 권한을 제공하는 IAM 역할을 가정하도록 요청합니다.
- Red Hat Ceph Storage 게이트웨이는 사용자 토큰을 수신하고 SSO에서 토큰의 유효성을 확인하도록 요청합니다.
- SSO가 토큰을 검증하면 사용자가 역할을 가정할 수 있습니다. STS를 통해 사용자는 S3 리소스에 액세스할 수 있는 임시 액세스 및 시크릿 키를 사용합니다.
- 사용자가 가정한 IAM 역할에 연결된 정책에 따라 사용자는 S3 리소스 집합에 액세스할 수 있습니다.
- 예를 들어 버킷 A에 대해 읽고 버킷 B에 씁니다.
추가 리소스
- Amazon Web Services Secure Token Service 시작 페이지.
- STS Lite 및 Keystone에 대한 자세한 내용은 Red Hat Ceph Storage 개발자 가이드 의 Keystone과 함께 STS Lite 구성 및 사용을 참조하십시오.
- STS Lite 및 Keystone의 제한 사항에 대한 자세한 내용은 Red Hat Ceph Storage Developer Guide 의 STS Lite 사용 제한 사항 섹션을 참조하십시오.
3.2.8.1. Secure Token Service 애플리케이션 프로그래밍 인터페이스 링크 복사링크가 클립보드에 복사되었습니다!
Ceph Object Gateway는 다음과 같은 STS(Secure Token Service) 애플리케이션 프로그래밍 인터페이스(API)를 구현합니다.
AssumeRole
이 API는 계정 간 액세스를 위한 임시 자격 증명 세트를 반환합니다. 이러한 임시 인증 정보를 사용하면 Role과 연결된 권한 정책과 Assume Role API와 연결된 정책 모두 사용할 수 있습니다. RoleArn 및 RoleSessionName 요청 매개변수는 필요하지만 다른 요청 매개변수는 선택 사항입니다.
RoleArn- 설명
- 길이가 20~ 2048자인 Amazon 리소스 이름(ARN)을 가정하는 역할입니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
RoleSessionName- 설명
-
가정할 역할 세션 이름을 식별합니다. 역할 세션 이름은 다른 주체 또는 다른 이유로 역할을 가정할 때 세션을 고유하게 식별할 수 있습니다. 이 매개변수의 값은 2~64자 길이입니다.
=,,.. . ,@,-문자는 허용되지만 공백은 허용되지 않습니다. - 유형
- 문자열
- 필수 항목
- 제공됨
정책- 설명
- 인라인 세션에서 사용할 JSON 형식의 IAM(ID 및 액세스 관리 정책)입니다. 이 매개변수의 값은 1~48자 길이입니다.
- 유형
- 문자열
- 필수 항목
- 없음
DurationSeconds- 설명
-
세션 기간(초)이며 최소
900초의 최대 값43200초입니다. 기본값은3600초입니다. - 유형
- 정수
- 필수 항목
- 없음
ExternalId- 설명
- 다른 계정에 대한 역할을 가정할 때 사용 가능한 경우 고유한 외부 ID를 제공합니다. 이 매개변수의 값은 2~1224자 길이입니다.
- 유형
- 문자열
- 필수 항목
- 없음
serialnumber- 설명
- 연결된 MFA(다중 인증) 장치의 사용자 ID 번호입니다. 매개 변수의 값은 9~256자 길이인 하드웨어 장치 또는 가상 장치의 일련 번호일 수 있습니다.
- 유형
- 문자열
- 필수 항목
- 없음
TokenCode- 설명
- 신뢰 정책에 MFA(다중 인증)가 필요한 경우 MFA(다중 인증) 장치에서 생성된 값입니다. MFA 장치가 필요하며 이 매개변수의 값이 비어 있거나 만료된 경우 AssumeRole 호출에서 "access denied" 오류 메시지를 반환합니다. 이 매개변수의 값은 고정 길이인 6자입니다.
- 유형
- 문자열
- 필수 항목
- 없음
AssumeRoleWithWebIdentity
이 API는 OpenID Connect 또는 OAuth 2.0 ID 공급자와 같은 애플리케이션에서 인증한 사용자의 임시 인증 정보 세트를 반환합니다. RoleArn 및 RoleSessionName 요청 매개변수는 필요하지만 다른 요청 매개변수는 선택 사항입니다.
RoleArn- 설명
- 길이가 20~ 2048자인 Amazon 리소스 이름(ARN)을 가정하는 역할입니다.
- 유형
- 문자열
- 필수 항목
- 제공됨
RoleSessionName- 설명
-
가정할 역할 세션 이름을 식별합니다. 역할 세션 이름은 다른 주체 또는 다른 이유로 역할을 가정할 때 세션을 고유하게 식별할 수 있습니다. 이 매개변수의 값은 2~64자 길이입니다.
=,,.. . ,@,-문자는 허용되지만 공백은 허용되지 않습니다. - 유형
- 문자열
- 필수 항목
- 제공됨
정책- 설명
- 인라인 세션에서 사용할 JSON 형식의 IAM(ID 및 액세스 관리 정책)입니다. 이 매개변수의 값은 1~48자 길이입니다.
- 유형
- 문자열
- 필수 항목
- 없음
DurationSeconds- 설명
-
세션 기간(초)이며 최소
900초의 최대 값43200초입니다. 기본값은3600초입니다. - 유형
- 정수
- 필수 항목
- 없음
ProviderId- 설명
- ID 공급자의 도메인 이름의 정규화된 호스트 구성 요소입니다. 이 매개변수의 값은 OAuth 2.0 액세스 토큰에만 유효하며 길이는 4~ 2048자입니다.
- 유형
- 문자열
- 필수 항목
- 없음
WebIdentityToken- 설명
- ID 공급자에서 제공하는 OpenID Connect ID 토큰 또는 OAuth 2.0 액세스 토큰입니다. 이 매개변수의 값은 4~48자 길이입니다.
- 유형
- 문자열
- 필수 항목
- 없음
추가 리소스
- 자세한 내용은 Red Hat Ceph Storage 개발자 가이드 의 Secure Token Service API 사용 예제 섹션을 참조하십시오.
- Amazon Web Services 보안 토큰 서비스, AssumeRole 작업.
- AssumeRoleWithWebIdentity 작업인 Amazon Web Services 보안 토큰 서비스.