Realtime Compute for Apache Flink コンソールにアクセスし、ワークスペースの表示、購入、削除などの操作を実行するには、RAM ユーザーおよび RAM ロールに必要な権限が付与されている必要があります。Flink ワークスペースを所有する Alibaba Cloud アカウントの管理者は、RAM コンソールでポリシーをアタッチすることでアクセスを許可します。
本トピックの対象読者
Resource Access Management (RAM) の使用方法は、お客様のロールによって異なります。
-
RAM ユーザー — Flink コンソールへのアクセス時や操作の実行時に権限エラーが発生した場合は、Alibaba Cloud アカウントの管理者に連絡し、関連するポリシーの付与を依頼してください。必要な権限を特定するには、「権限付与のシナリオ」をご参照ください。
-
Alibaba Cloud アカウント管理者 — ユーザーが必要とするアクセス権限を決定し、「権限付与の手順」に従って適切なポリシーをアタッチしてください。
-
ポリシー作成者 — 「Realtime Compute for Apache Flink の権限ポリシー」および「関連プロダクトの権限操作」のアクションを組み合わせて、カスタムポリシーを作成してください。
権限付与のシナリオ
| シナリオ | 説明 |
|---|---|
| Realtime Compute for Apache Flink コンソールにアクセスできない | ワークスペース情報が一切表示されず、「現在のアカウントには権限がありません」というエラーが表示されます。エラーメッセージには、必要なアクション記述子 stream:ListRegionWithClusterQuantity とリソース記述子 acs:stream:*:<AccountID>:vvpinstance/* が、エラーコード 903065 とともに表示されます。これは、Flink コンソールにアクセスする権限がないことを意味します。ワークスペースを購入した Alibaba Cloud アカウントの管理者に連絡し、ご利用のアカウントに少なくとも読み取り専用権限 (AliyunStreamReadOnlyAccess) を付与するよう依頼してください。「権限付与の手順」をご参照ください。権限が付与された後、ページを再入力またはリフレッシュしてください。 |
| 特定の操作を実行できない | コンソールに「現在のアカウントには権限がありません」というダイアログボックスが表示され、不足しているアクション記述子 (例:stream:ModifyVvpInstanceSpec) とリソース記述子が、エラーコード 401 とともに表示されます。[エラー詳細] を展開すると、リクエスト ID を確認できます。これは、現在のアカウントにその操作の権限がないことを意味します。Alibaba Cloud アカウントの管理者に連絡し、要件に基づいてカスタムポリシーを調整してもらってください。「権限付与の手順」をご参照ください。例えば、サブスクリプションワークスペースにリソースを割り当てる必要がある場合、ご利用のアカウントには対応するリソース割り当て権限が付与されている必要があります。 |
ポリシーの種類
アクセスポリシーは、ポリシーの構文と構造を用いて一連の権限を定義します。権限を付与するリソース、許可される操作、および権限付与の条件を指定します。RAM コンソールは、2 種類のアクセスポリシーをサポートしています。
-
システムポリシー:Alibaba Cloud によって作成および維持されます。これらのポリシーは使用できますが、変更はできません。以下の表は、Flink がサポートするシステムポリシーの一覧です。
アクセスポリシー 名前 説明 Realtime Compute for Apache Flink へのフルアクセス AliyunStreamFullAccess 「カスタムポリシー」のすべての権限が含まれます。 Realtime Compute for Apache Flink への読み取り専用アクセス AliyunStreamReadOnlyAccess HasStreamDefaultRole権限と、「Realtime Compute for Apache Flink 権限ポリシー」内のDescribeQueryCheckListGetSearchユーザーセンター (BSS) での注文の表示と支払い AliyunBSSOrderAccess ユーザーセンターで注文を表示し、支払いを行う権限を付与します。 ユーザーセンター (BSS) での注文の登録解除 AliyunBSSRefundAccess ユーザーセンターで注文の登録を解除する権限を付与します。 -
カスタムポリシー:お客様が作成、更新、削除します。Flink がサポートするカスタムポリシーと、その作成方法の詳細については、「Realtime Compute for Apache Flink の権限ポリシー」および「(オプション) ステップ 1:カスタムポリシーの作成」をご参照ください。
前提条件
開始する前に、以下を確認してください。
-
権限付与に関する説明を確認済みであること
権限付与の手順
(オプション) ステップ 1:カスタムポリシーの作成
AliyunStreamFullAccess システムポリシーを使用する場合は、このステップをスキップしてください。
Realtime Compute for Apache Flink の読み取り専用権限セットから始め、必要に応じて、よりきめ細かなアクセス制御ポイントを追加します。これには、Realtime Compute for Apache Flink がサポートするカスタムポリシーと関連プロダクトの権限操作が含まれます。
以下のポリシーは、Realtime Compute for Apache Flink の読み取り専用権限を付与するもので、AliyunStreamReadOnlyAccess システムポリシーと同等です。
{
"Version": "1",
"Statement": [
{
"Action": [
"stream:Describe*",
"stream:Query*",
"stream:Check*",
"stream:List*",
"stream:Get*",
"stream:Search*",
"stream:HasStreamDefaultRole"
],
"Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId}/vvpnamespace/{#namespace}",
"Effect": "Allow"
}
]
}
プレースホルダーを実際の値に置き換えてください。
| プレースホルダー | 説明 |
|---|---|
{#regionId} |
送信先 Flink ワークスペースが存在するリージョン |
{#accountId} |
Alibaba Cloud アカウントの UID |
{#instanceId} |
送信先 Realtime Compute for Apache Flink 注文インスタンスの ID |
{#namespace} |
送信先プロジェクトの名前 |
アクセスポリシーでは、Action は操作を定義し、Resource は対象オブジェクトを定義し、Effect は操作が許可されるか拒否されるかを定義します。ポリシーの構文の詳細については、「ポリシー要素」および「ポリシーの構造と構文」をご参照ください。
詳細な手順と例については、「カスタムポリシーの作成」および「カスタムポリシーの例」をご参照ください。
ステップ 2:ポリシーをメンバーにアタッチ
アクセスポリシーを RAM ユーザーまたは RAM ロールにアタッチして、指定された権限を付与します。以下の手順は、RAM ユーザーに権限を付与する方法を示しています。RAM ロールの手順も同様です。詳細については、「RAM ロールの管理」をご参照ください。
-
RAM 管理者として RAM コンソールにログインします。
-
左側のナビゲーションウィンドウで、[アイデンティティ] > [ユーザー] を選択します。
-
[ユーザー] ページで、目的の RAM ユーザーを見つけ、[操作] 列の [権限の追加] をクリックします。一度に複数の RAM ユーザーに同じ権限を付与するには、それらを選択し、ページ下部の [権限の追加] をクリックします。

-
[権限の追加] パネルで、以下のパラメーターを設定します。
パラメーター 説明 スコープ アプリケーションの範囲を選択します:[Alibaba Cloud アカウント] (権限は現在のアカウント内で有効) または [特定のリソースグループ] (権限は指定されたリソースグループ内で有効)。 プリンシパル 権限を付与する RAM ユーザー。システムは現在の RAM ユーザーを事前に選択します。必要に応じて他の RAM ユーザーを追加します。 アクセスポリシー システムポリシーまたは作成したカスタムポリシーを選択します。 
-
[新しい権限付与の確認] をクリックします。
-
[閉じる] をクリックします。
ステップ 3:権限付与後にコンソールにログイン
権限付与が完了すると、RAM ユーザーまたは RAM ロールは Realtime Compute for Apache Flink コンソールにログインするか、現在のページをリフレッシュできます。
| ログインタイプ | ログイン方法 | リファレンス |
|---|---|---|
| Alibaba Cloud RAM ユーザー | RAM ユーザーとしてログイン | RAM ユーザーとして Alibaba Cloud 管理コンソールにログイン |
| Alibaba Cloud RAM ロール | アカウント A の RAM ユーザーがアカウント A のロールを偽装する | RAM ロールの引き受け |
| Alibaba Cloud RAM ロール | アカウント B の RAM ユーザーがアカウント A のロールを偽装する | Alibaba Cloud アカウント間でのリソースへのアクセス |
| リソースディレクトリのメンバー | 管理アカウントの RAM ユーザーがメンバーの RAM ロールを偽装する | RAM ロールを偽装して Alibaba Cloud コンソールにログイン |
| リソースディレクトリのメンバー | メンバーの RAM ユーザーとしてログイン | RAM ユーザーとして Alibaba Cloud 管理コンソールにサインイン |
| ルートユーザー (非推奨) | Alibaba Cloud アカウントとしてログイン | ルートユーザーとして Alibaba Cloud 管理コンソールにログイン |
| CloudSSO ユーザー | RAM ロールを引き受けてログインする | CloudSSO を使用して複数のエンタープライズアカウントの ID と権限を一元管理 |
| CloudSSO ユーザー | RAM ユーザーとしてログイン | — |
カスタムポリシーの例
以下の例はすべて同じパターンに従います。まず Realtime Compute for Apache Flink の読み取り専用権限から始め、次にタスクに必要な特定のアクションを追加します。
例 1:RAM ユーザーがサブスクリプションワークスペースをアクティベートする
例 2:RAM ユーザーがサブスクリプションワークスペースをアクティベートする (AliyunStreamFullAccess がすでにアタッチされている場合)
例 3:RAM ユーザーがサブスクリプションワークスペースをリリースする
例 4:RAM ユーザーが従量課金ワークスペースをリリースする
例 5:RAM ユーザーがプロジェクトにリソースを割り当てる
カスタムポリシー
Realtime Compute for Apache Flink の権限ポリシー
プロジェクトの権限を設定する前に、まず DescribeVvpInstances 権限を設定してください。これがないと、ユーザーがワークスペースを表示しようとするときに権限エラーが発生します。
Flink ワークスペース
{
"Version": "1",
"Statement": [
{
"Action": [
"stream:CreateVvpInstance",
"stream:DescribeVvpInstances",
"stream:DeleteVvpInstance",
"stream:RenewVvpInstance",
"stream:ModifyVvpPrepayInstanceSpec",
"stream:ModifyVvpInstanceSpec",
"stream:ConvertVvpInstance",
"stream:QueryCreateVvpInstance",
"stream:QueryRenewVvpInstance",
"stream:QueryModifyVvpPrepayInstanceSpec",
"stream:QueryConvertVvpInstance"
],
"Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#InstanceId}",
"Effect": "Allow"
}
]
}
| アクション | 説明 |
|---|---|
CreateVvpInstance |
Realtime Compute for Apache Flink ワークスペースを購入します。 |
DescribeVvpInstances |
ワークスペースを表示します。 |
DeleteVvpInstance |
Flink ワークスペースをリリースします。 |
RenewVvpInstance |
サブスクリプションワークスペースを更新します。 |
ModifyVvpPrepayInstanceSpec |
サブスクリプションワークスペースをスケーリングします。 |
ModifyVvpInstanceSpec |
従量課金ワークスペースのクォータを調整します。 |
ConvertVvpInstance |
ワークスペースの課金方法を変更します。 |
QueryCreateVvpInstance |
ワークスペース作成の価格をクエリします。 |
QueryRenewVvpInstance |
ワークスペース更新の価格をクエリします。 |
QueryModifyVvpPrepayInstanceSpec |
ワークスペーススケーリングの価格をクエリします。 |
QueryConvertVvpInstance |
課金方法を従量課金からサブスクリプションに変更する際の価格をクエリします。 |
ワークスペースの購入と表示については、"Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId}"を"Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/*"に変更してください。
Flink プロジェクト
{
"Version": "1",
"Statement": [
{
"Action": [
"stream:CreateVvpNamespace",
"stream:DeleteVvpNamespace",
"stream:ModifyVvpPrepayNamespaceSpec",
"stream:ModifyVvpNamespaceSpec",
"stream:DescribeVvpNamespaces"
],
"Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId}/vvpnamespace/{#namespace}",
"Effect": "Allow"
}
]
}
| アクション | 説明 |
|---|---|
CreateVvpNamespace |
プロジェクトを作成します。 |
DeleteVvpNamespace |
プロジェクトを削除します。 |
ModifyVvpPrepayNamespaceSpec |
サブスクリプションプロジェクトのリソースを変更します。 |
ModifyVvpNamespaceSpec |
従量課金プロジェクトのリソースを変更します。 |
DescribeVvpNamespaces |
プロジェクトのリストを表示します。このポリシーを設定した後、送信先ワークスペース ID の左側にある展開アイコンをクリックして、ワークスペース内のプロジェクトのリストを表示します。送信先プロジェクトの開発コンソールにアクセスするには、そのプロジェクトでジョブを開発する権限も必要です。詳細については、「開発コンソールの権限付与」をご参照ください。 |
プロジェクトの作成と表示については、"Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId}/vvpnamespace/{#namespace}"を"Resource": "acs:stream:{#regionId}:{#accountId}:vvpinstance/{#instanceId}/vvpnamespace/*"に変更してください。
関連プロダクトの権限操作
ECS
OSS
Application Real-Time Monitoring Service (ARMS)
VPC
RAM
TAG
Data Lake Formation (DLF)
次のステップ
-
複数のユーザーが Flink プロジェクトを共有し、Realtime Compute for Apache Flink 開発コンソールでジョブ開発や O&M などの操作を実行できるようにするには、プロジェクトに権限を付与します。「開発コンソールの権限付与」をご参照ください。
-
サービスのアクティベーション中に [RAM で権限付与] をクリックした後、RAM コンソールに移動できないのはなぜですか?
-
Realtime Compute for Apache Flink コンソールにログインすると、現在のアカウントに必要な権限がないというメッセージが表示されるのはなぜですか?
-
AliyunStreamFullAccess ポリシーをアタッチした後、RAM ユーザーがジョブを表示できないのはなぜですか?
-
誤ってロールを削除したり、権限付与ポリシーを変更したりして、Realtime Compute for Apache Flink サービスが利用できなくなった場合はどうすればよいですか?