Amazon Keyspace에 AWS 자격 증명을 생성하고 구성하는 방법 - Amazon Keyspaces(Apache Cassandra용)

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

Amazon Keyspace에 AWS 자격 증명을 생성하고 구성하는 방법

AWS CLI, AWS SDK, 또는 Cassandra 클라이언트 드라이버 및 SigV4 플러그인을 사용하여 프로그래밍 방식으로 Amazon Keyspaces에 액세스하려면 액세스 키가 있는 IAM 사용자 또는 역할이 필요합니다. AWS을 프로그래밍 방식으로 사용할 때 AWS가 프로그래밍 방식의 호출에서 ID를 확인할 수 있도록 AWS 액세스 키를 제공할 수 있습니다. 액세스 키는 액세스 키 ID(예: AKIAIOSFODNN7EXAMPLE)와 비밀 액세스 키(예: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY)로 구성됩니다. 이 주제에서는 이 프로세스의 필수 단계를 살펴봅니다.

AWS CLI, AWS SDK, 또는 Cassandra 클라이언트 드라이버용 Amazon Keyspaces SigV4 플러그인에 필요한 보안 인증 정보

IAM 사용자 또는 역할을 인증하는 데 필요한 다음 자격 증명은 다음과 같습니다.

AWS_ACCESS_KEY_ID

IAM 사용자 또는 역할과 연결된 AWS 액세스 키를 지정합니다.

Amazon Keyspace에 프로그래밍 방식으로 접속하려면 액세스 키 aws_access_key_id가 필요합니다.

AWS_SECRET_ACCESS_KEY

액세스 키와 연결된 보안 키를 지정합니다. 이는 액세스 키에 대한 기본적인 "암호"입니다.

Amazon Keyspace에 프로그래밍 방식으로 접속하려면 aws_secret_access_key가 필요합니다.

AWS_SESSION_TOKEN – 선택 사항

AWS Security Token Service 작업에서 직접 검색한 임시 보안 자격 증명을 사용하는 경우 필요한 세션 토큰 값을 지정합니다. 자세한 내용은 IAM 역할 및 SigV4 플러그인을 사용하여 임시 보안 인증 정보로 Amazon Keyspaces에 접속 섹션을 참조하세요.

IAM 사용자로 연결하는 경우에는 aws_session_token이 필요하지 않습니다.

AWS 계정의 Amazon Keyspaces에 프로그래밍 방식으로 액세스하기 위한 IAM 사용자 생성

AWS CLI을 통해 AWS SDK 또는 SigV4 플러그인을 사용하여 Amazon Keyspaces에 프로그래밍 방식으로 액세스하기 위한 보안 인증 정보를 얻으려면 먼저 IAM 사용자 또는 역할을 생성해야 합니다. IAM 사용자를 생성하고 해당 IAM 사용자가 Amazon Keyspaces에 프로그래밍 방식으로 액세스할 수 있도록 구성하는 과정은 다음 단계와 같습니다.

  1. AWS Management Console, AWS CLI 또는 Tools for Windows PowerShell에서나 AWS API 작업을 사용하여 사용자를 생성합니다. AWS Management Console에서 사용자를 생성하면 보안 인증 정보가 자동으로 생성됩니다.

  2. 프로그래밍 방식으로 사용자를 생성하는 경우 추가 단계에서 해당 사용자의 액세스 키(0액세스 키 ID 및 비밀 액세스 키)를 생성해야 합니다.

  3. 사용자에게 Amazon Keyspace에 액세스할 수 있는 권한을 부여합니다.

사용자를 생성하는 데 필요한 권한에 대한 자세한 내용은 IAM 리소스에 액세스하는 데 필요한 권한을 참조하세요.

IAM 사용자 생성(콘솔)

AWS Management Console을 사용하여 IAM 사용자를 생성할 수 있습니다.

프로그래밍 방식의 액세스 권한이 있는 IAM 사용자 생성(콘솔)
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 사용자(Users)사용자 추가(Add users)를 차례로 선택합니다.

  3. 신규 사용자의 사용자 이름을 입력합니다. 이것은 AWS에 로그인할 때 사용하는 이름입니다.

    참고

    사용자 이름에는 최대 64개의 문자, 숫자 및 더하기(+), 등호(=), 쉼표(,), 마침표(.), 앳(@) 및 하이픈(-) 조합을 사용할 수 있습니다. 이름은 계정 내에서 고유해야 합니다. 대소문자는 구별하지 않습니다. 예를 들어 "TESTUSER""testuser"라는 두 사용자를 만들 수는 없습니다.

  4. 액세스 키 - 프로그래밍 방식 액세스를 선택하여 새 사용자를 위한 액세스 키를 생성합니다. 최종 페이지에 이르면 액세스 키를 보거나 다운로드할 수 있습니다.

    다음: 권한을 선택합니다.

  5. 권한 설정 페이지에서 직접 기존 정책 연결을 선택하여 신규 사용자에게 권한을 부여합니다.

    이 옵션을 선택하면 계정의 AWS 관리형 및 사용자 관리형 정책의 목록이 표시됩니다. 검색 필드에 keyspaces을 입력하면 Amazon Keyspace와 관련된 정책만 표시됩니다.

    Amazon Keyspaces의 경우 사용 가능한 관리형 정책은 AmazonKeyspacesFullAccessAmazonKeyspacesReadOnlyAccess입니다. 각 정책에 대한 자세한 내용은 Amazon Keyspaces의 AWS 관리형 정책 섹션을 참조하십시오.

    테스트 또는 접속 튜토리얼을 따르려면 신규 사용자에 대한 AmazonKeyspacesReadOnlyAccess 정책을 선택합니다. 참고: 최소 권한 원칙을 따르고 특정 리소스에 대한 액세스를 제한하고 필요한 작업만 허용하는 사용자 지정 정책을 만드는 것이 좋습니다. IAM 정책에 대한 자세한 내용과 Amazon Keyspaces 정책 예제를 보려면 Amazon Keyspaces ID 기반 정책 섹션을 참조하세요. 사용자 지정 정책을 생성한 후 정책을 그룹에 연결한 다음 사용자를 적절한 그룹의 구성원으로 만듭니다.

    다음: 태그를 선택합니다.

  6. 태그 추가(선택 사항) 페이지에서 사용자에 대한 태그를 추가하거나 다음: 검토를 선택할 수 있습니다.

  7. 검토 페이지에서 이 시점까지 한 선택을 모두 확인할 수 있습니다. 계속 진행할 준비가 되었으면 사용자 생성을 선택합니다.

  8. 사용자의 액세스 키(액세스 키 ID와 비밀 액세스 키)를 보려면 암호와 액세스 키 옆에 있는 Show(표시)를 선택합니다. 액세스 키를 저장하려면 .csv 다운로드(Download .csv)를 선택한 후 안전한 위치에 파일을 저장합니다.

    중요

    비밀 액세스 키는 이 때만 확인 및 다운로드가 가능하기 때문에 이 정보가 있어야 사용자에게 SigV4 플러그인을 사용할 수 있습니다. 사용자의 새 액세스 키 ID와 비밀 액세스 키를 안전한 장소에 보관하세요. 이 단계 이후에는 보안 키에 다시 액세스할 수 없습니다.

IAM 사용자 생성(AWS CLI)

AWS CLI를 사용하여 IAM 사용자를 생성할 수 있습니다.

프로그래밍 방식의 액세스 권한이 있는 IAM 사용자 생성(AWS CLI)
  1. 다음 AWS CLI 코드를 사용하여 사용자를 생성합니다.

  2. 사용자에게 프로그래밍 방식 액세스 권한을 부여합니다. 이를 위해서는 다음과 같은 방식으로 생성할 수 있는 액세스 키가 필요합니다.

    • AWS CLI: aws iam create-access-key

    • Tools for Windows PowerShell: New-IAMAccessKey

    • IAM API: CreateAccessKey

      중요

      비밀 액세스 키는 이 때만 확인 및 다운로드가 가능하기 때문에 이 정보가 있어야 사용자에게 SigV4 플러그인을 사용할 수 있습니다. 사용자의 새 액세스 키 ID와 비밀 액세스 키를 안전한 장소에 보관하세요. 이 단계 이후에는 보안 키에 다시 액세스할 수 없습니다.

  3. 사용자 권한을 정의한 AmazonKeyspacesReadOnlyAccess 정책을 사용자에게 추가합니다. 주의: 모범 사례로, 사용자에게 직접 정책을 추가하는 대신 그룹에 사용자를 추가하고 그 그룹에 정책을 추가하여 사용자 권한을 관리하시는 것이 좋습니다.

IAM 사용자의 액세스 키 생성

이미 IAM 사용자가 있으면 언제든지 새 액세스 키를 생성할 수 있습니다. IAM 사용자의 액세스 키 관리(예: 액세스 키 순환 방법)에 대한 자세한 내용은 IAM 사용자의 액세스 키 관리를 참조하세요.

IAM 사용자의 액세스 키 생성(콘솔)
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 사용자를 선택합니다.

  3. 액세스 키를 생성하려는 사용자 이름을 선택합니다.

  4. 사용자 요약 페이지에서 보안 인증 정보 탭을 선택합니다.

  5. 액세스 키 섹션에서 Create access key(액세스 키 생성)를 선택합니다.

    새 액세스 키 페어를 보려면 표시를 선택합니다. 자격 증명은 다음과 비슷합니다.

    • 액세스 키 ID: AKIAIOSFODNN7EXAMPLE

    • 비밀 액세스 키: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

    참고

    이 대화 상자를 닫은 후에는 비밀 액세스 키에 다시 액세스할 수 없습니다.

  6. 키 페어 파일을 다운로드하려면 [Download .csv file]을 선택합니다. 안전한 위치에 키를 저장합니다.

  7. .csv 파일을 다운로드한 후 닫기를 선택합니다.

액세스 키를 생성하면 키 페어가 기본적으로 활성화되므로 해당 페어를 즉시 사용할 수 있습니다.

IAM 사용자의 액세스 키 관리 방법

액세스 키를 코드에 직접 포함하지 않는 것이 가장 좋은 방법입니다. AWS SDK 및 AWS 명령줄 도구를 사용하여 액세스 키를 알려진 위치에 보관합니다. 그러면 코드에 포함할 필요가 없습니다. 액세스 키를 다음 중 한 곳에 보관하십시오.

  • 환경 변수 – 다중 테넌트 시스템에서 시스템 환경 변수가 아닌 사용자 환경 변수를 선택합니다.

  • CLI 자격 증명 파일 - credentials 명령을 실행하면 configaws configure 파일이 업데이트됩니다. credentials 파일은 Linux, macOS, Unix에서는 ~/.aws/credentials에, Windows에서는 C:\Users\USERNAME\.aws\credentials에 저장됩니다. 이 파일에는 default 프로필 및 모든 명명된 프로필에 대한 자격 증명 세부 정보가 포함되어 있습니다.

  • CLI 구성 파일 - credentials 명령을 실행하면 configaws configure 파일이 업데이트됩니다. config 파일은 Linux, macOS, Unix에서는 ~/.aws/config에, Windows에서는 C:\Users\USERNAME\.aws\config에 저장됩니다. 이 파일에는 기본 프로필 및 모든 명명된 프로필에 대한 구성 설정이 포함되어 있습니다.

액세스 키를 환경 변수로 저장하는 것은 Apache Cassandra용 4.x DataStax Java 드라이버와 SigV4 인증 플러그인을 사용하여 Amazon Keyspaces에 접속하는 단계별 튜토리얼의 전제 조건입니다. 클라이언트는 기본보안 인증 정보 공급자 체인을 사용하여 보안 인증 정보를 검색하며, 환경 변수로 저장된 액세스 키는 다른 모든 위치(예: 구성 파일)보다 우선합니다. 자세한 내용은 구성 설정 및 우선 순위를 참조하십시오.

다음은 기본 사용자에 대한 환경 변수를 구성할 수 있는 방법을 보여주는 예입니다.

Linux, macOS, or Unix
$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE $ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY $ export AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of security token>

환경 변수를 설정하면 사용되는 값이 변경되어 쉘 세션이 종료될 때까지 또는 변수를 다른 값으로 설정할 때까지 유지됩니다. 쉘의 스타트업 스크립트에서 변수를 설정하면 해당 변수가 향후 세션에서도 영구적으로 적용되도록 할 수 있습니다.

Windows Command Prompt
C:\> setx AWS_ACCESS_KEY_ID AKIAIOSFODNN7EXAMPLE C:\> setx AWS_SECRET_ACCESS_KEY wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY C:\> setx AWS_SESSION_TOKEN AQoDYXdzEJr...<remainder of security token>

환경 변수를 설정하는 데 set을 사용하면 사용되는 값이 변경되어 현재 명령 프롬프트 세션이 종료될 때까지 또는 변수를 다른 값으로 설정할 때까지 유지됩니다. 환경 변수를 설정하는 데 setx를 사용하면 현재 명령 프롬프트 세션과 명령 실행 후 생성한 모든 명령 프롬프트 세션에서 사용되는 값이 변경됩니다. 명령을 실행하는 시점에 이미 실행 중인 다른 명령 쉘에는 영향을 주지 않습니다.

PowerShell
PS C:\> $Env:AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" PS C:\> $Env:AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" PS C:\> $Env:AWS_SESSION_TOKEN="AQoDYXdzEJr...<remainder of security token>"

이전 예에 표시된 대로 PowerShell 프롬프트에서 환경 변수를 설정하면 현재 세션 기간에만 해당 값이 저장됩니다. 모든 PowerShell 및 명령 프롬프트 세션에서 환경 변수 설정이 영구적으로 적용되도록 하려면 제어판에서 시스템 애플리케이션을 사용하여 해당 설정을 저장합니다. 또는 PowerShell 프로파일에 변수를 추가하여 향후 모든 PowerShell 세션에 적용되도록 변수를 설정할 수 있습니다. 환경 변수 저장 또는 세션에 영구적 적용에 대한 자세한 내용은 PowerShell 설명서를 참조하세요.

IAM 역할 및 SigV4 플러그인을 사용하여 임시 보안 인증 정보로 Amazon Keyspaces에 접속

보안 강화를 위해 임시 보안 인증 정보를 사용하여 SigV4 플러그인으로 인증할 수 있습니다. 대부분의 시나리오에서는 IAM 사용자와 같이 만료되지 않는 장기 액세스 키가 필요하지 않습니다. 대신, IAM 역할을 만들고 임시 보안 자격 증명을 생성할 수 있습니다. 임시 보안 자격 증명은 액세스 키 ID와 비밀 액세스 키로 구성되지만, 자격 증명이 만료되는 시간을 나타내는 보안 토큰을 포함합니다. 장기 액세스 키 대신 IAM 역할을 사용하는 방법에 대해 자세히 알아보려면 IAM 역할로 전환(AWS API)을 참조하세요.

임시 보안 인증을 시작하려면 먼저 IAM 역할을 생성해야 합니다.

Amazon Keyspaces에 대한 읽기 전용 액세스를 부여하는 IAM 역할을 생성합니다.
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 역할, 역할 생성을 차례로 선택합니다.

  3. 역할 생성 페이지의 신뢰할 수 있는 엔터티 유형 선택에서 AWS 서비스를 선택합니다. 사용 사례 선택에서 Amazon EC2를 선택한 후 다음을 선택합니다.

  4. 권한 추가 페이지의 권한 정책에서 Amazon Keyspaces 읽기 전용 액세스를 선택한 후 다음을 선택합니다.

  5. 이름 지정, 검토, 생성 페이지에서 역할 이름을 입력하고 신뢰할 수 있는 엔티티 선택권한 추가 섹션을 검토합니다. 이 페이지에서 역할에 대한 선택적 태그를 추가할 수도 있습니다. 완료했으면 역할 생성을 선택하세요. Amazon EC2 인스턴스를 시작할 때 필요하므로 이 이름을 기억해 두십시오.

코드에서 임시 보안 자격 증명을 사용하려면 AssumeRole과 같이 AWS Security Token Service API를 프로그래밍 방식으로 호출하고 이전 단계에서 생성한 IAM 역할의 보안 인증 정보 및 세션 토큰을 추출합니다. 그런 다음 해당 값을 AWS에 대한 후속 호출을 위한 자격 증명으로 사용하면 됩니다. 다음 예는 임시 보안 자격 증명을 사용하는 방법에 대한 유사 코드를 보여줍니다.

assumeRoleResult = AssumeRole(role-arn); tempCredentials = new SessionAWSCredentials( assumeRoleResult.AccessKeyId, assumeRoleResult.SecretAccessKey, assumeRoleResult.SessionToken); cassandraRequest = CreateAmazoncassandraClient(tempCredentials);

Python 드라이버를 사용하여 Amazon Keyspace에 액세스하는 임시 보안 인증을 구현하는 예제는 Apache Cassandra용 DataStax Python 드라이버와 SigV4 인증 플러그인을 사용하여 Amazon Keyspaces에 접속을 참조하세요.

AssumeRole, GetFederationToken 및 기타 API 작업을 호출하는 방법에 대한 자세한 내용은 AWS Security Token Service API 참조를 참조하세요. 이러한 호출의 결과에서 임시 보안 자격 증명 및 세션 토큰을 얻는 방법에 대한 자세한 내용은 사용하고 있는 SDK의 설명서를 참조하세요. 기본 AWS 설명서 페이지SDK 및 도구 키트 섹션에서 모든 AWS SDK에 대한 설명서를 확인할 수 있습니다.