CycleCloud サーバーのセットアップ時に "無効な Azure 資格情報が提供されました" エラー
この記事では、CycleCloud サーバーを設定するときに発生する可能性がある "無効な Azure 資格情報が提供される" エラーを解決する方法について説明します。
背景
CycleCloud を設定するときは、アクセス許可の管理に サービス プリンシパル または マネージド ID を 使用できます。 どちらのシナリオでも、サブスクリプションの共同作成者ロールを割り当てる必要があります。 共同作成者ロールは、サービス プリンシパルまたはマネージド ID が、ストレージ アカウントの作成や仮想マシン (VM) の作成などのサブスクリプションアクションを実行することを承認するために必要です。
現象
サービス プリンシパルまたはマネージド ID と共に CycleCloud サーバーを設定しようとすると、次のエラー メッセージが表示されます。
無効な Azure 資格情報が指定されました: オブジェクト ID 'application-guid' のクライアント '<tenant-guid>>' には、スコープ '</subscriptions</subscription-guid>' に対してアクション 'Microsoft.Storage/storageAccounts/read' を実行する承認がありません。またはスコープが無効です。 最近アクセスが許可された場合は、資格情報を更新してください。
原因
ロールがサービス プリンシパルまたはマネージド ID に正しく割り当てられません。
注:
共同作成者ロールは、サブスクリプション内の CycleCloud リソース (VM、ネットワーク、ストレージなど) の管理に十分なアクセス許可を含む最も簡単なオプションです。 ただし、共同作成者ロールの特権レベルは、CycleCloud が必要とするよりも高くなります。 そのため、より複雑なシナリオでカスタム ロールを使用できます。 カスタム ロールの使用を検討している場合は、 Azure ロールの定義と特定のアクションを詳しく確認することをお勧めします。
サービス プリンシパルのソリューション
サービス プリンシパルのセットアップ
最初の CycleCloud セットアップ中に、「サービス プリンシパルの使用」の手順に従って サービス プリンシパルを作成します。 CLI コマンドを使用して、サービス プリンシパルを作成し、サブスクリプションの共同作成者ロールを割り当てます。
サブスクリプションのアクセス許可を確認する
- Azure portalにログインし、[サブスクリプション] を検索します。
- CycleCloud に使用するサブスクリプションを見つけます (複数のサブスクリプションが一覧表示されている場合)。
- [Access Control (IAM)] を選択し、[ロールの割り当て] タブを選択し、共同作成者ロールの一覧を見つけます。
- サービス プリンシパル (CycleCLoud をデプロイしているユーザーではない) が 共同作成者 ロールに存在しないことを確認します。
複数のユーザーとテナントが関係するシナリオでは、サービス プリンシパルが見つからない可能性が最も高くなります。 この状況は、新しいサービス プリンシパルを作成するのではなく、CycleCloud 開発に既存のサービス プリンシパルを使用しようとしている場合にも考えられます。
ロールの割り当てを追加する
前提条件
ロールの割り当てを追加するには、ユーザー アクセス管理者や所有者など、サブスクリプションの Microsoft.Authorization/roleAssignments/write アクセス許可が必要です。 既定では、書き込みアクセス許可は共同作成者に付与されません。
CycleCloud 開発に使用されているサービス プリンシパルに共同作成者ロールを追加するには、「Azure portalを使用して Azure ロールを割り当てる」の手順に従います。
マネージド ID のソリューション
マネージド ID のセットアップ
マネージド ID を設定するときは、「Azure portalを使用してマネージド ID を構成する」の説明に従って、CycleCloud VM の作成中または後にマネージド ID を有効にします。
マネージド ID を有効にした後、共同作成者サブスクリプション ロールをマネージド ID に割り当てる必要があります。
サブスクリプションに共同作成者ロールを追加するには、次の手順に従います。
- Azure portalにログインし、CycleCloud サーバー VM を見つけます。
- 左側のパネルで、[設定ID] を選択します>。
- [Azure ロールの割り当て] [ロールの>割り当ての追加] を選択し、メニューの [サブスクリプションと共同作成者] を選択します。
- 新しい割り当てが作成されるまでに 1 ~ 2 分かかる場合があります。 作成した後、CycleCloud で資格情報を確認してください。
お問い合わせはこちらから
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。