承認ルールは、RAM ユーザーが SAE でアプリケーションをデプロイまたはロールバックする前に、必須のレビュー工程を導入します。RAM ユーザーが変更を開始すると、指定された承認者が対応するまでリクエストが保留され、運用・保守(O&M)リスクを低減し、本番環境への変更適用を誰が行えるかを一元管理できます。
承認ルールが有効な主な適用シナリオ:
複数チーム環境:個別の RAM ユーザーが、コードレビューまたは変更管理レビューなしにアプリケーションをデプロイすることを防止します。
段階的リリースのガバナンス:フェーズドリリースまたはカナリアリリースが本番環境に到達する前に、承認を必須とします。
監査およびコンプライアンス対応:すべての変更リクエスト、承認判断、および拒否理由をトレース可能な記録として保持します。
仕組み
承認ルールの設定には、4 つの役割と固定されたシーケンスが必要です。
Alibaba Cloud アカウント所有者が、RAM ユーザーに IAM 操作
sae:*OperationApproval*を付与します(RAM ユーザーが既にAliyunSAEFullAccess権限を持っている場合は省略可)。Alibaba Cloud アカウント所有者または承認権限を持つ RAM ユーザーが、承認ルールを作成します。このルールでは、適用範囲(リージョン、名前空間、アプリケーション)、承認をバイパスできるユーザーのホワイトリスト、および 1 名以上の承認者を定義します。
ホワイトリストに含まれない RAM ユーザーがデプロイまたはロールバックを開始すると、変更は承認待ち状態で保留され、承認者が対応するまで進行しません。
承認者が内容を確認し、承認(その後 RAM ユーザーが手動でデプロイメントをトリガー)または拒否(変更は終了し、RAM ユーザーは拒否理由を確認可能)を行います。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
実行中の SAE アプリケーション。詳細については、「SAE アプリケーションのデプロイメント」をご参照ください。
SAE に少なくとも 1 つの連絡先を作成していること。承認者に指定できるのは連絡先のみです。詳細については、「連絡先の管理」をご参照ください。
ステップ 1:RAM ユーザーへの承認権限の付与
アカウントが Alibaba Cloud アカウントである場合、または RAM ユーザーが既に AliyunSAEFullAccess 権限を持っている場合は、このステップをスキップしてください。実施者:Alibaba Cloud アカウント所有者。
カスタム権限ポリシーの作成
RAM コンソールにログインします。左側のナビゲーションウィンドウで、権限管理 > ポリシー を選択し、ポリシーの作成 をクリックします。
ポリシーの作成 ページで、JSON タブをクリックし、以下のポリシーを貼り付けます。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "sae:*OperationApproval*" ], "Resource": [ "acs:sae:*:*:*" ] } ] }OK をクリックします。
ポリシーの作成 ダイアログボックスで、ポリシー名 および 説明 を入力し、OK をクリックします。

RAM ユーザーへのポリシーの付与
左側のナビゲーションウィンドウで、ID 管理 > ユーザー を選択し、対象の RAM ユーザー名をクリックします。
ユーザー詳細ページで、権限 タブをクリックします。個人 タブで、権限の付与 をクリックします。

権限の付与 パネルで、ポリシーの種類を カスタムポリシー に設定し、先ほど作成したポリシーを選択して、権限の付与 をクリックします。

権限付与後、ポリシーは RAM ユーザーの権限ページの 個人 タブに表示されます。
ステップ 2:承認ルールの作成
実施者:Alibaba Cloud アカウント所有者、または承認権限を持つ任意の RAM ユーザー。
SAE コンソールにログインします。左側のナビゲーションウィンドウで、エンタープライズ機能 > 権限管理 を選択します。
左側のナビゲーションウィンドウで、承認設定 をクリックし、承認設定の作成 をクリックします。
承認設定の作成 パネルで、以下の項目を構成し、OK をクリックします。承認範囲の設定:どのリソースおよび操作が承認を必要とするかを定義します。ホワイトリストの設定:承認を経ずにアプリケーションを管理できる RAM ユーザーを選択します。複数ユーザーの選択およびあいまい検索に対応しています。承認者の設定:承認者 のドロップダウンリストから 1 名以上を選択します。
リソース: リージョン、名前空間、アプリケーション でフィルター処理します。
すべてのリージョン:すべてのリージョンおよびすべての名前空間にわたるすべてのアプリケーションを対象とします。
特定のリージョン:名前空間およびアプリケーションによる追加フィルターを許可します。
すべての名前空間:選択したリージョン内のすべてのアプリケーションを対象とします。
特定の名前空間:1 つ以上のアプリケーションを選択できます。
操作タイプ:変更の公開 のみです。これは、アプリケーションのデプロイ および 以前のバージョンへのロールバック の 2 つの動作を含みます。
承認者は連絡先のみです。アカウントが一覧に表示されない場合は、[連絡先管理] をクリックして追加します。「連絡先管理」をご参照ください。Alibaba Cloud アカウントは、すべてのルールのデフォルト承認者です。これにより、承認通知を受信し、すべてのレコードを管理できます。アカウントの所有者の連絡先情報が登録されていない場合、所有者は通知を受信できませんが、承認は可能です。Alibaba Cloud アカウントは、すべての RAM ユーザーを承認者として追加できます。
ListUsers権限を持たない RAM ユーザーは、自身のみを連絡先として追加できます。ListUsers権限を持つと、他の RAM ユーザーも連絡先として追加できます。「RAM ユーザーへの権限付与」をご参照ください。


(任意)承認設定 ページの 操作 列で、既存のルールを編集または削除できます。
編集:編集 を 操作 列からクリックし、承認設定の変更 パネルを開いてパラメーターを修正します。
削除:削除 を 操作 列からクリックし、確認 をクリックします。
承認者の変更は、変更後に作成された記録にのみ影響します。例:Contact A および Contact B を承認者とする承認ルールが 1 か月間有効化されています。その期間中に 10 件の記録が生成され、うち 3 件が保留中です。Contact B を Contact C に置き換えた場合、新規に発生した 5 件の保留中の記録は Contact C に送信され、合計の保留中記録数は 8 件になります。Contact B は元の 3 件の記録へのアクセス権を維持し、Contact C は新規の 5 件のみを管理できます。

ステップ 3:RAM ユーザーによる変更の開始
実施者:ホワイトリストに含まれていない RAM ユーザー。
連絡先が設定されている場合、承認リクエストが承認または拒否されると、システムから通知が送信されます。詳しくは、「連絡先管理」をご参照ください。
RAM ユーザーとして SAE コンソールにログインします。左側のナビゲーションウィンドウで、アプリケーション > アプリケーション一覧 を選択します。対象のリージョンおよび名前空間を選択し、アプリケーション名をクリックします。

変更を開始します。
アプリケーションのデプロイ
基本情報 ページで、アプリケーションのデプロイ をクリックします。構成を変更し、ポリシーのリリースを選択します。
SAE では、フェーズドリリース および カナリアリリース(グレースケール) をサポートしています。詳細については、「単一バッチでのアプリケーションデプロイ」「バッチ単位でのアプリケーションデプロイ」「カナリアモードでのアプリケーションデプロイ」をご参照ください。
確認 をクリックします。
アプリケーションのロールバック
基本情報 ページで、以前のバージョンへのロールバック をクリックします。
以前のバージョンへのロールバック パネルで、対象の履歴バージョンを選択し、ポリシーのリリースを設定して、確認 をクリックします。詳細については、「アプリケーションを以前のバージョンにロールバック」をご参照ください。
デプロイリクエストを送信すると、アプリケーションのデプロイリクエスト ダイアログボックスが表示され、リクエストが開始されたことが確認できます。OK をクリックします。変更の詳細 の実行ステータスは 承認待ち となります。承認者が対応するまで、これ以上の操作はできません。
ロールバックの場合は、このダイアログボックスは表示されません。変更の詳細 から直接変更ステータスをご確認ください。
承認結果 実行ステータス 次に実施する操作 承認済み 承認済み アプリケーションのデプロイ をクリックしてデプロイメントをトリガーし、完了を待ちます。 拒否済み 実行終了 承認記録 で拒否理由をご確認ください。必要に応じて再送信してください。 
(任意)リクエストの追跡または管理を行うには、エンタープライズ機能 > 権限管理 > 承認記録 を選択し、私が開始した タブをクリックします。このタブでは、以下の操作が可能です。
リマインダーの送信:リマインダー を 操作 列からクリックし、OK をクリックします。
リクエストのキャンセル:キャンセル を 操作 列からクリックし、OK をクリックします。
アプリケーションの表示:名前空間:アプリケーション 列のアプリケーション名をクリックして、基本情報 ページを開きます。
拒否理由の表示:
アイコンにマウスを合わせます。

ステップ 4:承認リクエストのレビュー
実施者:承認者(Alibaba Cloud アカウントまたは承認権限を持つ RAM ユーザー)。
SAE コンソールにログインします。左側のナビゲーションウィンドウで、エンタープライズ機能 > 権限管理 を選択します。
承認記録 をクリックします。承認待ち タブで、RAM ユーザーからの保留中のリクエストを確認します。各リクエストについて、操作 列を使用して以下の操作を行います。
詳細の表示:アプリケーション変更に関する詳細情報を確認します。
同意:同意 をクリックし、OK をクリックしてリクエストを承認します。
拒否:拒否 をクリックし、拒否の確認 ダイアログボックスに拒否理由を入力して、OK をクリックします。
転送:転送 をクリックし、転送の確認 ダイアログボックスで新しい承認者を選択して、OK をクリックします。
複数のリクエストを一度に処理するには、対象の記録横のチェックボックスを選択し、一括承認、一括拒否、または 一括転送 を使用します。

(任意)処理済み タブをクリックして、これまでに承認または拒否されたリクエストを確認できます。名前空間:アプリケーション 列のアプリケーション名をクリックして、基本情報 ページを開きます。

次のステップ
連絡先管理: 連絡先を追加または更新し、承認者および通知の受信者として設定します。
アプリケーションを以前のバージョンにロールバックする:承認ワークフローにおけるロールバックの仕組みを学習します。