IAM Identity Center의 CloudTrail 사용 사례 - AWS IAM Identity Center

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

IAM Identity Center의 CloudTrail 사용 사례

IAM Identity Center에서 내보내는 CloudTrail 이벤트는 다양한 사용 사례에 유용할 수 있습니다. 조직은 이러한 이벤트 로그를 사용하여 AWS 환경 내에서 사용자 액세스 및 활동을 모니터링하고 감사할 수 있습니다. 이는 로그가 누가 어떤 리소스에 언제 액세스하는지에 대한 세부 정보를 캡처하므로 규정 준수 사용 사례에 도움이 될 수 있습니다. 또한 CloudTrail 데이터를 인시던트 조사에 사용하여 팀이 사용자 작업을 분석하고 의심스러운 동작을 추적할 수 있습니다. 또한 이벤트 기록은 문제 해결 노력을 지원하여 시간 경과에 따른 사용자 권한 및 구성의 변경 사항에 대한 가시성을 제공할 수 있습니다.

다음 섹션에서는 감사, 인시던트 조사 및 문제 해결과 같은 워크플로에 정보를 제공하는 기본 사용 사례를 설명합니다.

IAM Identity Center 사용자 시작 CloudTrail 이벤트에서 사용자 및 세션 식별

IAM Identity Center는 IAM Identity Center에 로그인하거나 MFA 디바이스 관리를 포함하여 AWS 액세스 포털을 AWS CLI사용하는 등 CloudTrail 이벤트 뒤에 있는 IAM Identity Center 사용자를 식별할 수 있는 두 개의 CloudTrail 필드를 내보냅니다.

  • userId - IAM Identity Center 인스턴스의 Identity Store에서 변경 불가능한 고유 사용자 식별자입니다.

  • identityStoreArn - 사용자가 포함된 Identity Store의 Amazon 리소스 이름(ARN)입니다.

userIDidentityStoreArn 필드는 다음 예제와 같이 onBehalfOf 요소 내부에 중첩된 userIdentity 요소에 표시됩니다. 이 예제에서는 userIdentity 유형이 "IdentityCenterUser"인 이벤트의 두 필드를 보여줍니다. userIdentity 유형이 "Unknown"인 인증된 IAM Identity Center 사용자의 이벤트에도 이러한 필드를 포함할 수 있습니다. 워크플로는 두 유형 값을 모두 수락해야 합니다.

"userIdentity":{ "type":"IdentityCenterUser", "accountId":"111122223333", "onBehalfOf": { "userId": "544894e8-80c1-707f-60e3-3ba6510dfac1", "identityStoreArn": "arn:aws:identitystore::111122223333:identitystore/d-1234567890" }, "credentialId" : "90e292de-5eb8-446e-9602-90f7c45044f7" }
참고

IAM Identity Center CloudTrail 이벤트 뒤에 있는 사용자를 식별identityStoreArn하려면 userId 및를 사용하는 것이 좋습니다. 로그인하고 AWS 액세스 포털을 사용하는 IAM Identity Center 사용자의 작업을 추적할 때 userIdentity 요소 principalId 아래에 userName 또는 필드를 사용하지 마세요. 감사 또는 인시던트 대응과 같은 워크플로가에 대한 액세스 권한에 의존username하는 경우 두 가지 옵션이 있습니다.

username 필드를 포함하여 사용자의 세부 정보를 검색하려면 사용자 ID와 Identity Store ID를 파라미터로 사용하여 Identity Store를 쿼리합니다. DescribeUser API 요청 또는 CLI를 통해이 작업을 수행할 수 있습니다. 다음은 CLI 명령의 예입니다. IAM Identity Center 인스턴스가 CLI 기본 리전에 있는 경우 region 파라미터를 생략할 수 있습니다.

aws identitystore describe-user \ --identity-store-id d-1234567890 \ --user-id 544894e8-80c1-707f-60e3-3ba6510dfac1 \ --region your-region-id

이전 예제에서 CLI 명령의 Identity Store ID 값을 확인하려면 identityStoreArn 해당 값에서 Identity Store ID를 추출하면 됩니다. 예제 ARN에서 arn:aws:identitystore::111122223333:identitystore/d-1234567890Identity Store ID는 입니다d-1234567890. 또는 IAM Identity Center 콘솔의 설정 섹션에서 Identity Store 탭으로 이동하여 Identity Store ID를 찾을 수 있습니다.

IAM Identity Center 디렉터리에서 사용자 조회를 자동화하는 경우 사용자 조회 빈도를 추정하고 Identity Store API에서 IAM Identity Center 스로틀 제한을 고려하는 것이 좋습니다. 검색된 사용자 속성을 캐싱하면 스로틀 한도를 유지하는 데 도움이 될 수 있습니다.

credentialId 값은 작업을 요청하는 데 사용되는 IAM Identity Center 사용자 세션의 ID로 설정됩니다. 이 값을 사용하여 로그인 이벤트를 제외하고 동일한 인증된 IAM Identity Center 사용자 세션 내에서 시작된 CloudTrail 이벤트를 식별할 수 있습니다.

참고

로그인 이벤트에서 내보낸 AuthWorkflowID 필드를 사용하면 IAM Identity Center 사용자 세션을 시작하기 전에 로그인 시퀀스와 연결된 모든 CloudTrail 이벤트를 추적할 수 있습니다.

IAM Identity Center와 외부 디렉터리 간 사용자 상호 연결

IAM Identity Center는 디렉터리의 사용자를 외부 디렉터리의 동일한 사용자(예: Microsoft Active Directory 및 )와 상호 연결하는 데 사용할 수 있는 두 가지 사용자 속성을 제공합니다Okta Universal Directory.

  • externalId - IAM Identity Center 사용자의 외부 식별자입니다. 이 식별자를 외부 디렉터리의 변경할 수 없는 사용자 식별자에 매핑하는 것이 좋습니다. IAM Identity Center는 CloudTrail에서이 값을 내보내지 않습니다.

  • username - 사용자가 일반적으로 로그인하는 고객 제공 값입니다. 값은 변경될 수 있습니다(예: SCIM 업데이트). 자격 증명 소스가 인 경우 IAM Identity Center가 CloudTrail에서 내보내는 AWS Directory Service사용자 이름은 인증하기 위해 입력한 사용자 이름과 일치합니다. 사용자 이름이 IAM Identity Center 디렉터리의 사용자 이름과 정확히 일치할 필요는 없습니다.

    CloudTrail 이벤트에 액세스할 수 있지만 IAM Identity Center 디렉터리에는 액세스할 수 없는 경우 로그인 시 additionalEventData 요소에서 내보낸 사용자 이름을 사용할 수 있습니다. 의 사용자 이름에 대한 자세한 내용은 섹션을 additionalEventData참조하세요로그인한 사용자 이름 CloudTrail 이벤트.

이러한 두 사용자 속성을 외부 디렉터리의 해당 사용자 속성에 매핑하는 작업은 자격 증명 소스가 인 경우 IAM Identity Center에 정의됩니다 AWS Directory Service. 자세한 내용은 섹션을 참조하세요IAM Identity Center와 외부 자격 증명 공급자 디렉터리 간의 속성 매핑. SCIM으로 사용자를 프로비저닝하는 외부 IdPs에는 자체 매핑이 있습니다. IAM Identity Center 디렉터리를 자격 증명 소스로 사용하더라도 externalId 속성을 사용하여 보안 보안 주체를 외부 디렉터리로 상호 참조할 수 있습니다.

다음 섹션에서는 사용자 username 및를 고려하여 IAM Identity Center 사용자를 조회하는 방법을 설명합니다externalId.

사용자 이름 및 externalId로 IAM Identity Center 사용자 보기

먼저 GetUserId API 요청을 userId 사용하여 해당를 요청한 다음 이전 예제와 같이 DescribeUser API 요청을 실행하여 알려진 사용자 이름에 대한 IAM Identity Center 디렉터리에서 사용자 속성을 검색할 수 있습니다. 다음 예제에서는 특정 사용자 이름에 대해 Identity StoreuserId에서를 검색하는 방법을 보여줍니다. IAM Identity Center 인스턴스가 CLI를 사용하는 기본 리전에 있는 경우 region 파라미터를 생략할 수 있습니다.

aws identitystore get-user-id \ --identity-store d-9876543210 \ --alternate-identifier '{ "UniqueAttribute": { "AttributePath": "username", "AttributeValue": "anyuser@example.com" } }' \ --region your-region-id

마찬가지로를 알고 있을 때도 동일한 메커니즘을 사용할 수 있습니다externalId. 이전 예제의 속성 경로를 externalId 값으로 업데이트하고 속성 값을 검색하려는 externalId 특정 로 업데이트합니다.

Microsoft Active Directory(AD) 및 externalId에서 사용자의 보안 식별자(SID) 보기

경우에 따라 IAM Identity Center는 AWS 액세스 포털 및 OIDC API가 내보내는 이벤트와 같은 CloudTrail 이벤트 principalId 필드에서 사용자의 SID를 내보냅니다. APIs 이러한 사례는 단계적으로 폐지되고 있습니다. AD에서 고유한 사용자 식별자가 필요한 objectguid 경우 워크플로에서 AD 속성을 사용하는 것이 좋습니다. 이 값은 IAM Identity Center 디렉터리의 externalId 속성에서 찾을 수 있습니다. 그러나 워크플로에서 SID를 사용해야 하는 경우 IAM Identity Center APIs를 통해 사용할 수 없으므로 AD에서 값을 검색합니다.

IAM Identity Center와 외부 디렉터리 간 사용자 상호 연결 에서는 externalIdusername 필드를 사용하여 IAM Identity Center 사용자를 외부 디렉터리의 일치하는 사용자와 상호 연결하는 방법을 설명합니다. 기본적으로 IAM Identity Center는 ADexternalIdobjectguid 속성에 매핑되며이 매핑은 수정됩니다. IAM Identity Center를 사용하면 관리자가 AD에서 기본 매핑과 username 다르게 매핑할 userprincipalname 수 있습니다.

IAM Identity Center 콘솔에서 이러한 매핑을 볼 수 있습니다. 설정자격 증명 소스 탭으로 이동하여 작업 메뉴에서 동기화 관리를 선택합니다. 동기화 관리 섹션에서 속성 매핑 보기 버튼을 선택합니다.

IAM Identity Center에서 사용할 수 있는 고유한 AD 사용자 식별자를 사용하여 AD에서 사용자를 조회할 수 있지만 변경 불가능한 식별자이므로 쿼리objectguid에서를 사용하는 것이 좋습니다. 다음 예제에서는 Powershell을 사용하여 Microsoft AD를 쿼리하여 사용자의 objectguid 값를 사용하여 사용자를 검색하는 방법을 보여줍니다16809ecc-7225-4c20-ad98-30094aefdbca. 이 쿼리에 대한 성공적인 응답에는 사용자의 SID가 포함됩니다.

Install-WindowsFeature -Name RSAT-AD-PowerShell Get-ADUser ` -Filter {objectGUID -eq [GUID]::Parse("16809ecc-7225-4c20-ad98-30094aefdbca")} ` -Properties *