MinIO - 22. MinIO STS 빠른 시작 가이드

목록

MinIO STS Quickstart Guide

MinIO STS 빠른 시작 가이드

The MinIO Security Token Service (STS) is an endpoint service that enables clients to request temporary credentials for MinIO resources.

MinIO STS (보안 토큰 서비스)는 클라이언트가 MinIO 리소스에 대한 임시 자격 증명을 요청할 수 있도록 하는 엔드포인트 서비스입니다.

Temporary credentials work almost identically to default admin credentials, with some differences:

임시 자격 증명은 기본 관리자 자격 증명과 거의 동일하게 작동하지만 몇 가지 차이점이 있습니다.

Temporary credentials are short-term, as the name implies. They can be configured to last for anywhere from a few minutes to several hours. After the credentials expire, MinIO no longer recognizes them or allows any kind of access from API requests made with them.

임시 자격 증명은 이름에서 알 수 있듯이 단기입니다. 몇 분에서 몇 시간까지 지속되도록 구성할 수 있습니다. 자격 증명이 만료되면 MinIO는 더 이상 자격 증명을 인식하지 못하거나 해당 자격 증명으로 이루어진 API 요청에 대한 모든 종류의 액세스를 허용하지 않습니다.

Temporary credentials do not need to be stored with the application but are generated dynamically and provided to the application when requested. When (or even before) the temporary credentials expire, the application can request new credentials.

임시 자격 증명은 애플리케이션과 함께 저장할 필요가 없지만 요청 시 동적으로 생성되어 애플리케이션에 제공됩니다. 임시 자격 증명이 만료되는 경우(또는 그 이전에도) 애플리케이션은 새 자격 증명을 요청할 수 있습니다.

Following are advantages for using temporary credentials:

임시 자격 증명을 사용하면 다음과 같은 이점이 있습니다.

Eliminates the need to embed long-term credentials with an application.

애플리케이션에 장기 자격 증명을 포함할 필요가 없습니다.

Eliminates the need to provide access to buckets and objects without having to define static credentials.

정적 자격 증명을 정의하지 않고도 버킷과 객체에 대한 액세스 권한을 제공할 필요가 없습니다.

Temporary credentials have a limited lifetime, there is no need to rotate them or explicitly revoke them. Expired temporary credentials cannot be reused.

임시 자격 증명은 수명이 제한되어 있으므로 교체하거나 명시적으로 취소할 필요가 없습니다. 만료된 임시 자격 증명은 재사용할 수 없습니다.

Identity Federation

신원 연합

AuthN

인증

Description

설명

Client grants

클라이언트 부여

Let applications request client_grants using any well-known third party identity provider such as KeyCloak, WSO2.

애플리케이션이 KeyCloak, WSO2 등 잘 알려진 타사 ID 공급자를 사용하여 client_grants를 요청할 수 있습니다.

This is known as the client grants approach to temporary access.

이는 클라이언트가 임시 액세스에 대한 접근 권한을 부여한다고 알려져 있습니다.

Using this approach helps clients keep MinIO credentials to be secured. MinIO STS supports client grants, tested against identity providers such as WSO2, KeyCloak.

이 접근 방식을 사용하면 클라이언트가 MinIO 자격 증명을 안전하게 유지할 수 있습니다. MinIO STS는 WSO2, KeyCloak과 같은 ID 공급자에 대해 테스트된 클라이언트 부여를 지원합니다.

WebIdentity

WebIdentity

Let users request temporary credentials using any OpenID(OIDC) compatible web identity providers such as Facebook, Google etc.

사용자가 Facebook, Google 등 OpenID(OIDC) 호환 웹 ID 공급자를 사용하여 임시 자격 증명을 요청할 수 있습니다.

AssumeRole

AssumeRole

Let MinIO users request temporary credentials using user access and secret keys.

MinIO 사용자가 사용자 액세스 및 비밀 키를 사용하여 임시 자격 증명을 요청할 수 있도록 합니다.

AD/LDAP

AD/LDAP

Let AD/LDAP users request temporary credentials using AD/LDAP username and password.

AD/LDAP 사용자가 AD/LDAP 사용자 이름과 패스워드를 사용하여 임시 자격 증명을 요청할 수 있습니다.

Get started

시작합니다

In this document we will explain in detail on how to configure all the prerequisites.

이 문서에서는 모든 필수 구성 요소를 구성하는 방법에 대해 자세히 설명합니다.

NOTE: If you are interested in AssumeRole API only, skip to here

메모: AssumeRole API에만 관심이 있는 경우 여기로 건너뛰십시오.

1. Prerequisites

1. 전제조건

Configuring wso2

wso2 구성

Configuring opa (optional)

opa 구성 (선택 사항)

Configuring etcd (optional needed only in gateway or federation mode)

etcd 구성 (게이트웨이 또는 연합 모드에서만 필요한 선택 사항)

2. Setup MinIO with WSO2

2. WSO2로 MinIO 설정

Make sure we have followed the previous step and configured each software independently, once done we can now proceed to use MinIO STS API and MinIO server to use these credentials to perform object API operations.

이전 단계를 따르고 각 소프트웨어를 독립적으로 구성했는지 확인하십시오. 완료되면 이제 MinIO STS API 및 MinIO 서버를 사용하여 이러한 자격 증명을 사용하여 객체 API 작업을 수행할 수 있습니다.

export MINIO_ACCESS_KEY=minio export MINIO_SECRET_KEY=minio123 export MINIO_IAM_JWKS_URL=https://localhost:9443/oauth2/jwks minio server /mnt/data

3. Setup MinIO Gateway with WSO2, ETCD

3. WSO2, ETCD를 사용하여 MinIO 게이트웨이 설정

Make sure we have followed the previous step and configured each software independently, once done we can now proceed to use MinIO STS API and MinIO gateway to use these credentials to perform object API operations.

이전 단계를 따르고 각 소프트웨어를 독립적으로 구성했는지 확인하십시오. 완료되면 이제 MinIO STS API 및 MinIO 게이트웨이를 사용하여 이러한 자격 증명을 사용하여 객체 API 작업을 수행할 수 있습니다.

NOTE: MinIO gateway requires etcd to be configured to use STS API.

메모: STS API를 사용하려면 MinIO 게이트웨이에서 etcd를 구성해야 합니다.

export MINIO_ACCESS_KEY=aws_access_key export MINIO_SECRET_KEY=aws_secret_key export MINIO_IAM_JWKS_URL=https://localhost:9443/oauth2/jwks export MINIO_ETCD_ENDPOINTS=http://localhost:2379 minio gateway s3

4. Test using client-grants.go

4. client-grants.go를 사용하여 테스트

On another terminal run client-grants.go a sample client application which obtains JWT access tokens from an identity provider, in our case its WSO2.

다른 터미널에서는 ID 공급자 (이 경우 WSO2)로부터 JWT 액세스 토큰을 얻는 샘플 클라이언트 애플리케이션 client-grants.go를 실행합니다.

Uses the returned access token response to get new temporary credentials from the MinIO server using the STS API call AssumeRoleWithClientGrants.

반환된 액세스 토큰 응답을 사용하여 STS API 호출 AssumeRoleWithClientGrants를 사용하여 MinIO 서버에서 새 임시 자격 증명을 얻습니다.

go run client-grants.go -cid PoEgXP6uVO45IsENRngDXj5Au5Ya -csec eKsw6z8CtOJVBtrOWvhRWL4TUCga

Credentials

신임장

{ "accessKey": "NUIBORZYTV2HG2BMRSXR", "secretKey": "qQlP5O7CFPc5m5IXf1vYhuVTFj7BRVJqh0FqZ86S", "expiration": "2018-08-21T17:10:29-07:00", "sessionToken": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2Nlc3NLZXkiOiJOVUlCT1JaWVRWMkhHMkJNUlNYUiIsImF1ZCI6IlBvRWdYUDZ1Vk80NUlzRU5SbmdEWGo1QXU1WWEiLCJhenAiOiJQb0VnWFA2dVZPNDVJc0VOUm5nRFhqNUF1NVlhIiwiZXhwIjoxNTM0ODk2NjI5LCJpYXQiOjE1MzQ4OTMwMjksImlzcyI6Imh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvb2F1dGgyL3Rva2VuIiwianRpIjoiNjY2OTZjZTctN2U1Ny00ZjU5LWI0MWQtM2E1YTMzZGZiNjA4In0.eJONnVaSVHypiXKEARSMnSKgr-2mlC2Sr4fEGJitLcJF_at3LeNdTHv0_oHsv6ZZA3zueVGgFlVXMlREgr9LXA" }

Explore Further

더 자세히 살펴보세요

MinIO Admin Complete Guide

MinIO 관리 전체 가이드

The MinIO documentation website

MinIO 문서 웹사이트