본문 바로가기

Unity

[Unity] 유니티와 AWS Cognito 연동하기

유니티에서는 아래와 같이 여러 서비스를 AWS에서 제공한다.

• Amazon Cognito

• Amazon DynamoDB

• AWS Identity and Access Management

• Amazon Kinesis Streams

• AWS Lambda

• Amazon Mobile Analytics

• Amazon Simple Email Service

• Amazon Simple Notification Service

• Amazon Simple Queue Service

• Amazon Simple Storage Service

 

이러한 서비스 사용을 위해 AWS를 호출하려면 먼저 AWS 자격 증명이 필요하다.

이번 포스팅에서는 유니티에서 Amazon Cognito 자격 증명 서비스를 사용하여 AWS 자격 증명을 제공하는 방법에 대해 다루도록 하겠다.

 

시작하기 전 필요한 두가지

• AWS 계정

• Unity 버전 4.x 또는 5.x 이상

 


 

https://ap-northeast-2.console.aws.amazon.com/cognito/home?region=ap-northeast-2

먼저 AWS 로그인 후, Cognito 콘솔 창에 접속하여 원하는 지역을 선택한다.

'자격 증명 풀 관리' 클릭

 

 

 

'새 자격 증명 풀 만들기' 를 선택

자격 증명 풀 이름을 작성하고, 인증되지 않은 자격 증명에 대한 엑세스 활성화를 체크한 후 풀을 생성한다.

 

 

 

허용을 클릭하면 자격 증명 풀이 생성된다.

 

 

 

위 파란줄의 자격 증명 풀 ID를 잠시 복사해둔다.

 

 

 

AWS 서비스 탭에서 IAM 콘솔 창으로 넘어간다.

 

 

 

좌측의 역할 탭을 클릭하면, 역할 목록을 볼 수 있다.

이 중에서 Cognito_(자격 증명 풀이름)Unauth_Role 역할을 클릭한다.

* 이름은 좀 다를 수 있지만 Unauth_Role(비인증 역할)을 선택하면 된다.

 

 

 

'신뢰 관계 편집' 클릭

 

 

 

 이 때 저 파란 상자로 가려진 위치의 자격 증명 풀 ID가 아까 복사해둔 ID와 일치하는지 확인한다.

기본적으로는 일치하지만 만약 일치하지 않는 경우 인증 문제가 생기기 때문에 꼭 확인한다.

또한 아래 파란 밑줄 친 부분이 unauthenticated여야 비인증 접속자도 연결이 가능하다.

 

 

 

확인 완료했다면 이제 아래 주소에서 AWS Mobile SDK for Unity를 다운로드 받고 압축을 푼다.

http://sdk-for-net.amazonwebservices.com/latest/aws-sdk-unity.zip

 

 

 

압축을 풀면 유니티에게 제공되는 서비스들이 패키지 파일로 들어있다.

 

 

 

연동할 유니티 프로젝트에서 CognitoSync와 사용할 서비스 패키지들을 선택적으로 임포트한다.

 

 

 

 

임포트 완료 후, 연동을 위한 스크립트를 생성한다.

 

 

 

using UnityEngine;
using Amazon;
using Amazon.CognitoIdentity;

public class StartProgram : MonoBehaviour
{
    CognitoAWSCredentials credentials;
    private void Awake()
    {
        UnityInitializer.AttachToGameObject(this.gameObject);
        credentials = new CognitoAWSCredentials("자신의 자격 증명 풀 ID",RegionEndpoint.APNortheast2);
    }
}

* SDK 버전이 바뀌면서 Initializer 적용이 꼭 필요하다.

위와 같이 코드 작성 후, 자신의 자격 증명 풀 ID와 지역을 넣으면 된다.

이 때 지역을 서울로 선택했을 경우 그대로 APNortheast2 이지만 다른 지역을 선택했을 경우 자격 증명 풀 ID 앞부분을 확인하면 지역 이름을 확인할 수 있다.

 

 

유니티와 AWS Cognito 연동 완료

다음 포스팅에서는 유니티에서  AWS DynamoDB 연동하는 법에 대해 다루도록 하겠다.

 

 

LIST