기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS 액세스 키 관리를 위한 모범 사례
사용할 때AWS프로그래밍 방식으로 다음을 제공합니다.AWS키에 액세스하여AWS프로그래밍 호출로 신원을 확인할 수 있습니다. 액세스 키는 액세스 키 ID로 구성됩니다 (예:AKIAIOSFODNN7EXAMPLE
) 및 보안 액세스 키 (예:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
).
액세스 키가 있는 사람은 누구나 동일한 수준의 액세스 권한을 가집니다.AWS당신이 하는 자원. 그 결과,AWS귀하의 액세스 키를 보호하기 위해 상당한 노력을 기울이고 있으며, 당사의 방침에 따라책임 공유 모델
다음 단계는 액세스 키를 보호하는 데 도움이 될 수 있습니다. 배경 정보는 에 대한 액세스 키 생성 및 삭제AWS 계정 루트 사용자를 참조하십시오.
참고
사용자 조직의 보안 요구 사항과 정책은 이 주제에 설명된 것과 다를 수 있습니다. 여기에 제공된 제안 사항은 일반적인 지침을 위한 것입니다.
계정 액세스 키 제거(또는 생성하지 않음)
를 사용하여 보내는 요청에 서명하려면 액세스 키를 사용해야 합니다.AWS커맨드 라인 툴
계정을 보호하는 가장 좋은 방법 중 하나는 계정에 대한 액세스 키를 보유하지 않는 것입니다.AWS 계정 루트 사용자. 루트 사용자 액세스 키가 있어야 하는 경우가 아니면 (드문 경우) 생성하지 않는 것이 좋습니다. 대신 에서 관리 사용자를 생성하십시오.AWS IAM Identity Center (successor to AWS Single Sign-On)일상적인 관리 업무에 적합합니다.
계정에 대한 액세스 키가 이미 있는 경우 다음을 수행하는 것이 좋습니다. 애플리케이션에서 현재 액세스 키를 사용하고 있는 위치 (있는 경우) 를 찾고 루트 사용자 액세스 키를 IAM 사용자 액세스 키로 교체하십시오. 그런 다음 루트 사용자 액세스 키를 비활성화하고 제거합니다. 한 액세스 키를 다른 액세스 키로 대체하는 방법에 대한 자세한 내용은 을 참조하십시오.IAM 사용자의 액세스 키를 교체하는 방법
기본적으로AWS새 계정에 대한 액세스 키를 생성하지 않습니다.
IAM Identity Center에서 관리자 사용자를 생성하는 방법에 대한 자세한 내용은 을 참조하십시오.시작하기에서IAM 아이덴티티 센터 사용 설명서.
장기 액세스 키 대신 임시 보안 자격 증명 (IAM 역할) 사용
대부분의 시나리오에서는 만료되지 않는 장기 액세스 키가 필요하지 않습니다 (IAM 사용자의 경우처럼). 대신, IAM 역할을 만들고 임시 보안 인증 정보를 생성할 수 있습니다. 임시 보안 자격 증명은 액세스 키 ID와 보안 액세스 키로 구성되지만, 자격 증명이 만료되는 시간을 나타내는 보안 토큰을 포함합니다.
장기 액세스 키 (예: IAM 사용자와 관련된 키)AWS 계정 루트 사용자s, 수동으로 취소할 때까지 유효합니다. 그러나 IAM 역할 및 기타 기능을 통해 획득한 임시 보안 자격 증명은AWS Security Token Service짧은 기간 후에 만료됩니다. 임시 보안 자격 증명을 사용하면 자격 증명이 실수로 노출된 경우에 위험을 줄일 수 있습니다.
다음 시나리오에서는 IAM 역할 및 임시 보안 자격 증명을 사용하십시오.
-
신청서가 있거나AWS CLIAmazon EC2 인스턴스에서 실행되는 스크립트 애플리케이션에서 직접 액세스 키를 사용하지 마십시오. 액세스 키를 애플리케이션에 전달하거나 애플리케이션에 임베드하거나 애플리케이션이 모든 소스의 액세스 키를 읽도록 하지 마십시오. 대신 애플리케이션에 대한 적절한 권한이 있는 IAM 역할을 정의하고 다음을 사용하여 Amazon Elastic Compute Cloud (Amazon EC2) 인스턴스를 시작하십시오.EC2의 역할. 이렇게 하면 IAM 역할이 Amazon EC2 인스턴스와 연결됩니다. 또한 이렇게 하면 애플리케이션이 임시 보안 자격 증명을 가져와서 프로그래밍 방식으로 호출하는 데 사용할 수 있습니다.AWS. 더AWSSDK 및AWS Command Line Interface(AWS CLI) 는 역할에서 자동으로 임시 자격 증명을 가져올 수 있습니다.
-
교차 계정 액세스 권한을 부여해야 합니다. IAM 역할을 사용하여 계정 간에 신뢰를 설정한 다음 한 계정의 사용자에게 신뢰할 수 있는 계정에 액세스할 수 있는 제한된 권한을 부여합니다. 자세한 내용은 을 참조하십시오.튜토리얼: 전체 액세스 권한 위임AWS 계정IAM 역할 사용에서IAM 사용 설명서.
-
모바일 앱을 사용합니다. 암호화된 저장소에도 액세스 키를 앱에 내장하지 마세요. 대신 사용아마존 코그니토
앱에서 사용자 ID를 관리할 수 있습니다. 이 서비스를 사용하면 Login with Amazon, Facebook, Google 또는 OpenID Connect(OIDC) 호환 자격 증명 공급자를 통해 사용자를 인증할 수 있습니다. 그런 다음 Amazon Cognito 자격 증명 공급자를 사용하여 앱이 요청하는 데 사용하는 자격 증명을 관리할 수 있습니다.AWS. -
AWS에 연동하려고 하고 조직에서 SAML 2.0을 지원합니다. SAML 2.0을 지원하는 자격 증명 공급자가 있는 조직에서 작업하는 경우 SAML을 사용하도록 공급자를 구성합니다. SAML을 사용하여 인증 정보를 AWS와 교환하고 임시 보안 자격 증명 세트를 다시 가져올 수 있습니다. 자세한 내용은 을 참조하십시오.SAML 2.0 기반 페더레이션에 대한 정보에서IAM 사용 설명서.
-
AWS에 연동하려고 하고 조직에 온프레미스 자격 증명 스토어가 있습니다. 사용자가 조직 내부에서 인증할 수 있는 경우 AWS 리소스에 액세스하기 위한 임시 보안 자격 증명을 발급하는 애플리케이션을 작성할 수 있습니다. 자세한 내용은 을 참조하십시오.에 대한 사용자 지정 ID 브로커 액세스 활성화AWS Management Console에서IAM 사용 설명서.
IAM 사용자 액세스 키를 올바르게 관리하세요
프로그래밍 방식으로 액세스하기 위해 액세스 키를 만들어야 하는 경우AWS, IAM 사용자용으로 생성하여 사용자에게 필요한 권한만 부여하십시오. 자세한 내용은 IAM 사용 설명서에서 IAM 사용자의 액세스 키 관리를 참조하세요.
참고
Amazon EC2 인스턴스를 프로그래밍 방식으로 액세스해야 하는 애플리케이션과 함께 사용하고 있습니까?AWS리소스? 그렇다면 다음을 사용하십시오.EC2용 IAM 역할.
액세스 키를 사용할 때 다음 사항에 주의하십시오.
-
액세스 키를 코드에 직접 포함하지 마십시오. 더AWSSDK
그리고AWS커맨드 라인 툴 액세스 키를 알려진 위치에 배치할 수 있으므로 코드에 보관할 필요가 없습니다. 액세스 키를 다음 중 한 곳에 보관하십시오.
-
AWS 자격 증명 파일. AWS SDK 및 AWS CLI에서는 AWS 자격 증명 파일에 저장된 자격 증명을 자동으로 사용합니다.
AWS 자격 증명 파일을 사용하는 방법에 대한 자세한 내용은 SDK 설명서를 참조하십시오. 예에는 다음이 포함됩니다.세트AWS자격 증명 및 지역에서AWS SDK for Java개발자 가이드과구성 및 자격 증명 파일에서AWS Command Line Interface사용자 가이드.
에 대한 자격 증명을 저장하려면AWS SDK for .NET그리고AWS Tools for Windows PowerShell, SDK 스토어를 사용하는 것이 좋습니다. 자세한 내용은 을 참조하십시오.SDK 스토어 사용에서AWS SDK for .NET개발자 가이드.
-
환경 변수. 다중 테넌트 시스템에서 시스템 환경 변수가 아닌 사용자 환경 변수를 선택합니다.
환경 변수를 사용하여 자격 증명을 저장하는 방법에 대한 자세한 내용은 을 참조하십시오.환경 변수에서AWS Command Line Interface사용자 가이드.
-
-
애플리케이션마다 서로 다른 액세스 키를 사용합니다. 이렇게 하면 개별 애플리케이션이 노출될 경우 권한을 분리하고 액세스 키를 취소할 수 있습니다. 또한 애플리케이션별로 별도의 액세스 키를 사용하면 AWS CloudTrail
로그 파일에 개별 항목이 생성됩니다. 이 구성을 사용하면 특정 작업을 수행한 애플리케이션을 쉽게 확인할 수 있습니다. -
주기적으로 액세스 키를 교체합니다. 액세스 키를 정기적으로 변경합니다. 자세한 내용은 을 참조하십시오.회전식 액세스 키 (AWS CLI, 윈도우용 도구PowerShell, 및AWSAPI)에서IAM 사용 설명서과IAM 사용자의 액세스 키를 교체하는 방법
에AWS보안 블로그. -
미사용 액세스 키를 제거합니다. 사용자가 조직을 떠나는 경우 해당 IAM 사용자를 제거하여 해당 사용자가 더 이상 리소스에 액세스할 수 없도록 하십시오. 액세스 키가 마지막으로 사용된 시간을 확인하려면
GetAccessKeyLastUsed
API(AWS CLI 명령:aws iam get-access-key-last-used
)를 사용합니다. -
가장 중요한 작업에 대해 멀티 팩터 인증을 구성합니다. 자세한 내용은 IAM 사용 설명서의 AWS에서 멀티 팩터 인증(MFA) 사용을 참조하세요.
AWS 액세스 키를 사용하여 모바일 앱 액세스
AWS 모바일 앱을 사용하여 일부 AWS 서비스 및 기능에 액세스할 수 있습니다. 모바일 앱을 사용하여 이동 중에도 인시던트 대응을 지원할 수 있습니다. 자세한 내용을 확인하고 앱을 다운로드하려면 AWS 콘솔 모바일 애플리케이션
콘솔 암호 또는 액세스 키를 사용하여 모바일 앱에 로그인할 수 있습니다. 가장 좋은 방법은 루트 사용자 액세스 키를 사용하지 않는 것입니다. 대신 모바일 장치에서 암호 또는 생체 인식 잠금을 사용하는 것 외에도 다음을 사용하는 것이 좋습니다.IAM 사용자 생성관리하다AWS자원. 모바일 디바이스를 분실한 경우 IAM 사용자의 액세스 권한을 제거할 수 있습니다. IAM 사용자의 액세스 키 생성에 대한 자세한 내용은 을 참조하십시오.IAM 사용자의 액세스 키 관리에서IAM 사용 설명서.
액세스 키를 사용하여 로그인하려면(모바일 앱)
-
모바일 디바이스에서 모바일 앱을 엽니다.
-
디바이스에 ID를 처음 추가하는 경우 Add an identity(ID 추가)를 선택한 다음 Access keys(액세스 키)를 선택합니다.
다른 ID를 사용하여 이미 로그인한 경우 메뉴 아이콘을 선택하고 Switch identity(ID 전환)를 선택합니다. 그러고 나서 Sign in as a different identity(다른 ID로 로그인)을 선택한 다음 Access keys(액세스 키)를 선택합니다.
-
Access keys(액세스 키) 페이지에 정보를 입력합니다.
-
액세스 키 ID— 액세스 키 ID를 입력합니다.
-
비밀 액세스 키— 보안 액세스 키를 입력합니다.
-
아이덴티티 이름— 모바일 앱에 표시될 ID의 이름을 입력합니다. 이 이름은 IAM 사용자 이름과 일치하지 않아도 됩니다.
-
아이덴티티 핀— 나중에 로그인할 때 사용할 개인 식별 번호 (PIN) 를 만드세요.
참고
AWS 모바일 앱에 생체 인식을 활성화하면 PIN 대신 확인을 위해 지문 또는 안면 인식을 사용하라는 메시지가 표시됩니다. 생체 인식에 실패하면 PIN을 입력하라는 메시지가 대신 표시될 수 있습니다.
-
-
Verify and add keys(확인하고 키 추가)를 선택합니다.
이제 모바일 앱을 사용하여 일부 리소스에 액세스할 수 있습니다.
자세히 알아보기
보관 모범 사례에 대한 자세한 내용은AWS 계정보안을 유지하려면 다음 리소스를 참조하십시오.
-
IAM 베스트 프랙티스. 사용에 대한 제안 사항이 포함되어 있습니다.AWS Identity and Access Management보안을 지원하는 (IAM) 서비스AWS자원
-
다음 항목에서는 설정에 대한 지침을 제공합니다.AWSSDK 및AWS CLI액세스 키를 사용하려면:
-
세트AWS자격 증명 및 지역에서AWS SDK for Java개발자 가이드
-
SDK 스토어 사용에서AWS SDK for .NET개발자 가이드
-
SDK에 자격 증명 제공에서AWS SDK for PHP개발자 가이드
-
구성
인 더 보토 3 (AWSSDK (파이썬용) 설명서 -
사용AWS자격 증명에서AWS Tools for Windows PowerShell사용자 가이드
-
구성 및 자격 증명 파일에서AWS Command Line Interface사용자 가이드
-
IAM 역할을 사용한 액세스 권한 부여에서AWS SDK for .NET개발자 가이드. 를 사용하여 프로그램을 작성하는 방법에 대해 설명합니다.AWS SDK for .NETAmazon EC2 인스턴스에서 실행할 때 임시 보안 자격 증명을 자동으로 가져올 수 있습니다. 다음과 같은 정보를 이용할 수 있습니다.AWS자바용 SDK.
-