역할 또는 인스턴스 프로파일 삭제 - AWS Identity and Access Management

역할 또는 인스턴스 프로파일 삭제

역할이 더 이상 필요하지 않은 경우 역할 및 연결된 권한을 삭제하는 것이 좋습니다. 그렇게 하면 적극적으로 모니터링하거나 유지 관리하지 않은 미사용 엔터티가 없습니다.

역할이 EC2 인스턴스와 연결된 경우 인스턴스 프로파일에서 해당 역할을 제거한 다음 인스턴스 프로파일을 삭제할 수도 있습니다.

주의

삭제하려는 역할 또는 인스턴스 프로파일로 실행 중인 Amazon EC2 인스턴스가 없는지 확인합니다. 실행 중인 인스턴스와 연결된 역할 또는 인스턴스 프로파일을 삭제하면 인스턴스에서 실행 중인 모든 애플리케이션이 중단됩니다.

역할을 영구적으로 삭제하지 않으려면 역할을 비활성화하면 됩니다. 이렇게 하려면 역할 정책을 변경한 다음 현재 세션을 모두 취소합니다. 예를 들어 모든 AWS에 대한 액세스를 거부한 정책을 역할에 추가할 수 있습니다. 역할을 수임하려는 모든 사용자에 대한 액세스를 거부하도록 신뢰 정책을 편집할 수도 있습니다. 세션 취소에 대한 자세한 내용은 IAM 역할의 임시 보안 자격 증명 취소 섹션을 참조하세요.

역할 액세스 보기

역할을 삭제하기 전에 역할이 마지막으로 사용된 시기를 검토하는 것이 좋습니다. AWS Management Console, AWS CLI 또는 AWS API를 사용하여 이 작업을 수행할 수 있습니다. 이 정보를 확인해야 하는 이유는 역할을 사용하는 사용자의 액세스 권한을 제거하지 않기 위해서입니다.

역할의 마지막 활동 날짜가 액세스 관리자(Access Advisor) 탭에 보고된 마지막 날짜와 일치하지 않을 수 있습니다. 액세스 관리자(Access Advisor) 탭은 역할의 권한 정책에서 허용하는 서비스에 대한 활동만 보고합니다. 역할의 마지막 활동 날짜에는 AWS의 모든 서비스에 액세스하려는 마지막 시도가 포함됩니다.

참고

역할의 마지막 활동 및 액세스 관리자 데이터에 대한 추적 기간은 이후 400일입니다. 해당 리전이 이러한 기능 지원을 시작한 날짜가 작년이었다면 이 기간이 더 짧아질 수 있습니다. 이 역할이 400일 전에 사용되었을 수 있습니다. 추적 기간에 대한 자세한 내용은 AWS에서 마지막으로 액세스한 정보를 추적하는 위치 섹션을 참조하세요.

역할이 마지막으로 사용된 시기를 보려면(콘솔)
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 역할(Roles)을 선택합니다.

  3. 활동을 보려는 역할의 행을 찾습니다. 검색 필드를 사용하여 결과를 좁힐 수 있습니다. 마지막 활동 열에서 역할이 마지막으로 사용된 이후 일 수를 확인합니다. 역할이 추적 기간 내에 사용되지 않은 경우 테이블에 없음이 표시됩니다.

  4. 자세한 정보를 볼 역할의 이름을 선택합니다. 역할의 요약 페이지에는 해당 역할이 마지막으로 사용된 날짜를 표시하는 마지막 활동(Last activity)도 포함되어 있습니다. 역할이 지난 400일 이내에 사용되지 않은 경우 마지막 활동Not accessed in the tracking period(추적 기간 동안 액세스되지 않음)가 표시됩니다.

역할이 마지막으로 사용된 시기를 보려면(AWS CLI)

aws iam get-role - RoleLastUsed 객체를 포함하여 역할에 대한 정보를 반환하려면 이 명령을 실행합니다. 이 객체에는 역할이 마지막으로 사용된 LastUsedDateRegion이 있습니다. RoleLastUsed가 있지만 값을 포함하지 않는 경우 추적 기간 내에 해당 역할이 사용되지 않은 것입니다.

역할이 마지막으로 사용된 시기를 보려면(AWS API)

GetRole - RoleLastUsed 객체를 포함하여 역할에 대한 정보를 반환하려면 이 작업을 호출합니다. 이 객체에는 역할이 마지막으로 사용된 LastUsedDateRegion이 있습니다. RoleLastUsed가 있지만 값을 포함하지 않는 경우 추적 기간 내에 해당 역할이 사용되지 않은 것입니다.

서비스 연결 역할 삭제

역할이 서비스 연결 역할인 경우, 연결된 서비스의 설명서를 참조하여 역할을 삭제하는 방법을 알아보세요. 콘솔의 IAM 역할 페이지에서 계정의 서비스 연결 역할을 볼 수 있습니다. 서비스 연결 역할은 테이블의 Trusted entities(신뢰할 수 있는 개체) 열에 (Service-linked role)((서비스 연결 역할))로 표시됩니다. 역할의 요약 페이지 배너에도 해당 역할이 서비스 연결 역할임이 표시됩니다.

서비스에 서비스 연결 역할 삭제에 대한 설명서가 없는 경우 IAM 콘솔, AWS CLI 또는 API를 사용하여 역할을 삭제할 수 있습니다. 자세한 내용은 서비스 연결 역할 삭제 섹션을 참조하세요.

IAM 역할 삭제(콘솔)

AWS Management Console를 사용하여 역할을 삭제하는 경우, IAM에서는 해당 역할과 관리형 정책을 자동으로 삭제합니다. 또한 역할과 연결된 모든 인라인 정책과 역할이 포함된 모든 Amazon EC2 인스턴스 프로파일도 자동으로 삭제됩니다.

중요

경우에 따라 역할이 Amazon EC2 인스턴스 프로파일과 연결될 수 있으며, 역할과 인스턴스 프로파일의 이름이 같을 수 있습니다. 이 경우 AWS Management Console을 사용하여 역할 및 인스턴스 프로파일을 삭제할 수 있습니다. 이 연결은 콘솔에서 생성한 인스턴스 프로파일과 역할에서 자동으로 발생합니다. AWS CLI, Tools for Windows PowerShell 또는 AWS API에서 역할을 생성한 경우 역할과 인스턴스 프로파일의 이름이 서로 다를 수 있습니다. 이 경우 콘솔을 사용하여 역할과 인스턴스 프로파일을 삭제할 수 없습니다. 그 대신 AWS CLI, Tools for Windows PowerShell 또는 AWS API를 사용하여 먼저 인스턴스 프로파일에서 역할을 제거해야 합니다. 그런 다음 별도의 단계로 역할을 삭제해야 합니다.

역할을 삭제하려면(콘솔 사용)
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 역할을 선택한 다음 삭제할 역할 이름 옆에 있는 확인란을 선택합니다.

  3. 페이지 상단에서 삭제(Delete)를 선택합니다.

  4. 확인 대화 상자가 나타나면 마지막으로 액세스한 정보를 검토합니다. 이 정보는 선택한 각 역할이 AWS 서비스를 마지막으로 액세스한 일시를 보여줍니다. 이를 통해 역할이 현재 활성 상태인지 확인할 수 있습니다. 계속하려면 텍스트 입력 필드에 역할 이름을 입력하고 삭제(Delete)를 선택합니다. 확신한다면, 마지막으로 액세스한 정보가 로드되고 있을 때에도 삭제를 진행할 수 있습니다.

참고

인스턴스 프로파일이 역할과 이름이 동일한 경우를 제외하고는 콘솔을 사용하여 인스턴스 프로파일을 삭제할 수 없습니다. 이전 절차에서 설명한 바와 같이 역할 삭제 과정의 일부로 인스턴스 프로파일도 삭제됩니다. 역할까지 삭제하지 않고 인스턴스 프로파일을 삭제하려면 AWS CLI 또는 AWS API를 사용해야 합니다. 자세한 내용은 다음 섹션을 참조하세요.

IAM 역할 삭제(AWS CLI)

AWS CLI를 사용하여 역할을 삭제하는 경우, 먼저 해당 역할과 연결된 인라인 정책을 삭제해야 합니다. 또한 역할과 연결된 관리형 정책을 분리해야 합니다. 해당 역할이 들어 있는 연결된 인스턴스 프로파일은 별도로 삭제해야 합니다.

역할을 삭제하려면(AWS CLI)
  1. 삭제할 역할의 이름을 모르는 경우 다음 명령을 입력하여 계정의 역할을 나열합니다.

    aws iam list-roles

    목록에는 각 역할의 Amazon 리소스 이름(ARN)이 포함되어 있습니다. CLI 명령에서 역할을 참조하려면 ARN이 아니라 역할 이름을 사용해야 합니다. 예를 들어, 어떤 역할의 ARN이 arn:aws:iam::123456789012:role/myrole인 경우 참조할 역할은 myrole입니다.

  2. 역할과 관련 있는 모든 인스턴스 프로파일에서 역할을 제거합니다.

    1. 역할이 연결된 모든 인스턴스 프로파일을 나열하려면 다음 명령을 입력합니다.

      aws iam list-instance-profiles-for-role --role-name role-name
    2. 인스턴스 프로파일에서 역할을 제거하려면 각 인스턴스 프로파일에 대해 다음 명령을 입력합니다.

      aws iam remove-role-from-instance-profile --instance-profile-name instance-profile-name --role-name role-name
  3. 역할과 연결된 모든 정책을 삭제합니다.

    1. 해당 역할에 있는 모든 인라인 정책을 나열하려면 다음 명령을 입력합니다.

      aws iam list-role-policies --role-name role-name
    2. 역할에서 각 인라인 정책을 삭제하려면 각 정책에 대해 다음 명령을 입력합니다.

      aws iam delete-role-policy --role-name role-name --policy-name policy-name
    3. 해당 역할에 연계돼 있는 모든 관리형 정책을 나열하려면 다음 명령을 입력합니다.

      aws iam list-attached-role-policies --role-name role-name
    4. 역할에서 각 관리 정책을 분리하려면 각 정책에 대해 다음 명령을 입력합니다.

      aws iam detach-role-policy --role-name role-name --policy-arn policy-arn
  4. 다음 명령을 입력하여 역할을 삭제합니다.

    aws iam delete-role --role-name role-name
  5. 역할과 연결된 인스턴스 프로파일을 다시 사용할 계획이 없는 경우 다음 명령을 입력하여 삭제할 수 있습니다.

    aws iam delete-instance-profile --instance-profile-name instance-profile-name

IAM 역할 삭제(AWS API)

IAM API를 사용하여 역할을 삭제하려면 먼저 해당 역할과 연결된 인라인 정책을 삭제해야 합니다. 또한 역할과 연결된 관리형 정책을 분리해야 합니다. 해당 역할이 들어 있는 연결된 인스턴스 프로파일은 별도로 삭제해야 합니다.

역할을 삭제하려면(AWS API)
  1. 역할과 관련 있는 모든 인스턴스 프로파일을 나열하려면 ListInstanceProfilesForRole을 호출하세요.

    인스턴스 프로파일에서 해당 역할을 제거하려면 RemoveRoleFromInstanceProfile을 호출하세요. 역할 이름과 인스턴스 프로파일 이름을 전달해야 합니다.

    역할과 연결된 인스턴스 프로파일을 다시 사용하지 않을 경우 DeleteInstanceProfile을 호출하여 삭제할 수 있습니다.

  2. 역할에 대한 모든 인라인 정책을 나열하려면 ListRolePolicies를 호출하세요.

    역할과 연결된 모든 인라인 정책을 삭제하려면 DeleteRolePolicy를 호출하세요. 역할 이름과 인라인 정책 이름을 전달해야 합니다.

  3. 역할에 연결된 모든 관리형 정책을 나열하려면 ListAttachedRolePolicies를 직접적으로 호출합니다.

    역할에 연결된 관리형 정책을 분리하려면 DetachRolePolicy를 직접적으로 호출합니다. 역할 이름과 관리형 정책 ARN을 전달해야 합니다.

  4. DeleteRole을 호출하여 역할을 삭제하세요.

인스턴스 프로파일에 대한 일반적인 정보는 인스턴스 프로파일 사용 섹션을 참조하세요.

서비스 연결 역할에 대한 일반적인 내용은 서비스 연결 역할 사용 섹션을 참조하세요.