

慎重に検討した結果、Amazon Kinesis Data Analytics for SQL アプリケーションを中止することにしました。

1. **2025 年 9 月 1** 日以降、Amazon Kinesis Data Analytics for SQL アプリケーションのバグ修正は提供されません。これは、今後の廃止によりサポートが制限されるためです。

2. **2025 年 10 月 15** 日以降、新しい Kinesis Data Analytics for SQL アプリケーションを作成することはできません。

3. **2026 年 1 月 27 日**以降、アプリケーションは削除されます。Amazon Kinesis Data Analytics for SQL アプリケーションを起動することも操作することもできなくなります。これ以降、Amazon Kinesis Data Analytics for SQL のサポートは終了します。詳細については、「[Amazon Kinesis Data Analytics for SQL アプリケーションのサポート終了](discontinuation.md)」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# でアイデンティティベースのポリシー (IAM ポリシー) を使用する
<a name="using-identity-based-policies"></a>

以下のアイデンティティベースのポリシーの例では、アカウント管理者が IAM アイデンティティ (ユーザー、グループ、およびロール) にアクセス権限ポリシーをアタッチし、リソースに対するオペレーションを実行するアクセス権限を付与する方法を示します。

**重要**  
初めに、リソースへのアクセスを管理するための基本概念と、使用可能なオプションについて説明する概要トピックをお読みになることをお勧めします。詳細については、「[リソースへのアクセス許可の管理の概要](access-control-overview.md)」を参照してください。

**Topics**
+ [コンソールを使用するために必要なアクセス権限](#console-permissions)
+ [の Amazon 管理 (事前定義) ポリシー](#access-policy-aws-managed-policies)
+ [お客様が管理するポリシーの例](#access-policy-customer-managed-examples)

以下に示しているのは、アクセス権限ポリシーの例です。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Stmt1473028104000",
            "Effect": "Allow",
            "Action": [
                "kinesisanalytics:CreateApplication"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

このポリシーには以下の 1 つのステートメントがあります。
+ 最初のステートメントでは、アプリケーションの Amazon リソースネーム (ARN) を使用して、リソースに対し 1 つのアクション (`kinesisanalytics:CreateApplication`) を行うアクセス権限を付与します。この場合の ARN はワイルドカード文字 (\$1) を指定して、どのリソースにもアクセス権限を付与することを示します。

すべての API オペレーションとそれらが適用されるリソースの表については、「[API アクセス許可: アクション、アクセス許可、リソースの参照](api-permissions-reference.md)」を参照してください。

## コンソールを使用するために必要なアクセス権限
<a name="console-permissions"></a>

ユーザーが コンソールで作業するには、必要なアクセス権限を付与する必要があります。たとえば、ユーザーにアプリケーションを作成するアクセス権限を付与する場合、ユーザーのアカウントでストリーミングソースを表示できるアクセス権限を付与し、ユーザーがコンソールで入出力を設定できるようにする必要があります。

次の構成を推奨します。
+ Amazon 管理ポリシーを使用してユーザーにアクセス権限を付与します。使用できるポリシーについては、「[の Amazon 管理 (事前定義) ポリシー](#access-policy-aws-managed-policies)」を参照してください。
+ カスタムポリシーを作成します。このケースでは、このセクションで提供されている例を確認することをお勧めします。詳細については、「[お客様が管理するポリシーの例](#access-policy-customer-managed-examples)」を参照してください。





## の Amazon 管理 (事前定義) ポリシー
<a name="access-policy-aws-managed-policies"></a>

AWS は、 によって作成および管理されるスタンドアロン IAM ポリシーを提供することで、多くの一般的なユースケースに対処します AWS。これらの Amazon 管理ポリシーは、一般的なユースケースに必要な許可を付与することで、どの許可が必要なのかを調査する必要がなくなります。詳細については、「IAM ユーザーガイド」の「[Amazon 管理ポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)」を参照してください。

アカウントのユーザーにアタッチできる次の Amazon 管理ポリシーは、 に固有のものです。
+ **`AmazonKinesisAnalyticsReadOnly`** – ユーザーがアプリケーションをリストし、入出力設定を確認できるアクションのアクセス権限を付与します。また、ユーザーが Kinesis ストリームと Firehose 配信ストリームのリストを表示するためのアクセス権限も付与します。アプリケーションが実行されているときは、ユーザーはコンソールでソースデータとリアルタイム分析の結果を表示できます。

   
+ **`AmazonKinesisAnalyticsFullAccess`** – すべてのアクションのアクセス権限およびユーザーがアプリケーションを作成、管理できる他のすべてのアクセス権限を付与します。ただし、以下の点に注意してください。

   
  + これらのアクセス権限は、ユーザーがコンソールで新しい IAM ロールを作成するには不十分です (これらのアクセス権限では、ユーザーが既存ロールを選択することはできます)。ユーザーがコンソールで IAM ロールを作成できるようにする場合、`IAMFullAccess` Amazon 管理ポリシーを追加します。

     
  + アプリケーションを設定する際に IAM ロールを指定する場合は、`iam:PassRole` アクションのアクセス権限が必要です。この Amazon 管理ポリシーは、プレフィックス `service-role/kinesis-analytics` から始まる IAM ロールについてのみ、ユーザーに `iam:PassRole` アクションのアクセス権限を付与します。

    ユーザーが、このプレフィックスがついていないロールを使用して `iam:PassRole` アプリケーションを設定する場合、その特定のロールで明示的にユーザーにアクションのアクセス権限を付与する必要があります。

独自のカスタム IAM ポリシーを作成して、 アクションとリソースのための権限を許可することもできます。こうしたカスタムポリシーは、該当するアクセス許可が必要なユーザーまたはグループにアタッチできます。

## お客様が管理するポリシーの例
<a name="access-policy-customer-managed-examples"></a>

このセクションの例では、ユーザーにアタッチできるサンプルポリシーのグループが用意されています。ポリシーの作成が初めての場合は、お客様のアカウントにユーザーを作成することをお勧めします。次に、このセクションのステップで説明している順番でポリシーをそのユーザーにアタッチします。その後、コンソールを使用して、ユーザーにポリシーをアタッチしながら各ポリシーの効果を確認できます。

最初は、ユーザーにアクセス権限が付与されていないため、コンソールを使用してできることは何もありません。ユーザーにポリシーをアタッチすることで、ユーザーがコンソールで多様なアクションを実行できることを確認できます。 

2 つのブラウザウィンドウを使用することをお勧めします。1 つのウィンドウでユーザーを作成し、アクセス権限を付与します。一方、ユーザーの認証情報 AWS マネジメントコンソール を使用して にサインインし、アクセス許可を付与するときにアクセス許可を確認します。

 アプリケーションの実行ロールとして使用する IAM ロールの作成例については、「IAM ユーザーガイド」の「[IAM ロールの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html)」を参照してください。

**Topics**
+ [ステップ 1: IAM ユーザーを作成する](#console-permissions-createuser)
+ [ステップ 2:に固有ではないアクションのユーザーアクセス権限を許可する](#console-permissions-grant-non-ka-permissions)
+ [ステップ 3: ユーザーにアプリケーション一覧の表示と詳細の表示を許可する](#console-permissions-grant-list-applications)
+ [ステップ 4: ユーザーに特定のアプリケーションの起動を許可する](#console-permissions-start-app)
+ [ステップ 5: ユーザーにアプリケーションの作成を許可する](#console-permissions-grant-create-applications)
+ [ステップ 6: アプリケーションが Lambda 事前処理を使用できるようにする](#console-permissions-grant-lambda)



### ステップ 1: IAM ユーザーを作成する
<a name="console-permissions-createuser"></a>

まず、ユーザーを作成し、管理者許可を持つ IAM グループにユーザーを追加したら、作成したユーザーに管理者許可を付与する必要があります。その後、特別な URL とそのユーザーの認証情報 AWS を使用して にアクセスできます。

手順については、「*IAM ユーザーガイド*」の「[最初の IAM ユーザーと管理者グループの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html)」を参照してください。

### ステップ 2:に固有ではないアクションのユーザーアクセス権限を許可する
<a name="console-permissions-grant-non-ka-permissions"></a>

まず、 に固有ではないすべてのアクションのアクセス権限をユーザーに付与します。これはユーザーがアプリケーションを使用するときに必要となります。これには、ストリームを使用するためのアクセス権限 (Amazon Kinesis Data Streams アクション、Amazon Data Firehose アクション) や、CloudWatch アクションのアクセス権限が含まれます。次のポリシーをユーザーにアタッチします。

`iam:PassRole` アクセス権限を付与する IAM ロール名を入力するか、すべての IAM ロールを示すワイルドカード文字 (\$1) を指定して、ポリシーを更新する必要があります。これは安全なプラクティスではありませんが、このテスト中に作成された特定の IAM ロールがない場合があります。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kinesis:CreateStream",
                "kinesis:DeleteStream",
                "kinesis:DescribeStream",
                "kinesis:ListStreams",
                "kinesis:PutRecord",
                "kinesis:PutRecords"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "firehose:DescribeDeliveryStream",
                "firehose:ListDeliveryStreams"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:ListMetrics"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "logs:GetLogEvents",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:ListPolicyVersions",
                "iam:ListRoles"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/service-role/role-name"
        }
    ]
}
```

------

### ステップ 3: ユーザーにアプリケーション一覧の表示と詳細の表示を許可する
<a name="console-permissions-grant-list-applications"></a>

次のポリシーでは、ユーザーに以下のアクセス権限を付与します。
+ ユーザーがアプリケーションの一覧を表示できる `kinesisanalytics:ListApplications` アクションのアクセス権限。これはサービスレベルの API コールで、`Resource` 値として「\$1」を指定することに注意してください。
+ 任意のアプリケーションの情報を取得できる `kinesisanalytics:DescribeApplication` アクションのアクセス権限。

このポリシーをユーザーに追加します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kinesisanalytics:ListApplications"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "kinesisanalytics:DescribeApplication"
            ],
            "Resource": "arn:aws:kinesisanalytics:us-east-1:123456789012:application/*"
        }
    ]
}
```

------

 ユーザー認証情報を使用してコンソールにサインインし、これらのアクセス権限を検証します。

### ステップ 4: ユーザーに特定のアプリケーションの起動を許可する
<a name="console-permissions-start-app"></a>

ユーザーに既存の アプリケーションのどれかを実行できるようにする場合、次のポリシーをユーザーにアタッチします。このポリシーでは、`kinesisanalytics:StartApplication` アクションを実行するためのアクセス権限を付与します。アカウント ID、 AWS リージョン、アプリケーション名を指定してポリシーを更新する必要があります。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kinesisanalytics:StartApplication"
            ],
            "Resource": "arn:aws:kinesisanalytics:us-east-1:123456789012:application/application-name"
        }
    ]
}
```

------

### ステップ 5: ユーザーにアプリケーションの作成を許可する
<a name="console-permissions-grant-create-applications"></a>

ユーザーがアプリケーションを作成できるようにする場合、次のポリシーをユーザーにアタッチできます。ポリシーを更新し、 AWS リージョン、アカウント ID、およびユーザーが作成する特定のアプリケーション名、またはユーザーが任意のアプリケーション名を指定 (したがって複数のアプリケーションを作成) できるように「\$1」を指定する必要があります。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Stmt1473028104000",
            "Effect": "Allow",
            "Action": [
                "kinesisanalytics:CreateApplication"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kinesisanalytics:StartApplication",
                "kinesisanalytics:UpdateApplication",
                "kinesisanalytics:AddApplicationInput",
                "kinesisanalytics:AddApplicationOutput"
            ],
            "Resource": "arn:aws:kinesisanalytics:us-east-1:123456789012:application/application-name"
        }
    ]
}
```

------

### ステップ 6: アプリケーションが Lambda 事前処理を使用できるようにする
<a name="console-permissions-grant-lambda"></a>

アプリケーションで Lambda の事前処理を使用できるようにする場合、次のポリシーをロールアにアタッチします。

```
     {
       "Sid": "UseLambdaFunction",
       "Effect": "Allow",
       "Action": [
           "lambda:InvokeFunction",
           "lambda:GetFunctionConfiguration"
       ],
       "Resource": "<FunctionARN>"
   }
```