ここではAWS S3にあるデータをタスクとして登録する方法を説明します。S3の設定を行うには、ワークスペースのオーナー権限が必要です。

S3連携時の注意事項

S3連携のご利用には以下の制限がございます。

IAMロールを作成する

FastLabelに委任するIAMロールを作成します。

  1. AWS IAM コンソールを開き、**[ロールを作成]**を選択します。
  2. [信頼されたエンティティの種類を選択]で、[AWS アカウント] を選択します。
  3. [アカウントID]に595343846762(FastLabelのアカウントID)を入力します。
  4. [オプション]で[外部 ID を要求する]にチェックを入れます([MFA が必要]はチェックしないでください)。外部 ID の詳細についてはこちらをご覧ください。
  5. [外部 ID]に、FastLabelワークスペースの[ストレージ連携]メニューにある[AWS S3 > 外部ID]の値をコピーして入力します。

Untitled

  1. [次へ] をクリックします。
  2. [ポリシーの作成] をクリックします(別ウィンドウが開きます)。
    1. [ポリシーの作成]が表示されない場合は、こちらのページからポリシーを作成してください
  3. [JSON]タブを選択し、下記の YOUR_BUCKET_NAME を変更して貼り付けます。こちらのポリシーで指定したものがFastLabelに委任するアクセス権限となります。
{
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "FastLabelS3Access",
                "Effect": "Allow",
                "Action": [
                    "s3:GetObject",
                    "s3:ListBucketVersions",
                    "s3:ListBucket"
                ],
                "Resource": [
                    "arn:aws:s3:::{YOUR_BUCKET_NAME}/*",
                    "arn:aws:s3:::{YOUR_BUCKET_NAME}"
                ]
            }
        ]
    }

※ S3バケットへのエクスポートを利用したい場合は、下記のようにActionに["s3:PutObject"]を追加したものを設定してください。

{
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "FastLabelS3Access",
                "Effect": "Allow",
                "Action": [
                    "s3:GetObject",
                    "s3:PutObject",
                    "s3:ListBucketVersions",
                    "s3:ListBucket"
                ],
                "Resource": [
                    "arn:aws:s3:::{YOUR_BUCKET_NAME}/*",
                    "arn:aws:s3:::{YOUR_BUCKET_NAME}"
                ]
            }
        ]
    }

🚧

バケットがAWS Key Management Service キー (SSE-KMS)で暗号化をされている場合、以下のポリシーを参考にしてください。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "FastLabelS3Access",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucketVersions",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::{YOUR_BUCKET_NAME}/*",
                "arn:aws:s3:::{YOUR_BUCKET_NAME}"
            ]
        },
        {
            "Sid": "FastLabelS3KMSAccess",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "{YOUR_KEY_ARN}"
            ]
        }
    ]
}
  1. [次のステップ: タグ]をクリックします。
  2. [次のステップ: 確認]をクリックします。
  3. 任意の名前(例:FastLabelIntegrationPolicy)を入力し、任意の説明を入力します。
  4. [ポリシーの作成] をクリックし、ロールの作成で開いていたウィンドウに戻ります。
  5. ポリシーのリストを更新し、先ほど作成したポリシーを選択します。
  6. [次のステップ: タグ]をクリックします。
  7. [次のステップ: 確認]をクリックします。
  8. 任意のロール名(例:FastLabelIntegrationRole)を入力し、任意のロールの説明を入力します。
  9. [ロールの作成] をクリックします。

ストレージ連携の設定をする

上記で作成したIAMロールを使用し、FastLabelがS3にアクセスするための設定を行います。

  1. FastLabelのワークスペースを開きます。
  2. [ストレージ連携]メニューをクリックします。
  3. [IAMロールARN]に先ほど作成したIAMロールのARN(例:arn:aws:iam::000000000000:role/FastLabelIntegrationRole)を入力します。
  4. [保存]をクリックします。
  5. [連携テスト]をクリックして連携できるかを確認します。

バケットのポリシーにCORSを設定する

テキスト、音声のS3連携ではCORSを設定する必要があります。

  1. 連携したいバケットを開きます。
  2. [アクセス許可]のタブを開き、下にスクロールをします。
  3. [Cross-Origin Resource Sharing (CORS)]に以下を入力します。
[
    {
        "AllowedHeaders": [
            "Authorization"
        ],
        "AllowedMethods": [
            "GET",
            "HEAD"
        ],
        "AllowedOrigins": [
            "<https://app.fastlabel.ai>"
        ],
        "ExposeHeaders": [
            "Access-Control-Allow-Origin"
        ]
    }
]

AWS S3から連携してタスクを作成する

設定が完了すると、タスク作成時にAWS S3からの連携が利用できるようになります。

AWS S3から連携してタスクを作成する

サムネイル画像の設定

データセットでのストレージ連携時に、サムネイル画像を作成することが可能です。

サムネイル画像を保存するS3バケット名、S3バケットリージョンを設定してください。

Untitled

ポリシーは以下をご参照ください。

{
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "FastLabelS3Access",
                "Effect": "Allow",
                "Action": [
                    "s3:GetObject",
                    "s3:PutObject",
                    "s3:ListBucketVersions",
                    "s3:ListBucket"
                ],
                "Resource": [
                    "arn:aws:s3:::{YOUR_BUCKET_NAME}/*",
                    "arn:aws:s3:::{YOUR_BUCKET_NAME}"
                ]
            }
        ]
    }