AWS 리소스 공유 - AWS Resource Access Manager

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

AWS 리소스 공유

AWS RAM을 사용하여 내 소유의 리소스를 공유하려면 다음을 수행합니다.

참고
  • 리소스를 소유한 AWS 계정 외부의 보안 주체와 리소스를 공유해도 리소스를 생성한 계정 내에서 해당 리소스에 적용되는 권한 또는 할당량은 변경되지 않습니다.

  • AWS RAM은 리전 서비스입니다. 나와 리소스를 공유하는 보안 주체는 해당 리소스가 생성된 AWS 리전에서만 리소스 공유에 액세스할 수 있습니다.

  • 일부 리소스에는 공유를 위한 특별 고려 사항과 사전 요구 사항이 있습니다. 자세한 내용은 공유 가능한 리소스 AWS 섹션을 참조하세요.

AWS Organizations 내에서 리소스 공유 활성화

AWS Organizations에서 계정을 관리하는 경우 이를 활용하면 리소스를 더 쉽게 공유할 수 있습니다. Organizations 사용 여부와 관계없이, 사용자는 개별 계정과 리소스를 공유할 수 있습니다. 그러나 계정이 조직에 있는 경우 각 계정을 열거할 필요 없이 개별 계정과 공유하거나 조직 또는 OU의 모든 계정과 공유할 수 있습니다.

조직 내에서 리소스를 공유하려면 먼저 AWS RAM 콘솔이나 AWS Command Line Interface(AWS CLI)를 사용하여 AWS Organizations와의 공유를 활성화해야 합니다. 조직의 리소스를 공유하는 경우 AWS RAM에서는 보안 주체에게 초대를 보내지 않습니다. 조직의 보안 주체는 초대를 주고받지 않고도 공유 리소스에 액세스할 수 있습니다.

조직 내에서 리소스 공유를 활성화하면 AWS RAM에서는 AWSServiceRoleForResourceAccessManager라는 서비스 연결 역할을 생성합니다. 이 역할은 AWS RAM 서비스만 수임할 수 있으며, AWS 관리형 정책 AWSResourceAccessManagerServiceRolePolicy를 사용하여 소속된 조직에 대한 정보를 검색할 수 있는 AWS RAM 권한을 부여합니다.

전체 조직 또는 OU와 리소스를 더 이상 공유할 필요가 없는 경우 리소스 공유를 비활성화할 수 있습니다. 자세한 내용은 AWS Organizations와의 리소스 공유 비활성화 섹션을 참조하세요.

최소 권한

아래 절차를 실행하려면 다음 권한이 있는 조직의 관리 계정에 보안 주체로 로그인해야 합니다.

  • ram:EnableSharingWithAwsOrganization

  • iam:CreateServiceLinkedRole

  • organizations:enableAWSServiceAccess

  • organizations:DescribeOrganization

요구 사항
  • 조직의 관리 계정에 보안 주체로 로그인한 상태에서만 이 단계를 수행할 수 있습니다.

  • 조직에서 모든 기능이 활성화되어 있어야 합니다. 자세한 내용은 AWS Organizations 사용 설명서에서 조직 내 모든 기능 활성화를 참조하세요.

중요

AWS RAM 콘솔 또는 enable-sharing-with-aws-organization AWS CLI 명령을 사용하여 AWS Organizations와의 공유를 활성화해야 합니다. 이렇게 하면 AWSServiceRoleForResourceAccessManager 서비스 연결 역할이 생성됩니다. AWS Organizations 콘솔 또는 enable-aws-service-access AWS CLI 명령을 사용하여 AWS Organizations에 대한 신뢰할 수 있는 액세스를 활성화하면 AWSServiceRoleForResourceAccessManager 서비스 연결 역할이 생성되지 않으며 조직 내에서 리소스를 공유할 수 없습니다.

Console
조직 내 리소스 공유를 활성화하려면
  1. AWS RAM 콘솔에서 설정 페이지를 엽니다.

  2. AWS Organizations와 공유 활성화를 선택한 다음 설정 저장을 선택합니다.

AWS CLI
조직 내 리소스 공유를 활성화하려면

enable-sharing-with-aws-organization 명령을 사용합니다.

이 명령은 모든 AWS 리전에서 사용할 수 있으며, AWS RAM이 지원되는 모든 리전에서 AWS Organizations와의 공유를 활성화합니다.

$ aws ram enable-sharing-with-aws-organization { "returnValue": true }

리소스 공유 생성

내 소유의 리소스를 공유하려면 리소스 공유를 생성합니다. 다음은 이 프로세스를 요약한 것입니다.

  1. 공유하려는 리소스를 추가합니다.

  2. 공유에 포함할 리소스 유형마다 해당 리소스 유형에 사용할 관리형 권한을 지정합니다.

    • 사용 가능한 AWS 관리형 권한 중 하나 또는 기존 고객 관리형 권한을 선택하거나 고객 관리형 권한을 새로 생성할 수 있습니다.

    • AWS 관리형 권한은 표준 사용 사례를 다루기 위해 AWS에서 생성합니다.

    • 고객 관리형 권한을 사용하면 보안 및 비즈니스 요구 사항에 맞게 관리형 권한을 맞춤 설정할 수 있습니다.

    참고

    선택한 관리형 권한에 여러 버전이 있는 경우 AWS RAM에서 자동으로 기본 버전을 연결합니다. 기본 버전으로 지정된 버전만 연결할 수 있습니다.

  3. 리소스에 대한 액세스를 허용할 보안 주체를 지정합니다.

고려 사항
  • 공유에 포함된 AWS 리소스를 나중에 삭제해야 하는 경우 먼저 해당 리소스가 포함된 리소스 공유에서 리소스를 제거하거나 리소스 공유를 삭제하는 것이 좋습니다.

  • 리소스 공유에 포함될 수 있는 리소스 유형은 공유 가능한 리소스 AWS에 나열되어 있습니다.

  • 본인이 소유한 리소스만 공유할 수 있습니다. 공유 받은 리소스는 공유할 수 없습니다.

  • AWS RAM은 리전 서비스입니다. 리소스를 다른 AWS 계정의 보안 주체와 공유하는 경우 해당 보안 주체는 리소스가 생성된 동일한 AWS 리전에서 각 리소스에 액세스해야 합니다. 지원되는 글로벌 리소스의 경우, 해당 리소스의 서비스 콘솔 및 도구에서 지원하는 모든 AWS 리전에서 액세스할 수 있습니다. 이러한 리소스 공유 및 글로벌 리소스는 지정된 홈 리전인 미국 동부(버지니아 북부), us-east-1에서만 AWS RAM 콘솔 및 도구에서 볼 수 있습니다. AWS RAM 및 글로벌 리소스에 대한 자세한 내용은 글로벌 리소스와 리전 리소스를 비교하여 공유 섹션을 참조하세요.

  • 공유 중인 계정이 AWS Organizations에 있는 조직에 속해 있고 조직 내 공유가 활성화되어 있으면 초대를 사용하지 않아도 공유하는 조직의 모든 보안 주체에게 리소스 공유에 대한 액세스 권한이 자동으로 부여됩니다. 조직 외부에서 나와 공유하고 있는 계정의 보안 주체는 리소스 공유에 참여하라는 초대를 받게 되며, 초대를 수락해야만 공유 리소스에 대한 액세스 권한이 부여됩니다.

  • 서비스 주체와 공유하는 경우 다른 주체를 리소스 공유에 연결할 수 없습니다.

  • 조직에 속한 계정 또는 보안 주체 간에 공유하는 경우 조직 멤버십이 변경되면 리소스 공유에 대한 액세스 권한이 동적으로 영향을 받습니다.

    • 리소스 공유에 액세스할 수 있는 조직이나 OU에 AWS 계정을 추가하면 새 멤버 계정에 리소스 공유에 대한 액세스 권한이 자동으로 부여됩니다. 그러면 공유한 계정의 관리자가 해당 계정의 개별 보안 주체에게 해당 공유의 리소스에 대한 액세스 권한을 부여할 수 있습니다.

    • 리소스 공유에 액세스할 수 있는 조직 또는 OU에서 계정을 제거하면 해당 계정의 모든 보안 주체는 해당 리소스 공유를 통해 액세스한 리소스에 자동으로 액세스할 수 없게 됩니다.

    • 멤버 계정 또는 멤버 계정 내의 IAM 역할 또는 사용자와 직접 공유한 다음 조직에서 해당 계정을 제거하면 해당 계정의 모든 보안 주체는 해당 리소스 공유를 통해 액세스한 리소스에 액세스할 수 없게 됩니다.

    중요

    조직 또는 OU와 공유할 때 해당 범위에 리소스 공유를 소유한 계정이 포함되어 있으면 공유 계정의 모든 주체가 자동으로 공유의 리소스에 대한 액세스 권한을 얻게 됩니다. 부여된 액세스 권한은 공유와 연결된 관리형 권한에 의해 정의됩니다. 이는 AWS RAM에서 공유의 각 리소스에 연결한 리소스 기반 정책이 "Principal": "*"을 사용하기 때문입니다. 자세한 내용은 리소스 기반 정책에서 "Principal": "*" 사용 시 유의 사항 섹션을 참조하세요.

    다른 소비 계정의 보안 주체는 공유 리소스에 즉시 액세스할 수 없습니다. 다른 계정의 관리자가 먼저 자격 증명 기반 권한 정책을 해당 보안 주체에 연결해야 합니다. 이러한 정책은 리소스 공유에 있는 개별 리소스의 ARN에 Allow 액세스 권한을 부여해야 합니다. 이러한 정책의 권한은 리소스 공유와 연결된 관리형 권한에 지정된 권한을 초과할 수 없습니다.

  • 계정이 속해 있는 조직과 해당 조직의 OU만 리소스 공유에 추가할 수 있습니다. 내 조직 외부의 OU 또는 조직을 리소스 공유에 보안 주체로 추가할 수 없습니다. 그러나 개별 AWS 계정 또는 조직 외부의 IAM 역할 및 사용자(지원되는 서비스의 경우)는 리소스 공유에 보안 주체로 추가할 수 있습니다.

    참고

    모든 리소스 유형을 IAM 역할 및 사용자와 공유할 수 있는 것은 아닙니다. 이러한 보안 주체와 공유할 수 있는 리소스에 대한 자세한 내용은 공유 가능한 리소스 AWS 섹션을 참조하세요.

  • 다음 리소스 유형의 경우 7일 이내에 공유 참여 초대를 수락해야 합니다. 만료되기 전에 초대를 수락하지 않으면 초대가 자동으로 거부됩니다.

    중요

    다음 목록에 없는 공유 리소스 유형의 경우 12시간 이내에 리소스 공유 참여 초대를 수락해야 합니다. 12시간이 경과하면 초대가 만료되고 리소스 공유의 최종 사용자 보안 주체가 연결 해제됩니다. 최종 사용자는 더 이상 초대를 수락할 수 없습니다.

    • Amazon Aurora – DB 클러스터

    • Amazon EC2 – 용량 예약 및 전용 호스트

    • AWS License Manager – 라이선스 구성

    • AWS Outposts – 로컬 게이트웨이 라우팅 테이블, outposts, 사이트

    • Amazon Route 53 – 전달 규칙

    • Amazon VPC - 고객 소유 IPv4 주소, 접두사 목록, 서브넷, 트래픽 미러 대상, 전송 게이트웨이, 전송 게이트웨이 멀티캐스트 도메인

Console
리소스 공유를 생성하려면
  1. AWS RAM 콘솔을 엽니다.

  2. AWS RAM 리소스 공유는 특정 AWS 리전에 존재하므로 콘솔의 오른쪽 상단에 있는 드롭다운 목록에서 해당 AWS 리전을 선택합니다. 글로벌 리소스가 포함된 리소스 공유를 보려면 AWS 리전을 미국 동부(버지니아 북부), us-east-1로 설정해야 합니다. 글로벌 리소스 공유에 대한 자세한 내용은 글로벌 리소스와 리전 리소스를 비교하여 공유 섹션을 참조하세요. 리소스 공유에 글로벌 리소스를 포함하려면 지정된 홈 리전인 미국 동부(버지니아 북부), us-east-1을 선택해야 합니다.

  3. AWS RAM을 처음 사용하는 경우 홈 페이지에서 리소스 공유 생성을 선택합니다. 그렇지 않은 경우 내 공유: 리소스 공유 페이지에서 리소스 공유 생성을 선택합니다.

  4. 1단계: 리소스 공유 세부 정보 지정에서 다음을 수행합니다.

    1. 이름에 리소스 공유를 설명하는 이름을 입력합니다.

    2. 리소스에서 다음과 같이 리소스 공유에 추가할 리소스를 선택합니다.

      • 리소스 유형 선택에서 공유할 리소스 유형을 선택합니다. 그러면 공유 가능한 리소스 목록이 선택한 유형의 리소스로만 필터링됩니다.

      • 결과 리소스 목록에서 공유하려는 개별 리소스 옆의 확인란을 선택합니다. 선택한 리소스가 선택한 리소스 아래로 이동합니다.

        특정 가용 영역과 연결된 리소스를 공유하는 경우 가용 영역 ID(AZ ID)를 사용하면 여러 계정에서 이러한 리소스의 상대적 위치를 파악할 수 있습니다. 자세한 내용은 AWS 리소스의 가용 영역 ID 섹션을 참조하세요.

    3. (선택 사항) 리소스 공유에 태그를 연결하려면 태그 아래에 태그 키와 값을 입력합니다. 새 태그 추가를 선택하여 다른 태그를 추가합니다. 필요에 따라 이 단계를 반복합니다. 이러한 태그는 리소스 공유 자체에만 적용되며 리소스 공유의 리소스에는 적용되지 않습니다.

  5. 다음을 선택합니다.

  6. 2단계: 각 리소스 유형과 관리형 권한 연결에서 AWS를 통해 생성된 관리형 권한을 리소스 유형과 연결하거나, 기존 고객 관리형 권한을 선택하거나, 지원되는 리소스 유형에 대해 고객 관리형 권한을 직접 생성할 수 있습니다. 자세한 내용은 관리형 권한의 유형 섹션을 참조하세요.

    고객 관리형 권한 생성을 선택하여 공유 사용 사례의 요구 사항을 충족하는 고객 관리형 권한을 구성합니다. 자세한 내용은 고객 관리형 정책 생성 섹션을 참조하세요. 프로세스를 완료한 후 Refresh icon 를 선택한 다음 관리형 권한 드롭다운 목록에서 새 고객 관리형 권한을 선택할 수 있습니다.

    참고

    선택한 관리형 권한에 여러 버전이 있는 경우 AWS RAM에서 자동으로 기본 버전을 연결합니다. 기본 버전으로 지정된 버전만 연결할 수 있습니다.

    관리형 권한에서 허용하는 작업을 표시하려면 이 관리형 권한에 대한 정책 템플릿 보기를 확장합니다.

  7. 다음을 선택합니다.

  8. 3단계: 보안 주체에 액세스 권한 부여에서 다음을 수행합니다.

    1. 기본적으로 누구에게나 공유 허용이 선택되어 있습니다. 즉, 이를 지원하는 리소스 유형의 경우 조직 외부에 있는 AWS 계정과 리소스를 공유할 수 있습니다. 이는 Amazon VPC 서브넷과 같이 조직 내에서만 공유할 수 있는 리소스 유형에는 영향을 주지 않습니다. 지원되는 일부 리소스 유형을 IAM 역할 및 사용자와 공유할 수도 있습니다.

      리소스 공유를 조직 내 계정 및 보안 주체로만 제한하려면 조직 내에서만 공유 허용을 선택합니다.

    2. 보안 주체에서 다음을 수행합니다.

      • 조직, 조직 단위(OU) 또는 조직에 속한 AWS 계정을 추가하려면 조직 구조 표시를 켭니다. 그러면 조직의 트리 보기가 표시됩니다. 그런 다음 추가하려는 각 보안 주체 옆의 확인란을 선택합니다.

        중요

        조직 또는 OU와 공유할 때 해당 범위에 리소스 공유를 소유한 계정이 포함되어 있으면 공유 계정의 모든 주체가 자동으로 공유의 리소스에 대한 액세스 권한을 얻게 됩니다. 부여된 액세스 권한은 공유와 연결된 관리형 권한에 의해 정의됩니다. 이는 AWS RAM에서 공유의 각 리소스에 연결한 리소스 기반 정책이 "Principal": "*"을 사용하기 때문입니다. 자세한 내용은 리소스 기반 정책에서 "Principal": "*" 사용 시 유의 사항 섹션을 참조하세요.

        다른 소비 계정의 보안 주체는 공유 리소스에 즉시 액세스할 수 없습니다. 다른 계정의 관리자가 먼저 자격 증명 기반 권한 정책을 해당 보안 주체에 연결해야 합니다. 이러한 정책은 리소스 공유에 있는 개별 리소스의 ARN에 Allow 액세스 권한을 부여해야 합니다. 이러한 정책의 권한은 리소스 공유와 연결된 관리형 권한에 지정된 권한을 초과할 수 없습니다.

        • 조직(ID가 o-로 시작)을 선택하면 조직 내 모든 AWS 계정의 보안 주체가 리소스 공유에 액세스할 수 있습니다.

        • OU(ID가 ou-로 시작)를 선택하면 해당 OU와 하위 OU에 있는 모든 AWS 계정의 보안 주체가 리소스 공유에 액세스할 수 있습니다.

        • 개별 AWS 계정을 선택하면 해당 계정에 있는 보안 주체만 리소스 공유에 액세스할 수 있습니다.

        참고

        조직 구조 표시 토글은 AWS Organizations와의 공유가 활성화되어 있고 조직의 관리 계정에 로그인한 경우에만 나타납니다.

        이 방법으로는 조직 외부의 AWS 계정이나 IAM 역할 또는 사용자를 지정할 수 없습니다. 대신 조직 구조 표시를 끄고 드롭다운 목록과 텍스트 상자를 사용하여 ID 또는 ARN을 입력해야 합니다.

      • 조직 외부의 보안 주체를 포함하여 ID 또는 ARN으로 보안 주체를 지정하려면 각 보안 주체에 대해 보안 주체 유형을 선택합니다. 그런 다음 ID(AWS 계정, 조직 또는 OU의 경우) 또는 ARN(IAM 역할 또는 사용자의 경우)을 입력하고 추가를 선택합니다. 사용 가능한 보안 주체 유형, ID 및 ARN 형식은 다음과 같습니다.

        • AWS 계정 – AWS 계정을 추가하려면 12자리 계정 ID를 입력합니다. 예:

          123456789012

        • 조직 - 조직의 모든 AWS 계정을 추가하려면 조직 ID를 입력합니다. 예:

          o-abcd1234

        • 조직 단위(OU) - OU를 추가하려면 OU ID를 입력합니다. 예:

          ou-abcd-1234efgh

        • IAM 역할 - IAM 역할을 추가하려면 역할의 ARN을 입력합니다. 다음 구문을 사용합니다.

          arn:partition:iam::account:role/role-name

          예:

          arn:aws:iam::123456789012:role/MyS3AccessRole

          참고

          IAM 역할의 고유 ARN을 가져오려면 IAM 콘솔에서 역할 목록을 확인하고 get-role AWS CLI 명령 또는 GetRole API 작업을 사용합니다.

        • IAM 사용자 - IAM 사용자를 추가하려면 사용자의 ARN을 입력합니다. 다음 구문을 사용합니다.

          arn:partition:iam::account:user/user-name

          예:

          arn:aws:iam::123456789012:user/bob

          참고

          IAM 사용자의 고유 ARN을 가져오려면 IAM 콘솔에서 사용자 목록을 확인하고 get-user AWS CLI 명령 또는 GetUser API 작업을 사용합니다.

      • 서비스 보안 주체 - 서비스 보안 주체를 추가하려면 보안 주체 유형 선택 드롭박스에서 서비스 주체를 선택합니다. AWS 서비스 보안 주체의 이름을 입력합니다. 다음 구문을 사용합니다.

        • service-id.amazonaws.com

          예:

          pca-connector-ad.amazonaws.com

    3. 선택한 보안 주체에서 지정한 보안 주체가 목록에 나타나는지 확인합니다.

  9. 다음을 선택합니다.

  10. 4단계: 검토 및 생성에서 리소스 공유에 대한 구성 세부 정보를 검토합니다. 단계 구성을 변경하려면 돌아가려는 단계에 해당하는 링크를 선택한 다음 필요한 사항을 변경합니다.

  11. 리소스 공유 검토를 완료한 후 리소스 공유 생성을 선택합니다.

    리소스 및 보안 주체 연결이 완료되는 데 몇 분 정도 걸릴 수 있습니다. 이 프로세스가 완료될 때까지 기다렸다가 리소스 공유를 사용해 보세요.

  12. 언제든지 리소스와 보안 주체를 추가 및 제거하거나 리소스 공유에 사용자 지정 태그를 적용할 수 있습니다. 기본 관리형 권한 이상을 지원하는 리소스 유형의 경우 리소스 공유에 포함된 리소스 유형의 관리형 권한을 변경할 수 있습니다. 리소스를 더 이상 공유하지 않으려는 경우 리소스 공유를 삭제할 수 있습니다. 자세한 내용은 내 소유의 AWS 리소스 공유 섹션을 참조하세요.

AWS CLI
리소스 공유를 생성하려면

create-resource-share 명령을 사용합니다. 다음 명령은 조직의 모든 AWS 계정과 공유되는 리소스 공유를 생성합니다. 공유에는 AWS License Manager 라이선스 구성이 포함되며 해당 리소스 유형에 대해 기본 관리형 권한이 부여됩니다.

참고

이 리소스 공유의 리소스 유형과 함께 고객 관리형 권한을 사용하려는 경우 기존 고객 관리형 권한을 사용하거나 새 고객 관리형 권한을 생성할 수 있습니다. 고객 관리형 권한의 ARN을 기록해 둔 다음 리소스 공유를 생성합니다. 자세한 내용은 고객 관리형 정책 생성 섹션을 참조하세요.

$ aws ram create-resource-share \ --region us-east-1 \ --name MyLicenseConfigShare \ --permission-arns arn:aws:ram::aws:permission/AWSRAMDefaultPermissionLicenseConfiguration \ --resource-arns arn:aws:license-manager:us-east-1:123456789012:license-configuration:lic-abc123 \ --principals arn:aws:organizations::123456789012:organization/o-1234abcd { "resourceShare": { "resourceShareArn": "arn:aws:ram:us-east-1:123456789012:resource-share/12345678-abcd-09876543", "name": "MyLicenseConfigShare", "owningAccountId": "123456789012", "allowExternalPrincipals": true, "status": "ACTIVE", "creationTime": "2021-09-14T20:42:40.266000-07:00", "lastUpdatedTime": "2021-09-14T20:42:40.266000-07:00" } }