> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/datasets/ja/toappurdo/adding-data/datasource-policy-examples.md).

# データソースポリシーの例

AWS S3 バックのバケット用のポリシー JSON が必要な場合は、これらの例を使用してください。

Assume Role と IAM アクセスキーのどちらを使うべきかを含む、AWS 認証情報の設定フロー全体については、こちらを参照してください。 [AWS S3 認証情報](/datasets/ja/toappurdo/adding-data/datasource-credentials/aws-s3.md).

## カスタム IAM ポリシー

Roboflow に 1 つのバケットへのアクセスのみを付与する IAM 認証情報を作成したい場合は、このポリシーを使用してください。

```json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:ListBucket", "s3:GetBucketLocation"],
      "Resource": "arn:aws:s3:::your-bucket-name"
    },
    {
      "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectTagging"],
      "Resource": "arn:aws:s3:::your-bucket-name/*"
    }
  ]
}
```

置き換えてください `your-bucket-name` を実際のバケット名に。

## バケットポリシー

Roboflow の AWS ロールにバケットへの直接読み取りアクセスを付与したい場合は、このポリシーを使用してください。

```json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "RoboflowBucketAccess",
      "Effect": "Allow",
      "Principal": {
        "AWS": "<roboflow-role-arn>"
      },
      "Action": [
        "s3:ListBucket",
        "s3:GetBucketLocation",
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:GetObjectTagging"
      ],
      "Resource": [
        "arn:aws:s3:::your-bucket-name",
        "arn:aws:s3:::your-bucket-name/*"
      ]
    }
  ]
}
```

置き換えてください `your-bucket-name` を実際のバケット名に、また `<roboflow-role-arn>` を Roboflow 担当者から提供された ARN に置き換えてください。

## Assume Role の信頼ポリシー

Roboflow がバケットを読み取るために引き受ける、アカウント内の IAM ロールにこの信頼ポリシーを使用してください。以下を [カスタム IAM ポリシー](#custom-iam-policy) 同じロールに付与して、バケットの読み取りアクセスを許可します。

```json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "<roboflow-principal-arn>"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "sts:ExternalId": "<your-external-id>"
        }
      }
    }
  ]
}
```

置き換えてください `<roboflow-principal-arn>` を、新しいロールを作成した後に AWS コンソールで表示されるプリンシパル ARN に置き換え、 `<your-external-id>` を、Roboflow で認証情報を作成する際に表示される External ID に置き換えてください。
