View a markdown version of this page

AWS 서비스의 API 키 - AWS Identity and Access Management

AWS 서비스의 API 키

AWS 서비스는 AWS Management Console을 통해 액세스하거나 AWS CLI 또는 AWS API를 사용하여 프로그래밍 방식으로 액세스할 수 있습니다. Amazon Bedrock, Amazon CloudWatch Logs 등의 서비스에 프로그래밍 방식으로 요청할 때 IAM 자격 증명(예: 임시 보안 자격 증명 또는 장기 액세스 키) 또는 API 키를 사용하여 인증할 수 있습니다. 두 가지 유형의 API 키가 있습니다.

  • 장기 API 키 - 장기 API 키는 IAM 사용자와 연결되며 IAM 서비스별 자격 증명을 사용하여 생성됩니다. 해당 자격 증명은 단일 AWS 서비스에서만 사용하도록 설계되어 자격 증명 범위를 제한함으로써 보안을 강화합니다. 장기 API 키의 만료 시간을 설정할 수 있습니다. IAM이나 서비스 관련 콘솔(예: Amazon Bedrock 또는 CloudWatch Logs 콘솔), AWS CLI 또는 AWS API를 사용하여 장기 API 키를 생성할 수 있습니다.

  • 단기 API 키(Amazon Bedrock에서만 지원됨) - 단기 API 키는 AWS 서명 버전 4를 사용하는 미리 서명된 URL입니다. 단기 API 키는 API 키를 생성한 자격 증명과 동일한 권한 및 기한을 공유하며 최대 12시간 또는 콘솔 세션의 남은 시간 중 더 빨리 끝나는 기간 동안 유효합니다. Amazon Bedrock 콘솔, Python 패키지 aws-bedrock-token-generator 및 다른 프로그래밍 언어용 패키지를 사용하여 단기 API 키를 생성할 수 있습니다. 자세한 내용은 Amazon Bedrock 사용 설명서Amazon Bedrock API에 쉽게 액세스할 수 있도록 Amazon Bedrock API 키 생성을 참조하세요.

참고

장기 API 키는 단기 API 키에 비해 보안 위험도가 높습니다. 가능하면 단기 API 키 또는 임시 보안 자격 증명을 사용하는 것이 좋습니다. 장기 API 키를 사용하는 경우 키 교체를 정기적으로 수행하는 사례를 구현하는 것이 좋습니다.

지원되는 서비스

다음 표에는 API 키를 지원하는 AWS 서비스와 각 서비스가 지원하는 API 키의 유형이 나와 있습니다.

# 서비스 장기 API 키 단기 API 키 자동 연결된 관리형 정책
1 Amazon Bedrock AmazonBedrockLimitedAccess
2 Amazon CloudWatch Logs 해당 사항 없음 CloudWatchLogsAPIKeyAccess

서비스의 장기 API 키를 생성하면 해당 AWS 관리형 정책이 IAM 사용자에게 자동으로 연결되어 해당 서비스의 핵심 작업에 대한 액세스 권한을 부여합니다. 액세스가 추가로 필요한 경우 IAM 사용자의 권한을 수정할 수 있습니다. 권한 수정에 대한 자세한 내용은 IAM 자격 증명 권한 추가 및 제거 섹션을 참조하세요. Amazon Bedrock 키를 사용하는 방법에 대한 자세한 내용은 Amazon Bedrock 사용 설명서Amazon Bedrock API 키 사용을 참조하세요. Amazon CloudWatch Logs에 베어러 토큰을 사용하는 방법에 대한 자세한 내용은 CloudWatch Logs 사용 설명서베어러 토큰 인증을 참조하세요.

장기 API 키의 전제 조건

IAM 콘솔에서 장기 API 키를 생성하려면 다음 사전 조건을 충족해야 합니다.

  • 장기 API 키와 연결할 IAM 사용자입니다. IAM 사용자 생성 지침은 AWS 계정에서 IAM 사용자 생성 섹션을 참조하세요.

  • 다음과 같이 IAM 사용자의 서비스 관련 자격 증명을 관리할 수 있는 IAM 정책 권한을 보유해야 합니다. 예제 정책은 서비스별 자격 증명을 생성, 나열, 업데이트, 삭제하고 재설정할 수 있는 권한을 부여합니다. 리소스 요소의 username 값을 장기 API 키를 생성할 IAM 사용자의 이름으로 바꿉니다.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "ManageBedrockServiceSpecificCredentials", "Effect": "Allow", "Action": [ "iam:CreateServiceSpecificCredential", "iam:ListServiceSpecificCredentials", "iam:UpdateServiceSpecificCredential", "iam:DeleteServiceSpecificCredential", "iam:ResetServiceSpecificCredential" ], "Resource": "arn:aws:iam::*:user/username" } ] }

장기 API 키 생성(콘솔)

IAM 콘솔에서 특정 서비스의 장기 API 키를 생성하려면 다음을 수행하세요.
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

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

  3. 장기 API 키를 생성할 IAM 사용자를 선택합니다.

  4. Security credentials(보안 자격 증명) 탭을 선택합니다.

  5. API 키 섹션에서 API 키 생성을 선택합니다.

  6. AWS 서비스 드롭다운 목록에서 API 키를 사용하여 인증할 서비스를 선택합니다.

  7. API 키 만료가 된 경우 다음 중 하나를 수행하세요..

    • API 키 만료 기간을 1, 5, 30, 90 또는 365일 중에서 선택합니다.

    • 사용자 지정 기간을 선택하여 사용자 지정 API 키 만료 날짜를 지정합니다.

    • 만료되지 않음을 선택합니다(권장하지 않음).

  8. API 키 생성을 선택합니다.

  9. API 키를 복사 또는 다운로드합니다. API 키 값을 볼 수 있는 것은 이 때가 유일합니다.

    중요

    API 키를 안전하게 저장합니다. 대화 상자를 닫은 이후에는 API 키를 다시 검색할 수 없습니다. API 키를 분실하거나 잊어버린 경우 검색할 수 없습니다. 대신 새 API 키를 생성하고 기존 키를 비활성화합니다.

장기 API 키 생성(AWS CLI)

AWS CLI를 사용하여 장기 API 키를 생성하려면 다음 단계를 사용합니다.

  1. create-user 명령을 사용해 Amazon Bedrock 또는 Amazon CloudWatch Logs와 함께 사용할 IAM 사용자를 생성합니다.

    aws iam create-user \ --user-name APIKeyUser_1
  2. attach-user-policy 명령을 사용해 AWS 관리형 정책을 IAM 사용자에게 연결합니다.

    Amazon Bedrock:

    aws iam attach-user-policy --user-name APIKeyUser_1 \ --policy-arn arn:aws:iam::aws:policy/AmazonBedrockLimitedAccess

    Amazon CloudWatch Logs:

    aws iam attach-user-policy --user-name APIKeyUser_1 \ --policy-arn arn:aws:iam::aws:policy/CloudWatchLogsAPIKeyAccess
  3. create-service-specific-credential 명령을 사용해 장기 API 키를 생성합니다.

    Amazon Bedrock:

    aws iam create-service-specific-credential \ --user-name APIKeyUser_1 \ --service-name bedrock.amazonaws.com \ --credential-age-days 30

    Amazon CloudWatch Logs:

    aws iam create-service-specific-credential \ --user-name APIKeyUser_1 \ --service-name logs.amazonaws.com \ --credential-age-days 30
    참고

    --credential-age-days 파라미터는 선택 항목입니다. 1~3만 6,600일 범위의 값을 지정할 수 있습니다. 이 파라미터를 생략하면 API 키가 만료되지 않습니다.

응답의 반환된 ServiceApiKeyValue는 해당 서비스의 장기 API 키입니다. 나중에 검색할 수 없으므로 ServiceApiKeyValue 값을 안전하게 저장하세요.

장기 API 키 나열(AWS CLI)

특정 사용자의 장기 API 키 메타데이터를 나열하려면 list-service-specific-credentials 명령을 --user-name 파라미터와 함께 사용합니다.

aws iam list-service-specific-credentials \ --service-name bedrock.amazonaws.com \ --user-name APIKeyUser_1
참고

bedrock.amazonaws.com을 적절한 서비스 이름으로 바꿉니다(예: Amazon CloudWatch Logs의 경우 logs.amazonaws.com).

계정의 모든 장기 API 키 메타데이터를 나열하려면 list-service-specific-credentials 명령을 --all-users 파라미터와 함께 사용합니다.

aws iam list-service-specific-credentials \ --service-name bedrock.amazonaws.com \ --all-users

장기 API 키 상태 업데이트(AWS CLI)

장기 API 키의 상태를 업데이트하려면 update-service-specific-credential 명령을 사용합니다.

aws iam update-service-specific-credential \ --user-name "APIKeyUser_1" \ --service-specific-credential-id "ACCA1234EXAMPLE1234" \ --status Inactive|Active

장기 API 키 생성(AWS API)

다음 IAM API 작업을 사용하여 지원되는 서비스의 장기 API 키를 관리할 수 있습니다.

단기 API 키(Amazon Bedrock)

단기 API 키는 현재 Amazon Bedrock에서만 지원됩니다. 단기 API 키 생성 및 사용에 대한 자세한 내용은 Amazon Bedrock 사용 설명서API 키 생성을 참조하세요.

서비스별 정보

  • Amazon Bedrock에서 API 키를 사용하는 방법에 대한 자세한 내용은 Amazon Bedrock 사용 설명서Amazon Bedrock API 키 사용를 참조하세요.

  • Amazon CloudWatch Logs에서 API 키를 사용하는 방법에 대한 자세한 내용은 Amazon CloudWatch Logs 사용 설명서HTTP 엔드포인트를 통한 로그 수집을 참조하세요.