프로세스 보안 인증 제공자 - AWS SDKs 및 도구

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

프로세스 보안 인증 제공자

SDKs사용자 지정 사용 사례를 위해 자격 증명 공급자 체인을 확장할 수 있는 방법을 제공합니다. 이 공급자를 사용하여 온프레미스 자격 증명 저장소에서 자격 증명을 검색하거나 온-프레미스 ID 공급자와 통합하는 등의 사용자 지정 구현을 제공할 수 있습니다.

예를 들어 IAM Roles Anywhere는 애플리케이션을 credential_process 대신하여 임시 자격 증명을 가져오는 데 사용합니다. 이 용도로 credential_process를 구성하려면 IAM Roles Anywhere을(를)참조하십시오.

참고

다음은 외부 프로세스에서 자격 증명을 소싱하는 방법을 설명하며, 외부에서 소프트웨어를 실행하는 경우 사용할 수 있습니다. AWS. 건물을 지을 경우 AWS 컴퓨팅 리소스를 사용하려면 다른 자격 증명 공급자를 사용하세요. 이 옵션을 사용하는 경우 운영 체제의 보안 모범 사례를 사용하여 구성 파일이 최대한 잠겨 있는지 확인해야 합니다. 사용자 지정 자격 증명 도구가 비밀 정보를 기록하지 않는지 확인하십시오. StdErr SDKs AWS CLI 이러한 정보를 캡처하고 기록할 수 있어 권한이 없는 사용자에게 정보가 노출될 수 있습니다.

다음을 사용하여 이 기능을 구성하십시오.

credential_process- 공유 AWS config파일 설정

사용할 인증 자격 증명을 SDK 생성하거나 검색하기 위해 또는 도구가 사용자를 대신하여 실행하는 외부 명령을 지정합니다. 설정은 에서 호출할 프로그램/명령의 이름을 지정합니다. SDK 프로세스를 SDK 호출하면 프로세스가 데이터를 쓸 때까지 기다립니다. JSON stdout 사용자 지정 공급자는 특정 형식으로 정보를 반환해야 합니다. 이 정보에는 SDK 또는 도구가 사용자를 인증하는 데 사용할 수 있는 자격 증명이 들어 있습니다.

참고

프로세스 보안 인증 공급자는 보안 인증 공급자 체인의 일부입니다. 그러나 프로세스 보안 인증 공급자는 이 시리즈에 속한 다른 여러 공급자를 거친 후에만 확인됩니다. 따라서 프로그램에서 이 공급자의 보안 인증을 사용하려면 구성에서 다른 유효한 보안 인증 공급자를 제거하거나 다른 프로파일을 사용해야 합니다. 또는 보안 인증 공급자 체인에 의존하여 유효한 보안 인증을 반환하는 공급자를 자동으로 검색하는 대신 코드에 프로세스 보안 인증 공급자의 사용을 지정하십시오. 서비스 클라이언트를 생성할 때 보안 인증 소스를 직접 지정할 수 있습니다.

보안 인증 프로그램 경로 지정

설정 값은 사용자 대신 SDK 또는 개발 도구가 실행하는 프로그램의 경로를 포함하는 문자열입니다.

  • 경로와 파일 이름은 A~Z, a~z, 0~9, 하이픈(-), 밑줄(_), 마침표(.), 슬래시(/), 백슬래시(\)및 공백 등의 문자는 다음과 같습니다.

  • 경로 또는 파일 이름에 공백이 있으면 전체 경로와 파일 이름을 큰 따옴표(" ")로 묶습니다.

  • 파라미터 이름이나 파라미터 값에 공백이 있으면 해당 요소를 큰 따옴표(" ")로 묶습니다. 전체 페어가 아니라 이름 또는 값만 묶으십시오.

  • 문자열 안에 환경 변수를 포함하지 마십시오. 예를 들어 $HOME 또는 %USERPROFILE%을 포함할 수 없습니다.

  • 홈 폴더를 ~로 지정하지 마십시오. * 전체 경로 또는 기본 파일 이름을 지정해야 합니다. 기본 파일 이름이 있는 경우, 시스템은 PATH 환경 변수로 지정된 폴더 내에서 프로그램을 찾으려고 시도합니다. 경로는 운영 체제에 따라 달라집니다.

    다음 예제는 Linux/macOS의 공유 config 파일에서 credential_process를 설정하는 방법을 보여줍니다.

    credential_process = "/path/to/credentials.sh" parameterWithoutSpaces "parameter with spaces"

    다음 예제는 Windows의 공유 config 파일에서 credential_process를 설정하는 방법을 보여줍니다.

    credential_process = "C:\Path\To\credentials.cmd" parameterWithoutSpaces "parameter with spaces"
  • 전용 프로필 내에서 지정할 수 있습니다.

    [profile cred_process] credential_process = /Users/username/process.sh region = us-east-1

보안 인증 프로그램에서 유효한 출력

는 프로필에 지정된 대로 명령을 SDK 실행한 다음 표준 출력 스트림에서 데이터를 읽습니다. 스크립트 프로그램이든 바이너리 프로그램이든 관계없이 지정하는 명령은 다음 구문과 STDOUT 일치하는 JSON 출력을 생성해야 합니다.

{ "Version": 1, "AccessKeyId": "an AWS access key", "SecretAccessKey": "your AWS secret access key", "SessionToken": "the AWS session token for temporary credentials", "Expiration": "RFC3339 timestamp for when the credentials expire" }
참고

이 문서의 작성일 현재, Version 키는 1로 설정되어 있습니다. 구조가 발전하면서 시간에 따라 이 값이 증가할 수 있습니다.

Expiration키는 RFC3339 형식이 지정된 타임스탬프입니다. Expiration키가 도구 출력에 없는 경우 는 자격 증명이 새로 고쳐지지 않는 장기 자격 SDK 증명이라고 가정합니다. 그렇지 않은 경우 보안 인증은 임시 보안 인증으로 간주되며, 기간이 만료되기 전에 credential_process 명령을 다시 실행하면 자동으로 새로 고침됩니다.

참고

는 역할 수임 자격 증명과 달리 외부 프로세스 자격 증명을 캐시하지 SDK 않습니다. 캐싱이 필요한 경우에는 외부 프로세스에서 이를 실행해야 합니다.

외부 프로세스는 보안 인증을 검색하는 동안 오류가 발생했음을 나타내기 위해 0이 아닌 반환 코드를 반환할 수 있습니다.

와의 호환성 AWS SDKs

다음은 이 항목에 설명된 기능 및 설정을 SDKs 지원합니다. 모든 일부 예외가 기록됩니다. 모든 JVM 시스템 속성 설정은 에서 지원됩니다. AWS SDK for Java 그리고 AWS SDK for Kotlin 오직.

SDK 지원 참고 또는 추가 정보
AWS CLI v2
SDKC++의 경우
SDKGo V2 (1.x) 용
SDKGo 1.x (V1) 용 공유 config 파일 설정을 사용하려면 구성 파일에서 로드를 켜야 합니다. 세션을 참조하십시오.
SDK자바 2.x의 경우
SDK자바 1.x의 경우
SDK3.x용 JavaScript
SDK2.x의 경우 JavaScript
SDK코틀린의 경우
SDK왜냐하면. NET3.x
SDK3.x의 경우 PHP
SDK파이썬용 (보토3)
SDK루비 3.x의 경우
SDK러스트용
SDK스위프트용
를 위한 도구 PowerShell