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 コンソールにアクセスできない | ワークスペースに関する情報を一切表示できず、 Current account lacks permissions エラーが表示されます。エラーメッセージには、必要なアクション記述子 stream:ListRegionWithClusterQuantity とリソース記述子 acs:stream:*:<AccountID>:vvpinstance/* が、エラーコード 903065 とともに表示されます。これは、Flink コンソールにアクセスする権限がないことを示します。ワークスペースを購入した Alibaba Cloud アカウントの管理者に連絡し、アカウントに少なくとも読み取り専用権限 (AliyunStreamReadOnlyAccess) を付与するよう依頼してください。権限付与の手順をご参照ください。権限付与後、ページを再度開くか更新してください。 |
| 特定の操作を実行できない | コンソールに Current account lacks permissions というダイアログボックスが表示されます。このダイアログボックスには、不足しているアクション記述子 (例:stream:ModifyVvpInstanceSpec) とリソース記述子が、エラーコード 401 とともに表示されます。[Error Details] を展開すると、リクエスト ID を確認できます。これは、現在のアカウントに当該操作を実行する権限がないことを示します。Alibaba Cloud アカウントの管理者に連絡し、要件に基づいてカスタムポリシーを調整するよう依頼してください。権限付与の手順をご参照ください。たとえば、サブスクリプションワークスペースに対してリソースを割り当てる必要がある場合、アカウントには対応するリソース割り当て権限を付与する必要があります。 |
ポリシータイプ
アクセスポリシーは、ポリシー構文と構造を使用してアクセス許可のセットを定義します。許可されたリソース、アクション、条件を指定します。RAM コンソールでは、2 種類のアクセスポリシーがサポートされています。
-
[システムポリシー]:Alibaba Cloud によって作成および管理されます。これらのポリシーは使用できますが、変更はできません。次の表に、Flink がサポートするシステムポリシーを示します。
アクセスポリシー 名前 説明 Realtime Compute for Apache Flink へのフルアクセス AliyunStreamFullAccess カスタムポリシー のすべてのアクセス許可が含まれます。 Realtime Compute for Apache Flink への読み取り専用アクセス AliyunStreamReadOnlyAccess Realtime Compute for Apache Flinkアクセス許可ポリシー には、 HasStreamDefaultRoleアクセス許可と、Describe、Query、Check、List、Get、Searchで始まるすべてのアクセス許可が含まれます。ユーザーセンター (BSS) での注文の表示および支払い AliyunBSSOrderAccess ユーザーセンターで注文を表示および支払いするためのアクセス許可を付与します。 ユーザーセンター (BSS) での注文のサブスクリプション解除 AliyunBSSRefundAccess ユーザーセンターで注文のサブスクリプション解除を行うためのアクセス許可を付与します。 -
[カスタムポリシー]:お客様が作成、更新、削除します。Flink がサポートするカスタムポリシーの詳細と作成方法については、「Realtime Compute for Apache Flinkアクセス許可ポリシー」および「(Optional) Step 1: Create a custom policy」をご参照ください。
前提条件
作業を開始する前に、以下を確認してください。
-
権限付与の手順を確認済みであること。
権限付与の手順
(オプション) ステップ 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 ユーザーを追加することもできます。 [アクセスポリシー] システムポリシーまたは作成したカスタムポリシーを選択します。 
-
[OK] をクリックします。
-
[閉じる] をクリックします。
ステップ 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 を使用した複数エンタープライズアカウント間でのアイデンティティと権限の一元管理 |
| 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
タグ
Data Lake Formation (DLF)
次のステップ
-
複数のユーザーが Flink プロジェクトを共有し、Realtime Compute for Apache Flink の開発コンソールでジョブ開発や運用保守などの操作を実行できるようにするには、プロジェクトに権限を付与します。 詳細については、「開発コンソールの権限付与」をご参照ください。
-
サービスの有効化中に RAM で [Authorize] をクリックした後、RAM コンソールに移動できないのはなぜですか。
-
AliyunStreamFullAccess ポリシーがアタッチされた後、RAM ユーザーがジョブを表示できないのはなぜですか。
-
誤ってロールを削除したり、権限付与ポリシーを変更したりして Realtime Compute for Apache Flink サービスが利用できなくなった場合はどうすればよいですか。