Amazon Managed Service for Apache FlinkはどのようにIAMと協力しますか。 - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink は、以前は Amazon Kinesis Data Analytics for Apache Flink と呼ばれていました。

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

Amazon Managed Service for Apache FlinkはどのようにIAMと協力しますか。

IAM を使用してManaged Service for Apache Flinkへのアクセスを管理する前に、Managed Service for Apache Flinkで利用できる IAM の機能について学習します。

Amazon Managed Service for Apache Flink で使用できる IAM の機能
IAM 機能 Managed Service for Apache Flink

アイデンティティベースポリシー

はい

リソースベースのポリシー

いいえ

ポリシーアクション

はい

ポリシーリソース

あり

ポリシー条件キー

いいえ

ACL

いいえ

ABAC (ポリシー内のタグ)

あり

一時的な認証情報

はい

プリンシパル権限

はい

サービスロール

いいえ

サービスリンクロール

いいえ

Managed Service for Apache Flink およびその他の AWS のサービスがほとんどの IAM 機能と連携する方法の概要を把握するには、「IAM ユーザーガイド」のAWS 「IAM と連携する のサービス」を参照してください。

Managed Service for Apache Flinkのアイデンティティベースのポリシー

アイデンティティベースのポリシーのサポート: あり

アイデンティティベースポリシーは、IAM ユーザーグループ、ユーザーのグループ、ロールなど、アイデンティティにアタッチできる JSON 許可ポリシードキュメントです。これらのポリシーは、ユーザーとロールが実行できるアクション、リソース、および条件をコントロールします。ID ベースのポリシーの作成方法については、「IAM ユーザーガイド」の「カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する」を参照してください。

IAM アイデンティティベースのポリシーでは、許可または拒否するアクションとリソース、およびアクションを許可または拒否する条件を指定できます。プリンシパルは、それが添付されているユーザーまたはロールに適用されるため、アイデンティティベースのポリシーでは指定できません。JSON ポリシーで使用できるすべての要素について学ぶには、「IAM ユーザーガイド」の「IAM JSON ポリシーの要素のリファレンス」を参照してください。

Managed Service for Apache Flink のアイデンティティベースのポリシーの例

Managed Service for Apache Flink ID ベースのポリシーの例は、「Amazon Managed Service for Apache Flink のアイデンティティベースのポリシーの例」でご確認ください。

Managed Service for Apache Flink 内のリソースベースのポリシー

Amazon Managed Service for Apache Flink では、現在、リソースベースのアクセスコントロールがサポートされています。

Managed Service for Apache Flink アプリケーションからのリソースへのクロスアカウントアクセス

Managed Service for Apache Flink アプリケーションが Amazon Kinesis ストリームや Amazon S3 バケットなどのリソースにアクセスできるようにするには、リソースのアカウントに IAM ロールを作成する必要があります。ロールには、リソースにアクセスするための十分なアクセス許可が必要です。また、Managed Service for Apache Flink アプリケーションのアカウント全体がロールを引き受けることを許可する信頼ポリシーを追加する必要があります。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::Application-account-ID:root" }, "Action": "sts:AssumeRole", "Condition": {} } ] }

さらに、Managed Service for Apache Flink アプリケーションに割り当てられた IAM ロールは、リソースアカウントのロールの引き受けを許可する必要があります。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAssumingRoleInStreamAccount", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::Stream-account-ID:role/Role-to-assume" } ] }

詳細については、「IAM ユーザーガイド」の「IAM でのクロスアカウントリソースアクセス」を参照してください。

Managed Service for Apache Flinkのポリシーアクション

ポリシーアクションのサポート:あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。

JSON ポリシーの Action 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。ポリシーアクションの名前は通常、関連する AWS API オペレーションと同じです。一致する API オペレーションのない許可のみのアクションなど、いくつかの例外があります。また、ポリシーに複数のアクションが必要なオペレーションもあります。これらの追加アクションは依存アクションと呼ばれます。

このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。

Managed Service for Apache Flink アクションのリストを確認するには、「サービス認可リファレンス」の「Amazon Managed Service for Apache Flink で定義されるアクション」を参照してください。

Managed Service for Apache Flink のポリシーアクションは、アクションの前に、プレフィックス を使用します。

Kinesis Analytics

単一のステートメントで複数のアクションを指定するには、アクションをカンマで区切ります。

"Action": [ "Kinesis Analytics:action1", "Kinesis Analytics:action2" ]

ワイルドカード (*) を使用して複数アクションを指定できます。例えば、Describe という単語で始まるすべてのアクションを指定するには次のアクションを含めます。

"Action": "Kinesis Analytics:Describe*"

Managed Service for Apache Flink ID ベースのポリシーの例は、「Amazon Managed Service for Apache Flink のアイデンティティベースのポリシーの例」でご確認ください。

Amazon Managed Service for Apache Flink サポートの新しいリソース

ポリシーリソースのサポート: あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルが、どのリソースに対してどのような条件下でアクションを実行できるかということです。

Resource JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ステートメントにはResource または NotResource 要素を含める必要があります。ベストプラクティスとして、アマゾン リソースネーム (ARN) を使用してリソースを指定します。これは、リソースレベルの許可と呼ばれる特定のリソースタイプをサポートするアクションに対して実行できます。

オペレーションのリスト化など、リソースレベルの権限をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (*) を使用します。

"Resource": "*"

Managed Service for Apache Flink リソースタイプとその ARNs「Amazon Managed Service for Apache Flink で定義されるリソース」を参照してください。 各リソースの ARN を指定できるアクションについては、「Amazon Managed Service for Apache Flink によって定義されるアクション」を参照してください。

Managed Service for Apache Flink ID ベースのポリシーの例は、「Amazon Managed Service for Apache Flink のアイデンティティベースのポリシーの例」でご確認ください。

Managed Service for Apache Flinkのポリシー条件キー

サービス固有のポリシー条件キーのサポート: あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルが、どのリソースに対してどのような条件下でアクションを実行できるかということです。

Condition 要素 (または Condition ブロック) を使用すると、ステートメントが有効な条件を指定できます。Condition 要素はオプションです。イコールや未満などの 条件演算子 を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。

1 つのステートメントに複数の Condition 要素を指定する場合、または 1 つの Condition 要素に複数のキーを指定する場合、 AWS では AND 論理演算子を使用してそれらを評価します。1 つの条件キーに複数の値を指定すると、 は論理ORオペレーションを使用して条件 AWS を評価します。ステートメントの権限が付与される前にすべての条件が満たされる必要があります。

条件を指定する際にプレースホルダー変数も使用できます。例えば IAM ユーザーに、IAM ユーザー名がタグ付けされている場合のみリソースにアクセスできる権限を付与することができます。詳細については、「IAM ユーザーガイド」の「‬IAM ポリシーの要素: 変数およびタグ‭」‬を参照してください。

AWS は、グローバル条件キーとサービス固有の条件キーをサポートしています。すべての AWS グローバル条件キーを確認するには、「IAM ユーザーガイド」のAWS 「 グローバル条件コンテキストキー」を参照してください。

Managed Service for Apache Flink の条件キーのリストを確認するには、「サービス認可リファレンス」の「Amazon Managed Service for Apache Flink の条件キー」を参照してください。条件キーを使用できるアクションとリソースについては、「Amazon Managed Service for Apache Flink によって定義されたアクション」を参照してください。

Managed Service for Apache Flink ID ベースのポリシーの例は、「Amazon Managed Service for Apache Flink のアイデンティティベースのポリシーの例」でご確認ください。

Managed Service for Apache Flinでのアクセスコントロールリスト (ACLs)

ACL のサポート: なし

アクセスコントロールリスト (ACL) は、どのプリンシパル (アカウントメンバー、ユーザー、またはロール) がリソースにアクセスするための許可を持つかを制御します。ACL はリソースベースのポリシーに似ていますが、JSON ポリシードキュメント形式は使用しません。

Managed Service for Apache Flink の属性ベースのアクセス制御 (ABAC)

ABAC (ポリシー内のタグ) のサポート: あり

属性ベースのアクセス制御 (ABAC) は、属性に基づいてアクセス許可を定義する認可戦略です。では AWS、これらの属性はタグと呼ばれます。タグは、IAM エンティティ (ユーザーまたはロール) および多くの AWS リソースにアタッチできます。エンティティとリソースのタグ付けは、ABAC の最初の手順です。その後、プリンシパルのタグがアクセスしようとしているリソースのタグと一致した場合にオペレーションを許可するように ABAC ポリシーをします。

ABAC は、急成長する環境やポリシー管理が煩雑になる状況で役立ちます。

タグに基づいてアクセスを管理するには、aws:ResourceTag/key-nameaws:RequestTag/key-name、または aws:TagKeys の条件キーを使用して、ポリシーの 条件要素でタグ情報を提供します。

サービスがすべてのリソースタイプに対して 3 つの条件キーすべてをサポートする場合、そのサービスの値はありです。サービスが一部のリソースタイプに対してのみ 3 つの条件キーのすべてをサポートする場合、値は「部分的」になります。

ABAC の詳細については、「IAM ユーザーガイド」の「ABAC 認可でアクセス許可を定義する」を参照してください。ABAC をセットアップする手順を説明するチュートリアルについては、「IAM ユーザーガイド」の「属性ベースのアクセスコントロール (ABAC) を使用する」を参照してください。

Managed Service for Apache Flink での一時的な認証情報の使用

一時的な認証情報のサポート: あり

一部の AWS のサービス は、一時的な認証情報を使用してサインインすると機能しません。一時的な認証情報 AWS のサービス を使用する機能などの詳細については、AWS のサービス 「IAM ユーザーガイド」の「IAM と連携する 」を参照してください。

ユーザー名とパスワード以外の AWS Management Console 方法で にサインインする場合、一時的な認証情報を使用します。例えば、会社のシングルサインオン (SSO) リンク AWS を使用して にアクセスすると、そのプロセスによって一時的な認証情報が自動的に作成されます。また、ユーザーとしてコンソールにサインインしてからロールを切り替える場合も、一時的な認証情報が自動的に作成されます。ロールの切り替えに関する詳細については、「IAM ユーザーガイド」の「ユーザーから IAM ロールに切り替える (コンソール)」を参照してください。

一時的な認証情報は、 AWS CLI または AWS API を使用して手動で作成できます。その後、これらの一時的な認証情報を使用してアクセスすることができます AWS。長期的なアクセスキーを使用する代わりに、一時的な認証情報 AWS を動的に生成することをお勧めします。詳細については、「IAM の一時的セキュリティ認証情報」を参照してください。

Managed Service for Apache Flink のクロスサービスプリンシパル許可

転送アクセスセッション (FAS) のサポート: あり

IAM ユーザーまたはロールを使用して でアクションを実行すると AWS、プリンシパルと見なされます。一部のサービスを使用する際に、アクションを実行することで、別のサービスの別のアクションがトリガーされることがあります。FAS は、 を呼び出すプリンシパルのアクセス許可と AWS のサービス、ダウンストリームサービス AWS のサービス へのリクエストのリクエストリクエストを組み合わせて使用します。FAS リクエストは、サービスが他の AWS のサービス またはリソースとのやり取りを完了する必要があるリクエストを受け取った場合にのみ行われます。この場合、両方のアクションを実行するためのアクセス許可が必要です。FAS リクエストを行う際のポリシーの詳細については、「転送アクセスセッション」を参照してください。

Managed Service for Apache Flinkのサービスロール

サービスロールのサポート: あり

サービスロールとは、サービスがユーザーに代わってアクションを実行するために引き受ける IAM ロールです。IAM 管理者は、IAM 内からサービスロールを作成、変更、削除できます。詳細については、「IAM ユーザーガイド」の「AWS のサービスに許可を委任するロールを作成する」を参照してください。

警告

サービスロールの許可を変更すると、 Managed Service for Apache Flinkの機能が破損する可能性があります。Managed Service for Apache Flink が指示する場合以外は、サービスロールを編集しないでください。

Managed Service for Apache Flinkのサービスにリンクされたロール

サービスリンクロールのサポート: あり

サービスにリンクされたロールは、 にリンクされたサービスロールの一種です AWS のサービス。サービスは、ユーザーに代わってアクションを実行するロールを引き受けることができます。サービスにリンクされたロールは に表示され AWS アカウント 、 サービスによって所有されます。IAM 管理者は、サービスにリンクされたロールのアクセス許可を表示できますが、編集することはできません。

サービスにリンクされたロールの作成または管理の詳細については、「IAM と提携するAWS のサービス」を参照してください。表の「サービスリンクロール」列に Yes と記載されたサービスを見つけます。サービスにリンクされたロールに関するドキュメントをサービスで表示するには、[はい] リンクを選択します。