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