기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
IMDS자격 증명 제공자
인스턴스 메타데이터 서비스 (IMDS) 는 실행 중인 인스턴스를 구성하거나 관리하는 데 사용할 수 있는 인스턴스에 대한 데이터를 제공합니다. 사용 가능한 데이터에 대한 자세한 내용은 Amazon 사용 설명서의 인스턴스 메타데이터 EC2 사용을 참조하십시오. EC2Amazon은 인스턴스에 다양한 정보를 제공할 수 있는 로컬 엔드포인트를 제공합니다. 인스턴스에 역할이 연결된 경우 해당 역할에 유효한 보안 인증 세트를 제공할 수 있습니다. 해당 엔드포인트를 사용하여 기본 자격 증명 공급자 체인의 일부로 자격 증명을 확인할 SDKs 수 있습니다. 세션 토큰을 사용하는 보다 안전한 버전인 인스턴스 메타데이터 서비스 버전 2 (IMDSv2) 가 기본적으로 사용됩니다. IMDS 재시도할 수 없는 조건 (HTTP오류 코드 403, 404, 405) 으로 인해 실패하는 경우 대체 수단으로 사용됩니다. IMDSv1
다음을 사용하여 이 기능을 구성하십시오.
AWS_EC2_METADATA_DISABLED
- 환경 변수-
자격 증명을 얻기 위해 Amazon EC2 인스턴스 메타데이터 서비스 (IMDS) 를 사용할지 여부
기본값:
false
유효값:
-
true
— 자격 증명을 얻는 IMDS 데 사용하지 마십시오. -
false
— 자격 증명을 얻는 IMDS 데 사용합니다.
-
ec2_metadata_v1_disabled
- 공유 AWSconfig
파일 설정AWS_EC2_METADATA_V1_DISABLED
- 환경 변수aws.disableEc2MetadataV1
- JVM 시스템 속성: 자바/코틀린 전용-
실패 시 인스턴스 메타데이터 서비스 버전 1 (IMDSv1) 을 폴백으로 사용할지 여부 IMDSv2
참고
새 버전은 이 설정을 SDKs 지원하지 IMDSv1 않으므로 지원하지 않습니다. 자세한 내용은 테이블 와의 호환성 AWS SDKs를 참조하세요.
기본값:
false
유효값:
-
true
— 대체 IMDSv1 수단으로 사용하지 마십시오. -
false
— IMDSv1 폴백으로 사용합니다.
-
ec2_metadata_service_endpoint
- 공유 AWSconfig
파일 설정AWS_EC2_METADATA_SERVICE_ENDPOINT
- 환경 변수aws.ec2MetadataServiceEndpoint
- JVM 시스템 속성: 자바/코틀린 전용-
의 엔드포인트. IMDS
기본값:
ec2_metadata_service_endpoint_mode
와IPv4
이 같으면 기본 엔드포인트는http://169.254.169.254
입니다.ec2_metadata_service_endpoint_mode
와IPv6
이 같으면 기본 엔드포인트는http://[fd00:ec2::254]
입니다.유효 값: 유효URI.
ec2_metadata_service_endpoint_mode
- 공유 AWSconfig
파일 설정AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE
- 환경 변수aws.ec2MetadataServiceEndpointMode
- JVM 시스템 속성: 자바/코틀린 전용-
의 엔드포인트 모드. IMDS
기본값:
IPv4
.유효한 값:
IPv4
,IPv6
.
참고
IMDS자격 증명 공급자는 의 보안 인증 공급자 체인 일부입니다. 그러나 IMDS 자격 증명 공급자는 이 시리즈에 속한 다른 여러 공급자를 거친 후에만 확인됩니다. 따라서 프로그램에서 이 공급자의 보안 인증을 사용하려면 구성에서 다른 유효한 보안 인증 공급자를 제거하거나 다른 프로파일을 사용해야 합니다. 또는 자격 증명 공급자 체인에 의존하여 어떤 제공자가 유효한 자격 증명을 반환하는지 자동으로 검색하는 대신 코드에 자격 증명 공급자의 IMDS 용도를 지정하십시오. 서비스 클라이언트를 생성할 때 보안 인증 소스를 직접 지정할 수 있습니다.
자격 증명 보안 IMDS
기본적으로 다음과 같은 경우 AWS SDK유효한 자격 증명으로 구성되지 않은 SDK 경우 Amazon EC2 인스턴스 메타데이터 서비스 (IMDS) 를 사용하여 자격 증명을 검색하려고 시도합니다. AWS 역할. AWS_EC2_METADATA_DISABLED
환경 변수를 true
로 설정하여 이 동작을 비활성화할 수 있습니다. 이를 통해 Amazon EC2 인스턴스 메타데이터 서비스를 가장할 수 있는 신뢰할 수 없는 네트워크에서의 불필요한 네트워크 활동을 방지하고 보안을 강화합니다.
참고
AWS SDK유효한 자격 증명으로 구성된 클라이언트는 이러한 설정과 상관없이 자격 증명을 검색하는 IMDS 데 절대 사용하지 않습니다.
Amazon EC2 IMDS 자격 증명 사용 중지
이 환경 변수를 설정하는 방법은 사용 중인 운영 체제와 변경 내용을 지속적으로 적용할지 여부에 따라 달라집니다.
Linux 및 macOS
Linux 또는 macOS를 사용하는 고객은 다음 명령을 사용해 이 환경 변수를 설정할 수 있습니다.
$ export AWS_EC2_METADATA_DISABLED=true
여러 쉘 세션 및 시스템 재시작 시에도 이 설정을 유지하려면 위의 명령을 .bash_profile
, .zsh_profile
, 혹은 .profile
등의 쉘 프로파일 파일에 추가할 수 있습니다.
Windows
Windows를 사용하는 고객은 다음 명령을 사용해 이 환경 변수를 설정할 수 있습니다.
$ set AWS_EC2_METADATA_DISABLED=true
이 설정을 여러 쉘 세션 및 시스템 재시작에 걸쳐 지속되게 하려면 다음 명령을 대신 사용할 수 있습니다.
$ setx AWS_EC2_METADATA_DISABLED=true
참고
이 setx 명령은 현재 쉘 세션에 값을 적용하지 않으므로 변경 내용을 적용하려면 쉘을 다시 로드하거나 다시 열어야 합니다.
와의 호환성 AWS SDKs
다음은 이 항목에 설명된 기능 및 설정을 SDKs 지원합니다. 모든 일부 예외가 기록됩니다. 모든 JVM 시스템 속성 설정은 에서 지원됩니다. AWS SDK for Java 그리고 AWS SDK for Kotlin 오직.
SDK | 지원 | 참고 또는 추가 정보 |
---|---|---|
AWS CLI v2 | 예 | |
SDKC++의 경우 | 예 | |
SDK고 V2 (1.x) 용 |
예 | |
SDKGo 1.x (V1) 용 | 예 | 공유 config 파일 설정을 사용하려면 구성 파일에서 로드를 켜야 합니다. 세션을 참조하십시오. |
SDK자바 2.x의 경우 | 예 | |
SDK자바 1.x의 경우 | 부분 | JVM시스템 속성: com.amazonaws.sdk.disableEc2MetadataV1 대신 aws.ec2MetadataServiceEndpoint 사용하며 지원되지 aws.ec2MetadataServiceEndpointMode 않습니다aws.disableEc2MetadataV1 . |
SDK JavaScript 3.x용 | 예 | |
SDK2.x의 경우 JavaScript | 예 | |
SDK코틀린의 경우 | 예 | 폴백을 사용하지 IMDSv1 않습니다. |
SDK용. NET3.x | 예 | |
SDK3.x의 경우 PHP | 예 | |
SDK파이썬용 (보토3) |
예 | |
SDK루비 3.x의 경우 | 예 | |
SDK러스트용 | 예 | IMDSv1폴백을 사용하지 않습니다. |
SDK스위프트용 | 예 | |
를 위한 도구 PowerShell | 예 | 를 사용하여 코드에서 IMDSv1 폴백을 명시적으로 비활성화할 수 있습니다. [Amazon.Util.EC2InstanceMetadata]::EC2MetadataV1Disabled = $true |