기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
공유 config 및 credentials 파일을 사용하여 AWS SDK와 도구를 글로벌로 구성
공유 AWS config 및 credentials 파일은 AWS SDK 또는 도구에 인증 및 구성을 지정할 수 있는 가장 일반적인 방법입니다.
공유 config 및 credentials 파일에는 프로파일 집합이 포함되어 있습니다. 프로파일은 키–값 쌍으로 구성된 설정 집합으로, AWS SDK, AWS Command Line Interface(AWS CLI) 및 기타 도구에서 사용됩니다. 구성 값은 프로파일이 사용될 때 SDK/도구의 일부 측면을 구성하기 위해 프로파일에 첨부됩니다. 이러한 파일은 값이 사용자의 로컬 환경에 있는 모든 애플리케이션, 프로세스 또는 SDK에 적용된다는 점에서 “공유”됩니다.
공유 config 및 credentials 파일 모두 ASCII 문자만 포함된 일반 텍스트 파일입니다(UTF-8 인코딩). 이들은 일반적으로 INI
프로필
공유 config 및 credentials 파일 내의 설정은 특정 프로파일과 연결됩니다. 파일 안에 여러 프로파일을 정의해, 서로 다른 개발 환경에 적용할 다양한 설정 구성을 만들 수 있습니다.
[default] 프로파일에는 이름이 지정된 특정 프로파일이 지정되지 않은 경우 SDK 또는 도구 작업에 사용되는 값이 포함됩니다. 이름으로 명시적으로 참조할 수 있는 별도의 프로파일을 만들 수도 있습니다. 각 프로파일은 애플리케이션과 시나리오에 따라 서로 다른 설정과 값을 사용할 수 있습니다.
참고
[default]는 단순히 이름이 지정되지 않은 프로파일입니다. 이 프로파일은 사용자가 프로파일을 지정하지 않을 경우 SDK에서 사용하는 기본 프로파일이기 때문에 default(이)라는 이름이 지정되었습니다. 상속된 기본값을 다른 프로파일에 제공하지 않습니다. [default] 프로파일에서 무언가를 설정하고 명명된 프로파일에서는 설정하지 않으면 명명된 프로파일을 사용할 때 값이 설정되지 않습니다.
명명된 프로파일 설정
동일한 파일 안에 [default] 프로파일과 여러 명명된 프로파일이 함께 존재할 수 있습니다. 코드를 실행할 때 SDK나 도구에서 사용할 프로파일의 설정을 선택하려면 다음 설정을 사용하세요. 프로파일은 코드 내부에서 선택할 수도 있고, AWS CLI를 사용할 때 명령별로 지정할 수도 있습니다.
다음을 설정하여 이 기능을 구성하세요.
AWS_PROFILE- 환경 변수-
이 환경 변수를 특정 이름의 프로파일이나 ‘default’로 설정하면, 모든 SDK 코드와 AWS CLI 명령이 해당 프로파일의 설정을 사용합니다.
명령 행을 통한 환경 변수 설정의 Linux/macOS 예제:
export AWS_PROFILE="my_default_profile_name";명령줄을 통해 환경 변수를 설정하는 Windows 예제:
setx AWS_PROFILE "my_default_profile_name"
aws.profile- JVM 시스템 속성-
JVM에서 실행되는 Kotlin SDK와 Java SDK 2.x의 경우, aws.profile 시스템 속성을 설정할 수 있습니다. SDK가 서비스 클라이언트를 생성할 때, 코드에서 별도로 재정의하지 않는 한 명명된 프로파일의 설정을 사용합니다. Java SDK 1.x는 이 시스템 속성을 지원하지 않습니다.
참고
여러 애플리케이션이 실행되는 서버에서 애플리케이션을 운영하는 경우, 기본 프로파일 대신 항상 명명된 프로파일을 사용할 것을 권장합니다. 기본 프로파일은 환경의 모든 AWS 애플리케이션에서 자동으로 선택되며 이들 간에 공유됩니다. 따라서 누군가 자신의 애플리케이션을 위해 기본 프로파일을 수정하면, 다른 애플리케이션에도 의도치 않은 영향을 줄 수 있습니다. 이를 방지하기 위해 공유 config 파일에 명명된 프로파일을 정의하고, 코드에서 해당 프로파일을 지정하여 애플리케이션에서 사용하도록 설정하세요. 적용 범위가 오직 사용자의 애플리케이션에만 영향을 준다는 것이 확실한 경우, 환경 변수나 JVM 시스템 속성을 사용해 명명된 프로파일을 설정할 수도 있습니다.
구성 파일 형식
config 파일은 섹션으로 구성됩니다. 섹션은 이름이 지정된 설정 모음이며 다른 섹션 정의 라인을 찾을 때까지 계속됩니다.
config 파일은 다음 형식을 사용하는 일반 텍스트 파일입니다.
-
섹션의 모든 항목은
setting-name=value와 같은 일반적인 형식을 취합니다. -
줄은 해시태그 문자(
#)로 시작하여 주석 처리할 수 있습니다.
섹션 유형
섹션 정의는 설정 모음에 이름을 적용하는 줄입니다. 섹션 정의 줄은 대괄호([])로 시작하고 끝납니다. 대괄호 안에는 섹션 유형 식별자와 섹션의 사용자 지정 이름이 있습니다. 문자, 숫자, 하이픈(-)및 밑줄(_)은 사용할 수 있지만 공백은 사용할 수 없습니다.
섹션 유형: default
섹션 정의 줄의 예: [default]
[default]는 profile 섹션 식별자가 필요하지 않은 유일한 프로파일입니다.
다음은 [default] 프로파일이 있는 기본 config 파일을 보여주는 예입니다. region 설정값을 설정합니다. 이 줄 이후에 나오는 모든 설정은 다른 섹션 정의가 나타나기 전까지 해당 프로파일에 속하는 것으로 간주됩니다.
[default] #Full line comment, this text is ignored. region = us-east-2
섹션 유형: profile
섹션 정의 줄의 예: [profile
dev]
profile 섹션 정의 줄은 서로 다른 개발 시나리오에 적용할 수 있는 명명된 구성 그룹입니다. 명명된 프로파일의 이해를 높이려면 프로파일의 이전 섹션을 참조하십시오.
다음 예제는 profile 섹션 정의 줄과 foo라고 부르는 명명된 프로파일이 포함된 config 파일을 보여줍니다. 이 줄 이후에 나오는 모든 설정은 다른 섹션 정의가 나타나기 전까지 이 명명된 프로파일에 속하는 것으로 간주됩니다.
[profilefoo] ...settings...
일부 설정에는 다음 예제의 s3 설정 및 하위 설정과 같은 중첩된 자체 하위 설정 그룹이 있습니다. 하나 이상의 공백으로 들여쓰기하여 하위 설정을 그룹과 연결합니다.
[profile test] region = us-west-2 s3 = max_concurrent_requests=10 max_queue_size=1000
섹션 유형: sso-session
섹션 정의 줄의 예: [sso-session
my-sso]
sso-session 섹션 정의 줄은 AWS IAM Identity Center을 사용하여 AWS 보안 인증을 확인하기 위해 프로파일을 구성하는 데 사용하는 설정 그룹의 이름을 지정합니다. Single Sign-On 인증 구성에 대한 자세한 내용은 IAM Identity Center를 사용하여 AWS SDK 및 도구 인증 섹션을 참조하십시오. 프로파일은 키-값 쌍으로 sso-session 섹션에 연결됩니다. 여기서 sso-session 값은 키이고 sso-session 섹션 이름은 sso-session =
<name-of-sso-session-section> 같은 값입니다.
1다음 예에서는 ‘my-sso’의 토큰을 사용하여 ‘111122223333’ 계정의 ‘SampleRole’ IAM 역할에 대한 단기 AWS 보안 인증을 가져올 프로파일을 구성합니다. “my-sso” sso-session 섹션은 sso-session 키를 사용하여 profile 섹션에서 이름으로 참조됩니다.
[profiledev] sso_session =my-ssosso_account_id =111122223333sso_role_name =SampleRole[sso-sessionmy-sso] sso_region =us-east-1sso_start_url =https://my-sso-portal.awsapps.com/start
섹션 유형: services
섹션 정의 줄의 예: [services
dev]
참고
이 services 섹션은 서비스별 엔드포인트 사용자 정의를 지원하며 이 기능이 포함된 SDK 및 도구에서만 사용할 수 있습니다. SDK에서 이 기능을 사용할 수 있는지 확인하려면 서비스별 엔드포인트에 대한 AWS SDKs 도구 지원을(를)참조하십시오.
services 섹션 정의 줄은 AWS 서비스 요청에 대한 사용자 지정 엔드포인트를 구성하는 설정 그룹의 이름을 지정합니다. 프로파일은 키-값 쌍으로 services 섹션에 연결됩니다. 여기서 services 값은 키이고 services 섹션 이름은 services =
<name-of-services-section> 같은 값입니다.
services 섹션은 <SERVICE> = 줄로 하위 섹션으로 구분되며, 여기서 <SERVICE> 값은 AWS 서비스 서비스 식별자 키입니다. AWS 서비스 서비스 식별자는 모든 공백을 밑줄로 바꾸고 모든 문자를 소문자로 바꾸는 방식으로 API 모델의 serviceId를 기반으로 합니다. services 섹션에서 사용할 모든 서비스 식별자 키 목록은 서비스별 엔드포인트 식별자을 참조하십시오. 서비스 식별자 키 뒤에는 각각 고유한 줄에 공백 두 개로 들여쓰기하여 중첩된 설정이 이어집니다.
다음 예에서는 services 정의를 사용하여 Amazon DynamoDB 서비스에 대한 요청에만 사용할 엔드포인트를 구성합니다. "local-dynamodb" services 섹션은 services 키를 사용하여 profile 섹션에서 이름으로 참조됩니다. AWS 서비스 식별자 키는 dynamodb입니다. Amazon DynamoDB 서비스 하위 섹션은 dynamodb = 줄에서 시작됩니다. 들여쓰기된 바로 다음 줄은 해당 하위 섹션에 포함되며 해당 서비스에 적용됩니다.
[profiledev] services =local-dynamodb[serviceslocal-dynamodb] dynamodb = endpoint_url =http://localhost:8000
사용자 지정 엔드포인트 구성에 대한 자세한 내용은 서비스별 엔드포인트 섹션을 참조하십시오.
보안 인증 파일의 형식
프로파일 섹션이 profile 단어로 시작하지 않는다는 점을 제외하면 credentials 파일의 규칙은 일반적으로 config 파일 규칙과 동일합니다. 대괄호 사이에 프로파일 이름만 사용하세요. 다음 예제는 foo라고 불리는 명명된 프로파일 섹션이 포함된 credentials 파일을 보여줍니다.
[foo] ...credential settings...
다음과 같이 ‘비밀’ 또는 민감한 정보로 간주되는 설정만 aws_access_key_id, aws_secret_access_key, aws_session_token과 같은 credentials 파일에 저장할 수 있습니다. 이러한 설정은 공유 config 파일에 넣을 수도 있지만, 이러한 민감한 값은 별도의 credentials 파일에 보관할 것을 권장합니다. 이렇게 하면 필요한 경우 각 파일에 별도의 권한을 제공할 수 있습니다.
다음은 [default] 프로파일이 있는 기본 credentials 파일을 보여주는 예입니다. 이는 aws_access_key_id, aws_secret_access_key 및 aws_session_token 글로벌 설정을 지정합니다.
[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLEaws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYaws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
credentials 파일에서 ‘default’ 프로파일을 사용하든 명명된 프로파일을 사용하든, 여기의 모든 설정은 같은 프로파일 이름을 사용하는 config 파일의 설정과 결합됩니다. 동일한 이름을 공유하는 프로파일에 대한 보안 인증이 두 파일 모두에 있는 경우 보안 인증 파일의 키가 우선합니다.