Chuẩn bị môi trường

Tạo Cognito Identity Pool

  1. Truy cập Amazon Cognito, chọn Federated identities

Cognito

  1. Chọn Create new identity pool

Cognito

  1. Tại trường Identity pool name nhập FaceRecognition. Đánh dấu chọn tại 2 checkbox Unauthenticated identitiesAuthentication flow setting.
  2. Chọn Create Pool

Cognito

  1. Tại trường Identity the IAM roles to use with your new identity pool, chọn Allow

Cognito

  1. Sao chép Identity pool ID, chúng ta sẽ sử dụng thông số này ở các bước sau

Cognito

Tạo DynamoDB table

  1. Truy cập AWS DynamoDB, chọn Create table.
  2. Tại mục Table name nhập facerecognition
  3. Tại mục Primary key nhập faceId.

Cognito

  • Sau đó kéo xuống cuối trang và ấn Create table.

Cognito

Tạo S3 bucket

  1. Chúng ta sẽ tạo 2 S3 bucket, một bucket m7www chứa mã nguồn trang web và một bucket facerecognitions3bucket chứa dữ liệu hình ảnh để nhận diện.

Cognito

Cognito

Bỏ chọn Block Public Access settings for this bucket

Tạo Rekognition Collection

  1. Sử dụng câu lệnh CLI sau để tạo collection iDevelopKnownFaces:
aws rekognition create-collection --collection-id iDevelopKnownFaces

Cognito

Cấp quyền cho Cognito

  1. Truy cập Amazon IAM, chọn Role, tìm theo từ khóa Cognito ta sẽ thấy 2 Role Cognito_FaceRecognitionAuth_Role và Cognito_FaceRecognitionUnauth_Role của Cognito Identity Pool mà ta đã tạo ở bước trên, ta sẽ chỉnh sửa policy của 2 Role này.

Cognito

  1. Chọn Cognito_FaceRecognitionUnauth_Role, tại mục Permision, chọn oneClick_Cognito_Cognito_FaceRecognitionAuth_Role_xxxxxxxx, chọn Edit policy

Edit policy

  1. Sao chép và dán đoạn sau vào tab JSON
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "rekognition:DetectLabels",
                "mobileanalytics:PutEvents",
                "cognito-sync:*",
		"cognito-identity:*"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "rekognition:CreateCollection",
                "rekognition:DeleteCollection",
                "rekognition:IndexFaces",
                "dynamodb:Scan",
                "dynamodb:Query",
                "dynamodb:UpdateItem",
                "rekognition:SearchFacesByImage"
            ],
            "Resource": [
                "arn:aws:s3:::facerecognitions3bucket/*",
                "arn:aws:dynamodb:<YOUR_REGION>:<ACCOUNT_ID>:table/facerecognition",
                "arn:aws:rekognition:<YOUR_REGION>:<ACCOUNT_ID>:collection/iDevelopKnownFaces"
            ]
        }
    ]
}  
  1. Chọn Review Policy.

Edit policy

  • Sau đó ấn Save changes.

Edit policy

  1. Thực hiện tương tự với Cognito_FaceRecognitionAuth_Role
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "rekognition:DetectLabels",
                "mobileanalytics:PutEvents",
                "cognito-sync:*",
                "cognito-identity:*"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "rekognition:CreateCollection",
                "rekognition:DeleteCollection",
                "rekognition:IndexFaces",
                "dynamodb:Scan",
                "dynamodb:Query",
                "dynamodb:UpdateItem",
                "rekognition:SearchFacesByImage"
            ],
            "Resource": [
                "arn:aws:s3:::facerecognitions3bucket/*",
                "arn:aws:dynamodb:<YOUR_REGION>:<ACCOUNT_ID>:table/facerecognition",
                "arn:aws:rekognition:<YOUR_REGION>:<ACCOUNT_ID>:collection/iDevelopKnownFaces"
            ]
        }
    ]
}

Edit policy

Edit policy