Verified Permissions 정책 스토어 생성 - Amazon Verified Permissions

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

Verified Permissions 정책 스토어 생성

다음 방법을 사용하여 정책 스토어를 생성할 수 있습니다.

  • 가이드 설정 따르기 - 첫 번째 정책을 생성하기 전에 유효한 작업과 보안 주체 유형을 사용하여 리소스 유형을 정의합니다.

  • API Gateway 및 자격 증명 소스로 설정 - 자격 증명 공급자(IdP)로 로그인하는 사용자가 있는 보안 주체 엔터티와 Amazon API Gateway 의 작업 및 리소스 엔터티를 정의합니다API. 애플리케이션이 사용자의 그룹 멤버십 또는 기타 속성으로 API 요청을 승인하도록 하려면 이 옵션을 사용하는 것이 좋습니다.

  • 샘플 정책 스토어에서 시작 - 사전 정의된 샘플 프로젝트 정책 스토어를 선택합니다. Verified Permissions에 대해 알아보고 예시 정책을 보고 테스트하려는 경우 이 옵션을 사용하는 것이 좋습니다.

  • 빈 정책 스토어 생성 - 스키마와 모든 액세스 정책을 직접 정의합니다. 정책 스토어 구성에 이미 익숙한 경우 이 옵션을 사용하는 것이 좋습니다.

Guided setup
설정 안내 구성 방법을 사용하여 정책 스토어를 생성하려면

설정 안내 마법사가 정책 스토어의 첫 번째 반복을 생성하는 프로세스를 안내합니다. 이 프로세스에서는 첫 번째 리소스 유형에 대한 스키마를 만들고, 해당 리소스 유형에 적용할 수 있는 작업과 작업 권한을 부여할 보안 주체 유형을 지정합니다. 그런 다음 첫 번째 정책을 생성합니다. 이 마법사를 완료하면 정책 스토어에 정책을 추가하고, 스키마를 확장하여 다른 리소스 및 보안 주체 유형을 설명하고, 추가 정책 및 템플릿을 생성할 수 있습니다.

  1. 확인된 권한 콘솔에서 새 정책 스토어 생성 을 선택합니다.

  2. 시작 옵션 섹션에서 가이드 설정 을 선택합니다.

  3. 정책 스토어 설명 을 입력합니다. 이 텍스트는 날씨 업데이트 웹 애플리케이션 과 같이 현재 정책 스토어의 함수에 대한 친숙한 참조로 조직에 적합한 텍스트일 수 있습니다.

  4. 세부 정보 섹션에서 스키마의 네임스페이스를 입력합니다. 네임스페이스에 대한 자세한 내용은 섹션을 참조하세요네임스페이스 정의.

  5. Next(다음)를 선택합니다.

  6. 리소스 유형 창에서 리소스 유형의 이름을 입력합니다. 예를 들어 는 날씨 업데이트 웹 애플리케이션 의 리소스일 currentTemperature 수 있습니다.

  7. (선택 사항) 속성 추가를 선택하여 리소스 속성을 추가합니다. 속성 이름을 입력하고 리소스의 각 속성에 대해 속성 유형을 선택합니다. 각 속성이 필수인지 여부를 선택합니다. 예를 들어 는 currentTemperature 리소스의 속성일 temperatureFormat 수 있으며 화씨 또는 섭씨일 수 있습니다. 리소스 유형에 추가된 속성을 제거하려면 해당 속성 옆에 있는 제거를 선택합니다.

  8. 작업 필드에 지정된 리소스 유형에 대해 승인할 작업을 입력합니다. 리소스 유형에 대해 작업을 더 추가하려면 작업 추가를 선택합니다. 예를 들어 날씨 업데이트 웹 애플리케이션 의 작업이 될 viewTemperature 수 있습니다. 리소스 유형에 대해 추가된 작업을 제거하려면 해당 작업 옆에 있는 제거를 선택합니다.

  9. 보안 주체 유형 이름 필드에 해당 리소스 유형에 지정된 작업을 사용할 보안 주체 유형의 이름을 입력합니다. 기본적으로 사용자는 이 필드에 추가되지만 교체할 수 있습니다.

  10. Next(다음)를 선택합니다.

  11. 보안 주체 유형 창에서 보안 주체 유형의 자격 증명 소스를 선택합니다.

    • Verified Permissions 애플리케이션에서 보안 주체의 ID 및 속성이 직접 제공되도록 하려면 사용자 지정을 선택합니다. 보안 주체 속성을 추가하려면 속성 추가를 선택합니다. Verified Permissions는 스키마에 대해 정책을 검증할 때 지정된 속성 값을 사용합니다. 보안 주체 유형에 추가된 속성을 제거하려면 속성 옆에 있는 제거를 선택합니다.

    • Amazon Cognito에서 생성된 ID 또는 액세스 토큰에서 보안 주체의 ID 및 속성이 제공되도록 하려면 Cognito 사용자 풀을 선택합니다. 사용자 풀 연결을 선택합니다. AWS 리전을 선택하고 연결할 Amazon Cognito 사용자 풀의 사용자 풀 ID를 입력합니다. 연결을 선택합니다. 자세한 내용은 Amazon Cognito 개발자 안내서Amazon Verified Permissions를 통한 권한 부여를 참조하세요.

    • 보안 주체의 ID 및 속성이 ID 및/또는 액세스 토큰에서 추출되고 외부 OIDC 공급자가 생성한 경우 외부 OIDC 공급자를 선택하고 공급자 및 토큰 세부 정보를 추가합니다.

  12. Next(다음)를 선택합니다.

  13. 정책 세부 정보 섹션에서 첫 번째 Cedar 정책에 대해 선택적으로 정책 설명을 입력합니다.

  14. 보안 주체 범위 필드에서 정책으로부터 권한을 부여받을 보안 주체를 선택합니다.

    • 정책을 특정 보안 주체에 적용하려면 특정 보안 주체를 선택합니다. 작업을 수행하도록 허용할 보안 주체 필드에서 보안 주체를 선택하고 보안 주체의 개체 식별자를 입력합니다. 예를 들어 날씨 업데이트 웹 애플리케이션 의 엔터티 식별자일 user-id 수 있습니다.

      참고

      Amazon Cognito 를 사용하는 경우 엔터티 식별자의 형식은 여야 합니다<userpool-id>|<sub>.

    • 정책 스토어의 모든 보안 주체에 정책을 적용하려면 모든 보안 주체를 선택합니다.

  15. 리소스 범위 필드에서 지정된 보안 주체에게 작업 권한을 부여할 리소스를 선택합니다.

    • 정책을 특정 리소스에 적용하려면 특정 리소스를 선택합니다. 이 정책을 적용해야 하는 리소스 필드에서 리소스를 선택하고 리소스의 개체 식별자를 입력합니다. 예를 들어 날씨 업데이트 웹 애플리케이션 의 엔터티 식별자일 temperature-id 수 있습니다.

    • 정책 스토어의 모든 리소스에 정책을 적용하려면 모든 리소스를 선택합니다.

  16. 작업 범위 필드에서 지정된 보안 주체에게 수행할 권한을 부여할 작업을 선택합니다.

    • 정책을 여러 특정 작업에 적용하려면 특정 작업 세트를 선택합니다. 이 정책을 적용해야 하는 작업 필드에서 해당 작업 옆에 있는 확인란을 선택합니다.

    • 정책 스토어의 모든 작업에 정책을 적용하려면 모든 작업을 선택합니다.

  17. 정책 미리 보기 섹션에서 정책을 검토하십시오. 정책 스토어 생성을 선택합니다.

Set up with API Gateway and an identity source
API Gateway로 설정 및 자격 증명 소스 구성 방법을 사용하여 정책 스토어를 생성하려면

API Gateway 옵션은 사용자 그룹 또는 역할 에서 권한 부여 결정을 내리도록 설계된 Verified Permissions 정책을 APIs 통해 보안이 유지됩니다. 이 옵션은 자격 증명 소스 그룹 및 Lambda 권한 부여자를 사용하여 권한 부여를 테스트하기 위한 정책 스토어API를 구축합니다.

IdP의 사용자 및 해당 그룹은 보안 주체(ID 토큰) 또는 컨텍스트(액세스 토큰)가 됩니다. API Gateway의 메서드와 경로는 정책이 권한을 부여하는 작업이 API 됩니다. 애플리케이션이 리소스가 됩니다. 이 워크플로의 결과로 Verified Permissions는 정책 스토어, Lambda 함수 및 API Lambda 권한 부여자를 생성합니다. 이 워크플로를 완료한 API 후 Lambda 권한 부여자를 에 할당해야 합니다.

  1. 확인된 권한 콘솔에서 새 정책 스토어 생성 을 선택합니다.

  2. 시작 옵션 섹션에서 API 게이트웨이 및 자격 증명 소스로 설정을 선택하고 다음을 선택합니다.

  3. 리소스 및 작업 가져오기 단계의 아래에서 정책 스토어 리소스 및 작업의 모델로 API 작동하는 를 API선택합니다.

    1. 에 구성된 단계에서 배포 단계를 API 선택하고 가져오기를 API선택합니다. API 단계에 대한 자세한 내용은 Amazon API Gateway 개발자 안내서RESTAPI의 에 대한 단계 설정을 참조하세요.

    2. 가져온 리소스 및 작업 맵을 미리 봅니다.

    3. 리소스 또는 작업을 업데이트하려면 API 게이트웨이 콘솔에서 API 경로 또는 메서드를 수정하고 가져오기API를 선택하여 업데이트를 확인합니다.

    4. 선택한 항목에 만족하면 다음을 선택합니다.

  4. 자격 증명 소스 에서 자격 증명 공급자 유형 을 선택합니다. Amazon Cognito 사용자 풀 또는 OpenID Connect(OIDC) IdP 유형을 선택할 수 있습니다.

  5. Amazon Cognito를 선택한 경우:

    1. 정책 스토어와 동일한 AWS 리전 및 AWS 계정 에서 사용자 풀을 선택합니다.

    2. 인증을 위해 제출할 토큰 유형을 API 선택합니다. 두 토큰 유형 모두 이 API연결 권한 부여 모델의 기반인 사용자 그룹을 포함합니다.

    3. 앱 클라이언트 검증에서 정책 스토어의 범위를 다중 테넌트 사용자 풀의 Amazon Cognito 앱 클라이언트 하위 집합으로 제한할 수 있습니다. 사용자 풀에서 하나 이상의 지정된 앱 클라이언트로 사용자 인증을 요구하려면 예상 앱 클라이언트가 있는 토큰만 수락을 IDs선택합니다. 사용자 풀로 인증하는 사용자를 수락하려면 앱 클라이언트 검증 안 함을 IDs선택합니다.

    4. Next(다음)를 선택합니다.

  6. 외부 OIDC 공급자를 선택한 경우:

    1. 발급자 URL에서 OIDC 발급URL자의 를 입력합니다. 권한 부여 서버, 서명 키 및 와 같은 공급자에 대한 기타 정보를 제공하는 서비스 엔드포인트입니다https://auth.example.com. 발급자는 에서 OIDC 검색 문서를 호스팅URL해야 합니다/.well-known/openid-configuration.

    2. 토큰 유형 에서 OIDC JWT 애플리케이션이 인증을 위해 제출할 의 유형을 선택합니다. 자세한 내용은 스키마에 자격 증명 공급자 토큰 매핑 단원을 참조하십시오.

    3. (선택 사항) 토큰 클레임 - 선택 사항 에서 토큰 클레임 추가를 선택하고 토큰 이름을 입력한 다음 값 유형을 선택합니다.

    4. 사용자 및 그룹 토큰 클레임 에서 다음을 수행합니다.

      1. 자격 증명 소스의 토큰에 사용자 클레임 이름을 입력합니다. 이는 일반적으로 평가할 엔터티의 고유 식별자를 보유한 ID 또는 액세스 토큰sub에서 발생하는 클레임입니다. 연결된 OIDC IdP의 ID는 정책 스토어의 사용자 유형에 매핑됩니다.

      2. 자격 증명 소스의 토큰에 그룹 클레임 이름을 입력합니다. 이는 일반적으로 사용자 그룹 목록이 포함된 ID 또는 액세스 토큰groups의 클레임입니다. 정책 스토어는 그룹 멤버십을 기반으로 요청을 승인합니다.

    5. 대상 검증 에서 정책 스토어가 권한 부여 요청에 수락할 값을 Add value 선택하고 추가합니다.

    6. Next(다음)를 선택합니다.

  7. Amazon Cognito를 선택한 경우 Verified Permissions는 사용자 풀에서 그룹을 쿼리합니다. OIDC 공급자의 경우 그룹 이름을 수동으로 입력합니다. 그룹에 작업 할당 단계는 그룹 구성원이 작업을 수행하도록 허용하는 정책 스토어에 대한 정책을 생성합니다.

    1. 정책에 포함할 그룹을 선택하거나 추가합니다.

    2. 선택한 각 그룹에 작업을 할당합니다.

    3. Next(다음)를 선택합니다.

  8. 앱 통합 배포 에서 나중에 수동으로 Lambda 권한 부여자를 연결할지 아니면 Verified Permissions가 지금 수동으로 연결하도록 할지 선택하고 Verified Permissions가 정책 스토어 및 Lambda 권한 부여자를 생성하기 위해 수행할 단계를 검토합니다.

  9. 새 리소스를 생성할 준비가 되면 정책 스토어 생성을 선택합니다.

  10. 브라우저에서 정책 스토어 상태 단계를 열어두어 Verified Permissions에 의한 리소스 생성 진행 상황을 모니터링합니다.

  11. 일반적으로 약 1시간 후 또는 Lambda 권한 부여자 배포 단계에서 성공이 표시되면 권한 부여자를 수동으로 연결하도록 선택한 경우 권한 부여자를 구성합니다.

    확인된 권한은 에서 Lambda 함수와 Lambda 권한 부여자를 생성했습니다API. 열기API를 선택하여 로 이동합니다API.

    Lambda 권한 부여자를 할당하는 방법을 알아보려면 Amazon API Gateway 개발자 안내서의 Gateway Lambda 권한 부여자 사용을 참조하세요. API

    1. 권한 부여자로 이동하여 Verified Permissions가 생성한 권한 부여자의 이름을 API 기록해 둡니다.

    2. 리소스로 이동하여 에서 최상위 메서드를 선택합니다API.

    3. 메서드 요청 설정에서 편집을 선택합니다.

    4. 권한 부여자를 앞서 기록한 권한 부여자 이름으로 설정합니다.

    5. HTTP 요청 헤더 를 확장AUTHORIZATION하고 이름 또는 를 입력한 다음 필수 를 선택합니다.

    6. API 스테이지를 배포합니다.

    7. 변경 사항을 저장합니다.

  12. 자격 증명 소스 선택 단계에서 선택한 토큰 유형의 사용자 풀 토큰으로 권한 부여자를 테스트합니다. 사용자 풀 로그인 및 토큰 검색에 대한 자세한 내용은 Amazon Cognito 개발자 안내서사용자 풀 인증 흐름을 참조하세요.

  13. 에 대한 요청 AUTHORIZATION 헤더의 사용자 풀 토큰으로 인증을 다시 테스트합니다API.

  14. 새 정책 스토어를 검사합니다. 정책을 추가하고 구체화합니다.

Sample policy store
샘플 정책 스토어 구성 방법을 사용하여 정책 스토어를 생성하려면
  1. 시작 옵션 섹션에서 샘플 정책 스토어 를 선택합니다.

  2. 샘플 프로젝트 섹션에서 사용할 샘플 Verified Permissions 애플리케이션의 유형을 선택합니다.

    • PhotoFlash 는 사용자가 개별 사진과 앨범을 친구와 공유할 수 있는 샘플 고객 대면 웹 애플리케이션입니다. 사용자는 사진을 보거나 댓글을 달고 재공유할 수 있는 사람의 권한을 세분화하여 설정할 수 있습니다. 계정 소유자는 친구 그룹을 만들고 사진을 앨범으로 정리할 수도 있습니다.

    • DigitalPetStore 는 누구나 등록하고 고객이 될 수 있는 샘플 애플리케이션입니다. 고객은 판매할 반려동물을 추가하거나 반려동물을 검색하고 주문할 수 있습니다. 반려동물을 추가한 고객은 반려동물 소유자로 기록됩니다. 반려동물 소유자는 반려동물의 세부 정보를 업데이트하거나 반려동물 이미지를 업로드하고 반려동물 등록 내용을 삭제할 수 있습니다. 반려동물을 주문한 고객은 주문 소유자로 기록됩니다. 주문 소유자는 주문에 대한 세부 정보를 확인하거나 주문을 취소할 수 있습니다. 반려동물 스토어 매니저에게는 관리자 액세스 권한이 부여됩니다.

      참고

      DigitalPetStore 샘플 정책 스토어에는 정책 템플릿이 포함되지 않습니다. PhotoFlashTinyTodo 샘플 정책 스토어에는 정책 템플릿이 포함됩니다.

    • TinyTodo 는 사용자가 태크와 작업 목록을 생성할 수 있는 샘플 애플리케이션입니다. 목록 소유자는 목록을 관리 및 공유하고 목록을 보거나 편집할 수 있는 사람을 지정할 수 있습니다.

  3. 샘플 정책 스토어의 스키마 네임스페이스는 선택한 샘플 프로젝트에 따라 자동으로 생성됩니다.

  4. 정책 스토어 생성을 선택합니다.

    선택한 샘플 정책 스토어에 대한 정책 및 스키마를 사용하여 정책 스토어가 생성됩니다. 샘플 정책 스토어에 대해 생성할 수 있는 템플릿이 연결된 정책에 대한 자세한 내용은 Amazon 검증 권한 예제 템플릿 연결 정책를 참조하세요.

Empty policy store
빈 정책 스토어 구성 방법을 사용하여 정책 스토어를 생성하려면
  1. 시작 옵션 섹션에서 정책 저장소 비우기 를 선택합니다.

  2. 정책 스토어 생성을 선택합니다.

빈 정책 스토어는 스키마 없이 생성되므로 정책이 검증되지 않습니다. 정책 스토어의 스키마 업데이트에 대한 자세한 내용은 Amazon Verified Permissions 정책 스토어 스키마를 참조하세요.

정책 스토어의 정책 생성에 대한 자세한 내용은 Amazon Verified Permissions 정적 정책 생성Amazon Verified Permissions 템플릿 연결 정책 생성을 참조하세요.

AWS CLI
AWS CLI를 사용하여 빈 정책 스토어를 생성하려면

create-policy-store 작업을 사용하여 정책 스토어를 생성할 수 있습니다.

참고

를 사용하여 생성하는 정책 스토어 AWS CLI 가 비어 있습니다.

$ aws verifiedpermissions create-policy-store \ --validation-settings "mode=STRICT" { "arn": "arn:aws:verifiedpermissions::123456789012:policy-store/PSEXAMPLEabcdefg111111", "createdDate": "2023-05-16T17:41:29.103459+00:00", "lastUpdatedDate": "2023-05-16T17:41:29.103459+00:00", "policyStoreId": "PSEXAMPLEabcdefg111111" }
AWS SDKs

를 사용하여 정책 스토어를 생성할 수 있습니다CreatePolicyStoreAPI. 자세한 내용은 Amazon Verified Permissions API 참조 가이드CreatePolicyStore의 섹션을 참조하세요.